[wxPython] pop up menu behavior

i suspect this is a wxwindows, or even a gtk question, but
thought i'd check here just in case. i find the behavior
of the popup menus annoying. the style i prefer is for a
menu to popup on mouse press, and act on release. since i
arrange for the menu to popup positioned so that the last
selection made is already selected, this means i can just
click repeatedly on, say, a "find" menu entry to walk through
all occurrences of a string.

what happens instead is that i click on a mouse button, the
menu pops up. i release the button, menu stays up. i then click
again, and the action is performed. is there any way to fix this?

···

--
Garry Hodgson sometimes we ride on your horses
Senior Hacker sometimes we walk alone
Software Innovation Services sometimes the songs that we hear
AT&T Labs are just songs of our own
garry@sage.att.com

i suspect this is a wxwindows, or even a gtk question, but
thought i'd check here just in case. i find the behavior
of the popup menus annoying. the style i prefer is for a
menu to popup on mouse press, and act on release.

Which event are you catching to call PopupMenu from? I just tried it from
an EVT_RIGHT_DOWN handler and it behaves as you desire, selecting the menu
item when the button is released. This was on wxMSW though and I wouldn't
be suprised if it behaved differently on gtk.

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

Robin Dunn wrote:

>
> i suspect this is a wxwindows, or even a gtk question, but
> thought i'd check here just in case. i find the behavior
> of the popup menus annoying. the style i prefer is for a
> menu to popup on mouse press, and act on release.

Which event are you catching to call PopupMenu from? I just tried it from
an EVT_RIGHT_DOWN handler and it behaves as you desire, selecting the menu
item when the button is released. This was on wxMSW though and I wouldn't
be suprised if it behaved differently on gtk.

that's what i'm doing:

  def __init__( self ):
  ...other stuff...
    EVT_RIGHT_DOWN( self, self.OnRightClick )

  def OnRightClick( self, event ):
    self.fileMenu.Popup( event )

···

--
Garry Hodgson sometimes we ride on your horses
Senior Hacker sometimes we walk alone
Software Innovation Services sometimes the songs that we hear
AT&T Labs are just songs of our own
garry@sage.att.com