Nate Lowrie wrote: > On Wed, Aug 27, 2008 at 2:43 PM, Paul McNett <[EMAIL PROTECTED]> wrote: >> Nate Lowrie wrote: >>> On Wed, Aug 27, 2008 at 2:19 PM, Paul McNett <[EMAIL PROTECTED]> wrote: >>>>> Well, I tracked this bug down!!! Now, the only question is how to fix >>>>> it. The cause for this bug is that the Form is catching the event and >>>>> not propagating it to the menus. In dPemMixin.py, on line 370 we bind >>>>> the EVT_MENU_OPEN to the __wxMenuOpen function on line 512. The open >>>>> event is firing on the form, but it is never making it to the menu. I >>>>> have tried a couple of fixes but am getting nowhere. Paul, Ed, >>>>> suggestions? >>>> Try this: >>>> =================================================================== >>>> --- dPemMixin.py (revision 4468) >>>> +++ dPemMixin.py (working copy) >>>> @@ -510,7 +510,7 @@ >>>> >>>> >>>> def __onWxMenuOpen(self, evt): >>>> - self.raiseEvent(dEvents.MenuOpen, evt) >>>> + evt.Menu.raiseEvent(dEvents.MenuOpen, evt) >>>> >>>> >>>> def __onWxGotFocus(self, evt): >>> It works...I had to also do this though: >>> >>> =================================================================== >>> +++ C:\Documents and Settings\nwlowri\My >>> Documents\Projects\Personal\dabo-full\trunk\dabo\ui\uiwx\dMenu.py Wed >>> Aug 27 14:25:05 2008 >>> @@ -44,6 +44,7 @@ >>> uiApp = wx.GetApp() >>> uiApp.Bind(wx.EVT_MENU_OPEN, self.__onWxMenuOpen) >>> uiApp.Bind(wx.EVT_MENU_CLOSE, self.__onWxMenuClose) >>> + self.bindEvent(dEvents.MenuOpen, self._onMenuHighlight) >>> if self._useMRU: >>> self.bindEvent(dEvents.MenuOpen, self._onMenuOpenMRU) >>> >>> Does that affect Linux and Mac at all? If not I will commit... >> Why does the menu open event (occurs when the menu is opened) get bound >> to a menu highlight handler? What is the definition of menu hilighting? > > > Refered to this comment by you in dMenuBar.py starting line 29: > > ## pkm: EVT_OPEN only applies to the top-level menus: those in > the menubar. > ## It seemed to me best to eliminate dEvents.MenuOpen and > just call > ## dEvents.MenuHighlight instead. EVT_MENU_HIGHLIGHT never > gets called > ## on top-level menus, so the two are mutually exclusive > and kind of > ## mean the same thing. Let's keep it simple. BTW, I've > never seen > ## a EVT_MENU_CLOSE being called, and > EVT_MENU_HIGHLIGHT_ALL appears > ## to be identical to EVT_MENU_HIGHLIGHT. Therefore, as of > this writing > ## we are exposing two menu events: dEvents.Hit and > dEvents.Highlight.
Okay, good enough! :) Paul _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev Searchable Archives: http://leafe.com/archives/search/dabo-dev This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]
