dabo Commit
Revision 2245
Date: 2006-06-30 14:25:46 -0700 (Fri, 30 Jun 2006)
Author: ed

Changed:
U   trunk/dabo/ui/uiwx/dGrid.py
U   trunk/dabo/ui/uiwx/dSplitter.py

Log:
Updated the grid to use the dDataSet class.

Began working on dSplitter in order to get it working in the Class Designer.


Diff:
Modified: trunk/dabo/ui/uiwx/dGrid.py
===================================================================
--- trunk/dabo/ui/uiwx/dGrid.py 2006-06-30 19:12:18 UTC (rev 2244)
+++ trunk/dabo/ui/uiwx/dGrid.py 2006-06-30 21:25:46 UTC (rev 2245)
@@ -3298,6 +3298,8 @@
                                raise ValueError, "Cannot set DataSet: 
DataSource defined."
                        # We must make sure the grid's table is initialized 
first:
                        self._Table
+                       if not isinstance(val, dabo.db.dDataSet):
+                               val = dabo.db.dDataSet(val)
                        self._dataSet = val
                        self.fillGrid(True)
                        biz = self.getBizobj()
@@ -4003,9 +4005,9 @@
 
 class _dGrid_test(dGrid):
        def initProperties(self):
-               self.DataSet = [{"name" : "Ed Leafe", "age" : 47, "coder" :  
True, "color": "brown"},
-                               {"name" : "Mike Leafe", "age" : 18, "coder" :  
False, "color": "purple"},
-                               {"name" : "Dan Leafe", "age" : 13, "coder" :  
False, "color": "green"}]
+               self.DataSet = [{"name" : "Ed Leafe", "age" : 48, "coder" :  
True, "color": "brown"},
+                               {"name" : "Mike Leafe", "age" : 19, "coder" :  
False, "color": "purple"},
+                               {"name" : "Dan Leafe", "age" : 14, "coder" :  
False, "color": "green"}]
                self.Width = 360
                self.Height = 150
                self.Editable = True
@@ -4068,15 +4070,6 @@
                        self.Sizer.append(chk, halign="Center")
                        chk.refresh()
                        
-                       self.grid.bindEvent(dEvents.GridBeforeSort, 
self.beforeSort)
-                       self.grid.bindEvent(dEvents.GridAfterSort, 
self.afterSort)
-               
-               def beforeSort(self, evt):
-                       print "Before Sort Event", evt.EventData
-
-               def afterSort(self, evt):
-                       print "After Sort Event", evt.EventData
-                       
        app = dabo.dApp()
        app.MainFormClass = TestForm
        app.setup()

Modified: trunk/dabo/ui/uiwx/dSplitter.py
===================================================================
--- trunk/dabo/ui/uiwx/dSplitter.py     2006-06-30 19:12:18 UTC (rev 2244)
+++ trunk/dabo/ui/uiwx/dSplitter.py     2006-06-30 21:25:46 UTC (rev 2245)
@@ -130,13 +130,20 @@
                self.__p2 = None
                # Create the panes
                if self._createPanes:
-                       self.__p1 = SplitterPanel(self)
-                       self.__p2 = SplitterPanel(self)
-               
+                       self.createPanes()
                if self._splitOnInit:
                        self.split()
+               super(dSplitter, self)._afterInit()
 
-               super(dSplitter, self)._afterInit()
+                       
+       def createPanes(self):
+               self.__p1 = self.PanelClass(self)
+               self.__p2 = self.PanelClass(self)
+               if self.IsSplit():
+                       self.unsplit()
+                       self.split()
+               else:
+                       self.initialize(self.Panel1)
        
        
        def initialize(self, p1):
@@ -291,6 +298,17 @@
                        self._properties["Panel2"] = pnl
                        
        
+       def _getPanelClass(self):
+               try:
+                       ret = self._panelClass
+               except:
+                       ret = self._panelClass = SplitterPanel
+               return ret
+               
+       def _setPanelClass(self, val):
+               self._panelClass = val
+               
+
        def _getSashPosition(self):
                if self.IsSplit():
                        self._sashPos = self.GetSashPosition()
@@ -334,11 +352,16 @@
                        _("Determines if the window splits Horizontally or 
Vertically.  (string)"))
 
        Panel1 = property(_getPanel1, _setPanel1, None,
-                       _("Returns the Top/Left panel.  (SplitterPanel)"))
+                       _("Returns the Top/Left panel.  (dPanel)"))
 
        Panel2 = property(_getPanel2, _setPanel2, None,
-                       _("Returns the Bottom/Right panel.  (SplitterPanel)"))
+                       _("Returns the Bottom/Right panel.  (dPanel)"))
 
+       PanelClass = property(_getPanelClass, _setPanelClass, None,
+                       _("""Class used for creating panels. This must be set 
before the panels are
+                       created; setting it afterward has no effect unless you 
destroy the panels
+                       and re-create them.  Default=SplitterPanel  
(dPanel)"""))
+                       
        SashPosition = property(_getSashPosition, _setSashPosition, None,
                        _("Position of the sash when the window is split.  
(int)"))
 




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev

Reply via email to