Changeset 598

Show
Ignore:
Timestamp:
06/30/03 02:12:11 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/sash.py

    r472 r598  
    3939        'name':     __name__, 
    4040        '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':    '[]', 
    4444        }) 
    4545 
     
    5959 
    6060    def SetSashSettings(self): 
    61         xrange = self.wxEval('xrange'
     61        xrange = self.wxEvalCond('xrange', (0, -1)
    6262        if xrange[0] >= 0: self.object.SetMinimumSizeX(xrange[0]) 
    6363        if xrange[1] >= 0: self.object.SetMaximumSizeX(xrange[1]) 
    6464 
    65         yrange = self.wxEval('yrange'
     65        yrange = self.wxEvalCond('yrange', (0, -1)
    6666        if yrange[0] >= 0: self.object.SetMinimumSizeY(xrange[0]) 
    6767        if yrange[1] >= 0: self.object.SetMaximumSizeY(xrange[1]) 
    6868 
    69         edges = self.wxEval('edges') 
     69        edges = self.wxEvalCond('edges', ()) 
     70        if not isinstance(edges, (list, tuple)): 
     71            edges = (edges,) 
    7072        for edge in edges: 
    7173            self.object.SetSashVisible(edge, 1) 
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/sash_layout.py

    r475 r598  
    3838    default_settings.update({ 
    3939        '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', 
    4444        }) 
    4545 
     
    5454        self.object = wx.wxSashLayoutWindow(winParent, **kwSettings) 
    5555        self.wxInitialStandardOptions() 
    56         if self.wxEval('autodrag'): 
     56        if self.wxEvalCond('autodrag', True): 
    5757            wx.EVT_SASH_DRAGGED(self.object, self.object.GetId(), self.OnSashDrag) 
    5858 
     
    6464    def SetSashSettings(self): 
    6565        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)) 
    6969 
    7070    def OnSashDrag(self, evt): 
  • trunk/RBSkinning/RBSkinning/wxTools/wxDockingTools.py

    r585 r598  
    3030 
    3131#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     32#~ Cusome Event notification 
     33#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     34 
     35from RBFoundation.SubObs import Interface 
     36from RBFoundation.SubObs.AccessRules import IgnoreAccess 
     37from RBFoundation.SubObs.Interface.EventSubject import ObjectEventSubjectTemplate 
     38from RBFoundation.SubObs.LogicRules import BaseCollection 
     39from RBFoundation.SubObs.LogicRules import Notifications 
     40from RBFoundation.SubObs.LogicRules import ListCollection 
     41 
     42class ObjectEventSubjectWithResult(ObjectEventSubjectTemplate, Notifications.ListResultNotification, IgnoreAccess.IgnoreAccess, ListCollection.ListCollection, BaseCollection.WeakWrapCallableMixin): 
     43    def _GetCollection(self): return self.iterCallables() 
     44    _collection_impl = property(_GetCollection) 
     45 
     46class ObjectEventSubjectWithResultProperty(Interface.AbstractObjectProperty): 
     47    EventFactory = ObjectEventSubjectWithResult 
     48 
     49#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3250#~ Definitions  
    3351#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4159 
    4260class wxDockContainer(object): 
    43     OnDockHostUpdate = ObjectEventProperty() #(dockcontainer, dockhost, updatetype, *updateargs, **updatekeys) 
     61    OnDockHostUpdate = ObjectEventSubjectWithResultProperty() #(dockcontainer, dockhost, updatetype, *updateargs, **updatekeys) 
    4462    OnDocked = ObjectEventProperty() #(dockcontainer, dockhost, redocking) 
    4563    OnUndocked = ObjectEventProperty() #(dockcontainer, dockhost, redocking) 
     
    6583    def UpdateDockHost(self, updatetype, *updateargs, **updatekeys): 
    6684        if self.docked: 
    67             self.dockhost.OnDockContainerUpdate(self, updatetype, *updateargs, **updatekeys) 
     85            return self.dockhost.OnDockContainerUpdate(self, updatetype, *updateargs, **updatekeys) 
    6886 
    6987    def DockTo(self, dockhost): 
     
    116134 
    117135class wxDockHostBase(object): 
    118     OnDockContainerUpdate = ObjectEventProperty() #(dockhost, dockcontainer, updatetype, *updateargs, **updatekeys) 
     136    OnDockContainerUpdate = ObjectEventSubjectWithResultProperty() #(dockhost, dockcontainer, updatetype, *updateargs, **updatekeys) 
    119137    OnDockItem = ObjectEventProperty() #(dockhost, dockcontainer, dockitem, *args, **kw) 
    120138    OnUndockItem = ObjectEventProperty() #(dockhost, dockcontainer, dockitem, *args, **kw) 
    121139 
    122140    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()] 
    125142 
    126143    def DockItem(self, container, dockitem=None, *args, **kw): 
  • trunk/RBSkinning/RBSkinning/wxTools/wxIncrementalTreeModel.py

    r591 r598  
    66import weakref 
    77from wxPython import wx 
     8from RBFoundation.SubObs.Event import ObjectEventProperty 
    89 
    910#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4748            self.treemodel.PopulateNodeChildren(self, evt.GetItem(), True) 
    4849 
    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 
    6566 
    6667#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    6768 
    6869class wxIncrementalTreeModel(object): 
     70    OnAddedNode = ObjectEventProperty() # treemodel, treenode 
     71    OnCleared = ObjectEventProperty() # treemodel 
     72 
    6973    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7074    #~ Public Methods  
     
    7983    def ClearTree(self): 
    8084        self.treewin.DeleteAllItems() 
     85        self.OnCleared() 
    8186 
    8287    def PopulateTree(self, node): 
     
    104109        else: 
    105110            self.treewin.SetItemHasChildren(treenode, bool(node)) 
     111        self.OnAddedNode(node) 
    106112 
    107113    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBSkinning/RBSkinning/wxTools/wxReflectedListModel.py

    r590 r598  
    55import weakref 
    66from wxPython import wx 
     7from RBFoundation.SubObs.Event import ObjectEventProperty 
    78 
    89#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4950    #def OnKeyDown(self, evt): pass 
    5051 
     52#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     53 
    5154class wxReflectedListModel(object): 
     55    OnAddedNode = ObjectEventProperty() # listmodel, listnode 
     56    OnCleared = ObjectEventProperty() # listmodel 
     57 
    5258    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5359    #~ Constants / Variables / Etc.  
     
    6773        self.listwin.ClearAll() 
    6874        self._IDtoItem = {} 
     75        self.OnCleared() 
    6976 
    7077    def AppendItem(self, listbehavioritem): 
     
    7481        self._IDtoItem[key] = listbehavioritem 
    7582        self.listwin.InsertItem(listitem) 
     83        self.OnAddedNode(listbehavioritem) 
    7684 
    7785    def SetListWindow(self, listwin): 
  • trunk/RBSkinning/demo/wxPythonSkin/layout/sash.py

    r572 r598  
    4848                    <panel> 
    4949                        <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' /> 
    5252                        </layout> 
    5353                    </panel> 
     
    5959                        <layout orientation='horizontal'> 
    6060                            <button label='Bottom!'/> 
    61                             <text sizercfg='wxEXPAND, 10'/> 
     61                            <text sizercfg='10, wxEXPAND'/> 
    6262                        </layout> 
    6363                    </panel> 
  • trunk/RBSkinning/demo/wxPythonSkin/widgets/menu.py

    r563 r598  
    3333skinxml = """<?xml version='1.0'?> 
    3434<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'> 
    3636        <menu_bar> 
    37             <menu ctxvar='behaviormodel.mymenu' text='File'> 
     37            <menu ctxvar='behavior.mymenu' text='File'> 
    3838                <menu_item text='New'> 
    39                     <command_event handler='None, wxFramePtr' type='EVT_MENU' call='ctx.behaviormodel.OnNew' />  
     39                    <command_event handler='None, wxFramePtr' type='EVT_MENU' call='ctx.behavior.OnNew' />  
    4040                </menu_item> 
    4141                <menu_item text='Open'/> 
    4242                <menu_item text='Save'/> 
    4343                <menu_item wxid='42' text='Close'> 
    44                     <command_event type='EVT_MENU' call='ctx.behaviormodel.OnPopupClose' /> 
    45                     <command_event handler='wxFramePtr' type='EVT_MENU' call='ctx.behaviormodel.OnMenuBarClose' /> 
     44                    <command_event type='EVT_MENU' call='ctx.behavior.OnPopupClose' /> 
     45                    <command_event handler='wxFramePtr' type='EVT_MENU' call='ctx.behavior.OnMenuBarClose' /> 
    4646                </menu_item> 
    4747            </menu> 
     
    5151            <panel sizercfg='1, wxEXPAND' sizehints='300,300'> 
    5252                <button pos='200, 200' label='Show Menu' > 
    53                     <command_event type='EVT_BUTTON' call='ctx.behaviormodel.OnClick' /> 
     53                    <command_event type='EVT_BUTTON' call='ctx.behavior.OnClick' /> 
    5454                </button> 
    5555            </panel> 
     
    7272    def OnMenuBarClose(self, evt): 
    7373        print 'OnMenuBarClose', evt 
     74        self.frame.Close() 
    7475 
    7576    def OnPopupClose(self, evt): 
     
    8586def RunApp(): 
    8687    application = wx.wxPySimpleApp() 
    87     behaviormodel = BehaviorModel() 
    88     skin = SkinXML(skinxml, behaviormodel=behaviormodel, application=application) 
     88    behavior = BehaviorModel() 
     89    skin = SkinXML(skinxml, behavior=behavior, application=application) 
    8990    return skin.context.application.MainLoop() 
    9091