Changeset 563
- Timestamp:
- 06/14/03 11:06:03 (5 years ago)
- Files:
-
- trunk/RBSkinning/RBSkinning/wxPythonSkin/wxSkinObject.py (modified) (2 diffs)
- trunk/RBSkinning/RBSkinning/wxTools/wxSubObsEvtHandler.py (modified) (2 diffs)
- trunk/RBSkinning/demo/wxPythonSkin/docking/docking_multiple_events.py (added)
- trunk/RBSkinning/demo/wxPythonSkin/widgets/menu.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBSkinning/RBSkinning/wxPythonSkin/wxSkinObject.py
r505 r563 112 112 113 113 def wxInitialStandardOptions(self): 114 if isinstance(self.object, wx.wxEvtHandlerPtr): 115 if wxSubObsEvtHandler is not None: 116 advanced_events = self.wxEvalCond('subobs_events', 1) 117 if advanced_events: 118 evthandler = wxSubObsEvtHandler() 119 evthandler.ReplaceEvtHandlerOf(self.object) 120 114 121 if isinstance(self.object, wx.wxWindowPtr): 115 122 #assert isinstance(self, wxSkinWindowObject), "%r is not derived from wxSkinWindowObject" % self.__class__.__name__ … … 128 135 129 136 def wxInitialStandardWindowOptions(self): 130 if wxSubObsEvtHandler is not None: 131 advanced_events = self.wxEvalCond('subobs_events', 1) 132 if advanced_events: 133 evthandler = wxSubObsEvtHandler() 134 evthandler.ReplaceEvtHandlerOf(self.object) 135 136 # vv NOTE: DEBUG vvvvvvvvvvvvv 137 if __debug_window_counts__: 138 _DEBUG_OnCreate(None) 139 evthandler.Connect(-1, -1, wx.wxEVT_DESTROY, _DEBUG_OnDestroy) 140 # ^^ NOTE: DEBUG ^^^^^^^^^^^^^ 137 # vv NOTE: DEBUG vvvvvvvvvvvvv 138 if __debug_window_counts__: 139 _DEBUG_OnCreate(None) 140 evthandler.Connect(-1, -1, wx.wxEVT_DESTROY, _DEBUG_OnDestroy) 141 # ^^ NOTE: DEBUG ^^^^^^^^^^^^^ 141 142 142 143 if 'fgcolor' in self.settings: trunk/RBSkinning/RBSkinning/wxTools/wxSubObsEvtHandler.py
r531 r563 51 51 evt.Skip(False) 52 52 result = observer(evt, *(args+obsargs)) 53 if result is not NotImplemented: 54 # break out since the event was not skipped 55 break 56 else: 53 54 if result is NotImplemented: 57 55 evt.Skip() 58 56 … … 62 60 __slots__ = ['_subject_map'] 63 61 64 def ReplaceEvtHandlerOf(self, window): 65 window.Connect = self.Connect 66 window.Disconnect = self.Disconnect 67 window.PushEventHandler(self) 62 def ReplaceEvtHandlerOf(self, eventhandler): 63 eventhandler.Connect = self.Connect 64 eventhandler.Disconnect = self.Disconnect 65 # Push event handler 66 next = eventhandler.GetNextHandler() 67 eventhandler.SetNextHandler(self) 68 self.SetNextHandler(next) 69 self.SetPreviousHandler(eventhandler) 68 70 69 71 def Connect(self, id, lastid, eventType, function, *args, **kw): trunk/RBSkinning/demo/wxPythonSkin/widgets/menu.py
r561 r563 36 36 <menu_bar> 37 37 <menu ctxvar='behaviormodel.mymenu' text='File'> 38 <menu_item text='New'/> 38 <menu_item text='New'> 39 <command_event handler='None, wxFramePtr' type='EVT_MENU' call='ctx.behaviormodel.OnNew' /> 40 </menu_item> 39 41 <menu_item text='Open'/> 40 42 <menu_item text='Save'/> … … 74 76 print 'OnPopupClose', evt 75 77 78 def OnNew(self, evt): 79 print 'OnNew', evt 80 76 81 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 77 82 #~ Main
