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]

Reply via email to