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.
_______________________________________________
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]