Changeset 598
- Timestamp:
- 06/30/03 02:12:11 (5 years ago)
- Files:
-
- trunk/RBSkinning/RBSkinning/wxPythonSkin/sash.py (modified) (2 diffs)
- trunk/RBSkinning/RBSkinning/wxPythonSkin/sash_layout.py (modified) (3 diffs)
- trunk/RBSkinning/RBSkinning/wxTools/wxDockingTools.py (modified) (4 diffs)
- trunk/RBSkinning/RBSkinning/wxTools/wxIncrementalTreeModel.py (modified) (4 diffs)
- trunk/RBSkinning/RBSkinning/wxTools/wxReflectedListModel.py (modified) (4 diffs)
- trunk/RBSkinning/demo/wxPythonSkin/layout/sash.py (modified) (2 diffs)
- trunk/RBSkinning/demo/wxPythonSkin/widgets/menu.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBSkinning/RBSkinning/wxPythonSkin/sash.py
r472 r598 39 39 'name': __name__, 40 40 'style': 'wxCLIP_CHILDREN | wxSW_3D', 41 'xrange': '0,-1',42 'yrange': '0,-1',43 'edges': '[]',41 #'xrange': '0,-1', 42 #'yrange': '0,-1', 43 #'edges': '[]', 44 44 }) 45 45 … … 59 59 60 60 def SetSashSettings(self): 61 xrange = self.wxEval ('xrange')61 xrange = self.wxEvalCond('xrange', (0, -1)) 62 62 if xrange[0] >= 0: self.object.SetMinimumSizeX(xrange[0]) 63 63 if xrange[1] >= 0: self.object.SetMaximumSizeX(xrange[1]) 64 64 65 yrange = self.wxEval ('yrange')65 yrange = self.wxEvalCond('yrange', (0, -1)) 66 66 if yrange[0] >= 0: self.object.SetMinimumSizeY(xrange[0]) 67 67 if yrange[1] >= 0: self.object.SetMaximumSizeY(xrange[1]) 68 68 69 edges = self.wxEval('edges') 69 edges = self.wxEvalCond('edges', ()) 70 if not isinstance(edges, (list, tuple)): 71 edges = (edges,) 70 72 for edge in edges: 71 73 self.object.SetSashVisible(edge, 1) trunk/RBSkinning/RBSkinning/wxPythonSkin/sash_layout.py
r475 r598 38 38 default_settings.update({ 39 39 'name': __name__, 40 'orientation': 'wxLAYOUT_HORIZONTAL',41 'alignment': 'wxLAYOUT_TOP',42 'sashsize': '10,10',43 'autodrag': '1',40 #'orientation': 'wxLAYOUT_HORIZONTAL', 41 #'alignment': 'wxLAYOUT_TOP', 42 #'sashsize': '10,10', 43 #'autodrag': '1', 44 44 }) 45 45 … … 54 54 self.object = wx.wxSashLayoutWindow(winParent, **kwSettings) 55 55 self.wxInitialStandardOptions() 56 if self.wxEval ('autodrag'):56 if self.wxEvalCond('autodrag', True): 57 57 wx.EVT_SASH_DRAGGED(self.object, self.object.GetId(), self.OnSashDrag) 58 58 … … 64 64 def SetSashSettings(self): 65 65 sash.SetSashSettings(self) 66 self.object.SetDefaultSize(self.wxEval ('sashsize'))67 self.object.SetOrientation(self.wxEval ('orientation'))68 self.object.SetAlignment(self.wxEval ('alignment'))66 self.object.SetDefaultSize(self.wxEvalCond('sashsize', (10,10))) 67 self.object.SetOrientation(self.wxEvalCond('orientation', wx.wxLAYOUT_HORIZONTAL)) 68 self.object.SetAlignment(self.wxEvalCond('alignment', wx.wxLAYOUT_TOP)) 69 69 70 70 def OnSashDrag(self, evt): trunk/RBSkinning/RBSkinning/wxTools/wxDockingTools.py
r585 r598 30 30 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 #~ Cusome Event notification 33 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 34 35 from RBFoundation.SubObs import Interface 36 from RBFoundation.SubObs.AccessRules import IgnoreAccess 37 from RBFoundation.SubObs.Interface.EventSubject import ObjectEventSubjectTemplate 38 from RBFoundation.SubObs.LogicRules import BaseCollection 39 from RBFoundation.SubObs.LogicRules import Notifications 40 from RBFoundation.SubObs.LogicRules import ListCollection 41 42 class ObjectEventSubjectWithResult(ObjectEventSubjectTemplate, Notifications.ListResultNotification, IgnoreAccess.IgnoreAccess, ListCollection.ListCollection, BaseCollection.WeakWrapCallableMixin): 43 def _GetCollection(self): return self.iterCallables() 44 _collection_impl = property(_GetCollection) 45 46 class ObjectEventSubjectWithResultProperty(Interface.AbstractObjectProperty): 47 EventFactory = ObjectEventSubjectWithResult 48 49 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 50 #~ Definitions 33 51 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 41 59 42 60 class wxDockContainer(object): 43 OnDockHostUpdate = ObjectEvent Property() #(dockcontainer, dockhost, updatetype, *updateargs, **updatekeys)61 OnDockHostUpdate = ObjectEventSubjectWithResultProperty() #(dockcontainer, dockhost, updatetype, *updateargs, **updatekeys) 44 62 OnDocked = ObjectEventProperty() #(dockcontainer, dockhost, redocking) 45 63 OnUndocked = ObjectEventProperty() #(dockcontainer, dockhost, redocking) … … 65 83 def UpdateDockHost(self, updatetype, *updateargs, **updatekeys): 66 84 if self.docked: 67 self.dockhost.OnDockContainerUpdate(self, updatetype, *updateargs, **updatekeys)85 return self.dockhost.OnDockContainerUpdate(self, updatetype, *updateargs, **updatekeys) 68 86 69 87 def DockTo(self, dockhost): … … 116 134 117 135 class wxDockHostBase(object): 118 OnDockContainerUpdate = ObjectEvent Property() #(dockhost, dockcontainer, updatetype, *updateargs, **updatekeys)136 OnDockContainerUpdate = ObjectEventSubjectWithResultProperty() #(dockhost, dockcontainer, updatetype, *updateargs, **updatekeys) 119 137 OnDockItem = ObjectEventProperty() #(dockhost, dockcontainer, dockitem, *args, **kw) 120 138 OnUndockItem = ObjectEventProperty() #(dockhost, dockcontainer, dockitem, *args, **kw) 121 139 122 140 def UpdateDockContainers(self, updatetype, *updateargs, **updatekeys): 123 for dockcontainer in self.DockContainers(): 124 dockcontainer.OnDockHostUpdate(self, updatetype, *updateargs, **updatekeys) 141 return [dockcontainer.OnDockHostUpdate(self, updatetype, *updateargs, **updatekeys) for dockcontainer in self.DockContainers()] 125 142 126 143 def DockItem(self, container, dockitem=None, *args, **kw): trunk/RBSkinning/RBSkinning/wxTools/wxIncrementalTreeModel.py
r591 r598 6 6 import weakref 7 7 from wxPython import wx 8 from RBFoundation.SubObs.Event import ObjectEventProperty 8 9 9 10 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 47 48 self.treemodel.PopulateNodeChildren(self, evt.GetItem(), True) 48 49 49 #def OnDrag(self, evt): 50 #def OnRightDrag(self, evt): 51 #def OnEndDrag(self, evt): 52 #def OnLabelEdit(self, evt): 53 #def OnEndLabelEdit(self, evt): 54 #def OnActivated(self, evt): 55 #def OnRightClick(self, evt): 56 #def OnMiddleClick(self, evt): 57 #def OnKeyDown(self, evt): 58 #def OnDeleteItem(self, evt): 59 #def OnCollapsed(self, evt): 60 #def OnCollaping(self, evt): 61 #def OnExpanded(self, evt): 62 #def OnExpanding(self, evt): 63 #def OnSelectionChanged(self, evt): 64 #def OnSelectionChanging(self, evt): 50 #def OnDrag(self, evt): pass 51 #def OnRightDrag(self, evt): pass 52 #def OnEndDrag(self, evt): pass 53 #def OnLabelEdit(self, evt): pass 54 #def OnEndLabelEdit(self, evt): pass 55 #def OnActivated(self, evt): pass 56 #def OnRightClick(self, evt): pass 57 #def OnMiddleClick(self, evt): pass 58 #def OnKeyDown(self, evt): pass 59 #def OnDeleteItem(self, evt): pass 60 #def OnCollapsed(self, evt): pass 61 #def OnCollaping(self, evt): pass 62 #def OnExpanded(self, evt): pass 63 #def OnExpanding(self, evt): pass 64 #def OnSelectionChanged(self, evt): pass 65 #def OnSelectionChanging(self, evt): pass 65 66 66 67 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67 68 68 69 class wxIncrementalTreeModel(object): 70 OnAddedNode = ObjectEventProperty() # treemodel, treenode 71 OnCleared = ObjectEventProperty() # treemodel 72 69 73 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 74 #~ Public Methods … … 79 83 def ClearTree(self): 80 84 self.treewin.DeleteAllItems() 85 self.OnCleared() 81 86 82 87 def PopulateTree(self, node): … … 104 109 else: 105 110 self.treewin.SetItemHasChildren(treenode, bool(node)) 111 self.OnAddedNode(node) 106 112 107 113 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBSkinning/RBSkinning/wxTools/wxReflectedListModel.py
r590 r598 5 5 import weakref 6 6 from wxPython import wx 7 from RBFoundation.SubObs.Event import ObjectEventProperty 7 8 8 9 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 49 50 #def OnKeyDown(self, evt): pass 50 51 52 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 51 54 class wxReflectedListModel(object): 55 OnAddedNode = ObjectEventProperty() # listmodel, listnode 56 OnCleared = ObjectEventProperty() # listmodel 57 52 58 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 59 #~ Constants / Variables / Etc. … … 67 73 self.listwin.ClearAll() 68 74 self._IDtoItem = {} 75 self.OnCleared() 69 76 70 77 def AppendItem(self, listbehavioritem): … … 74 81 self._IDtoItem[key] = listbehavioritem 75 82 self.listwin.InsertItem(listitem) 83 self.OnAddedNode(listbehavioritem) 76 84 77 85 def SetListWindow(self, listwin): trunk/RBSkinning/demo/wxPythonSkin/layout/sash.py
r572 r598 48 48 <panel> 49 49 <layout orientation='horizontal' > 50 <input sizercfg=' wxEXPAND, 10' />51 <button label='Top!' sizercfg=' wxEXPAND, 1' />50 <input sizercfg='10, wxEXPAND' /> 51 <button label='Top!' sizercfg='1, wxEXPAND' /> 52 52 </layout> 53 53 </panel> … … 59 59 <layout orientation='horizontal'> 60 60 <button label='Bottom!'/> 61 <text sizercfg=' wxEXPAND, 10'/>61 <text sizercfg='10, wxEXPAND'/> 62 62 </layout> 63 63 </panel> trunk/RBSkinning/demo/wxPythonSkin/widgets/menu.py
r563 r598 33 33 skinxml = """<?xml version='1.0'?> 34 34 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'> 35 <frame title='Frame' show='1' locking='1' size='600,600'>35 <frame ctxvar='behavior.frame, frame' title='Frame' show='1' locking='1' size='600,600'> 36 36 <menu_bar> 37 <menu ctxvar='behavior model.mymenu' text='File'>37 <menu ctxvar='behavior.mymenu' text='File'> 38 38 <menu_item text='New'> 39 <command_event handler='None, wxFramePtr' type='EVT_MENU' call='ctx.behavior model.OnNew' />39 <command_event handler='None, wxFramePtr' type='EVT_MENU' call='ctx.behavior.OnNew' /> 40 40 </menu_item> 41 41 <menu_item text='Open'/> 42 42 <menu_item text='Save'/> 43 43 <menu_item wxid='42' text='Close'> 44 <command_event type='EVT_MENU' call='ctx.behavior model.OnPopupClose' />45 <command_event handler='wxFramePtr' type='EVT_MENU' call='ctx.behavior model.OnMenuBarClose' />44 <command_event type='EVT_MENU' call='ctx.behavior.OnPopupClose' /> 45 <command_event handler='wxFramePtr' type='EVT_MENU' call='ctx.behavior.OnMenuBarClose' /> 46 46 </menu_item> 47 47 </menu> … … 51 51 <panel sizercfg='1, wxEXPAND' sizehints='300,300'> 52 52 <button pos='200, 200' label='Show Menu' > 53 <command_event type='EVT_BUTTON' call='ctx.behavior model.OnClick' />53 <command_event type='EVT_BUTTON' call='ctx.behavior.OnClick' /> 54 54 </button> 55 55 </panel> … … 72 72 def OnMenuBarClose(self, evt): 73 73 print 'OnMenuBarClose', evt 74 self.frame.Close() 74 75 75 76 def OnPopupClose(self, evt): … … 85 86 def RunApp(): 86 87 application = wx.wxPySimpleApp() 87 behavior model= BehaviorModel()88 skin = SkinXML(skinxml, behavior model=behaviormodel, application=application)88 behavior = BehaviorModel() 89 skin = SkinXML(skinxml, behavior=behavior, application=application) 89 90 return skin.context.application.MainLoop() 90 91
