dabo Commit
Revision 4653
Date: 2008-11-03 10:17:15 -0800 (Mon, 03 Nov 2008)
Author: Paul
Trac: http://svn.dabodev.com/trac/dabo/changeset/4653

Changed:
U   branches/paul_ss/dabo/__version__.py
U   branches/paul_ss/dabo/lib/DesignerUtils.py
U   branches/paul_ss/dabo/lib/DesignerXmlConverter.py
U   branches/paul_ss/dabo/ui/uiwx/dDateTextBox.py
U   branches/paul_ss/dabo/ui/uiwx/dLed.py
U   branches/paul_ss/dabo/ui/uiwx/dPanel.py
U   branches/paul_ss/dabo/ui/uiwx/dPemMixin.py
U   branches/paul_ss/dabo/ui/uiwx/dSlidePanelControl.py
_U  branches/paul_ss/demo/DaboDemo.py
U   branches/paul_ss/demo/samples/dGauge.py
A   branches/paul_ss/demo/samples/dLed.py
A   branches/paul_ss/demo/samples/dSlidePanelControl.py
U   branches/paul_ss/demo/samples/dSpinner.py
U   branches/paul_ss/demo/samples/dTreeView.py
U   branches/paul_ss/ide/ClassDesigner.py
U   branches/paul_ss/ide/ClassDesignerComponents.py

Log:
Merged recent changes from trunk into my branch.


Diff:
Modified: branches/paul_ss/dabo/__version__.py
===================================================================
--- branches/paul_ss/dabo/__version__.py        2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/dabo/__version__.py        2008-11-03 18:17:15 UTC (rev 
4653)
@@ -3,7 +3,7 @@
 # Everything else is boilerplate copied also to other dabo repositories.
 package_name = "dabo"
 _version = "0.8.4"
-_approximateRevision = "~4622"
+_approximateRevision = "~4652"
 
 import os
 import lib

Modified: branches/paul_ss/dabo/lib/DesignerUtils.py
===================================================================
--- branches/paul_ss/dabo/lib/DesignerUtils.py  2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/dabo/lib/DesignerUtils.py  2008-11-03 18:17:15 UTC (rev 
4653)
@@ -3,7 +3,11 @@
 been separated from the design. 
 """
 import re
+import copy
+import dabo.ui as dui
 
+
+
 def getCodeObjectSeperator():
        return "## *!* ## Dabo Code ID: "
        
@@ -56,3 +60,206 @@
                addCodeToClassDict(kid, cd)
 
 
+def getSizerDefaults():
+       """Return a dict that contains the defaults for the various controls 
based upon
+       what sort of sizer they are contained within.
+       """
+       szDefaults = {}
+       defVals = {
+                       "G": {"BorderSides": ["All"], "Proportion": 0, 
"HAlign": "Center", "VAlign": "Middle", "Border": 0, "Expand": True, 
"RowExpand": False, "ColExpand": True},
+                       "H": {"BorderSides": ["All"], "Proportion": 1, 
"HAlign": "Left", "VAlign": "Middle", "Border": 0, "Expand": True},
+                       "V": {"BorderSides": ["All"], "Proportion": 1, 
"HAlign": "Center", "VAlign": "Top", "Border": 0, "Expand": True}
+                       }
+       # Use the defaults for each class, except where specified
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dBox] = dct
+       szDefaults["dBox"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dBitmap] = dct
+       szDefaults["dBitmap"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False, "HAlign" : 
"center", "VAlign" : "middle"})
+       dct["H"].update({"Proportion" : 0, "Expand" : False, "HAlign": 
"center"})
+       dct["V"].update({"Proportion" : 0, "Expand" : False, "VAlign": 
"middle"})
+       szDefaults[dui.dBitmapButton] = dct
+       szDefaults["dBitmapButton"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 0, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : False})
+       szDefaults[dui.dButton] = dct
+       szDefaults["dButton"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 0, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : False})
+       szDefaults[dui.dCheckBox] = dct
+       szDefaults["dCheckBox"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : True})
+       szDefaults[dui.dComboBox] = dct
+       szDefaults["dComboBox"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : True})
+       szDefaults[dui.dDateTextBox] = dct
+       szDefaults["dDateTextBox"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dDialog] = dct
+       szDefaults["dDialog"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : True})
+       szDefaults[dui.dDropdownList] = dct
+       szDefaults["dDropdownList"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dEditBox] = dct
+       szDefaults["dEditBox"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dEditor] = dct
+       szDefaults["dEditor"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dSlidePanelControl] = dct
+       szDefaults["dSlidePanelControl"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : True})
+       szDefaults[dui.dGauge] = dct
+       szDefaults["dGauge"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dGrid] = dct
+       szDefaults["dGrid"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dGridSizer] = dct
+       szDefaults["dGridSizer"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dHtmlBox] = dct
+       szDefaults["dHtmlBox"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dImage] = dct
+       szDefaults["dImage"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False})
+       dct["H"].update({"Proportion" : 0, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : False})
+       szDefaults[dui.dLabel] = dct
+       szDefaults["dLabel"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False, "HAlign" : 
"center", "VAlign" : "middle"})
+       dct["H"].update({"Proportion" : 1, "Expand" : False, "HAlign": 
"center"})
+       dct["V"].update({"Proportion" : 0, "Expand" : True, "VAlign": "middle"})
+       szDefaults[dui.dLine] = dct
+       szDefaults["dLine"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dListBox] = dct
+       szDefaults["dListBox"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dListControl] = dct
+       szDefaults["dListControl"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dOkCancelDialog] = dct
+       szDefaults["dOkCancelDialog"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False, "ColExpand": True, 
"RowExpand": False})
+       dct["H"].update({"Proportion" : 0, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : False})
+       szDefaults[dui.dRadioList] = dct
+       szDefaults["dRadioList"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dPage] = dct
+       szDefaults["dPage"] = dct
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dPanel] = dct
+       szDefaults["dPanel"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dScrollPanel] = dct
+       szDefaults["dScrollPanel"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dPageFrame] = dct
+       szDefaults["dPageFrame"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dPageList] = dct
+       szDefaults["dPageList"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dPageSelect] = dct
+       szDefaults["dPageSelect"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dPageFrameNoTabs] = dct
+       szDefaults["dPageFrameNoTabs"] = dct
+       dct = copy.deepcopy(defVals)
+       szDefaults[dui.dSizer] = dct
+       szDefaults["dSizer"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False, "HAlign" : 
"center", "VAlign" : "middle", "ColExpand": True, "RowExpand": False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False, "HAlign": 
"center"})
+       dct["V"].update({"Proportion" : 0, "Expand" : True, "VAlign": "middle"})
+       szDefaults[dui.dSlider] = dct
+       szDefaults["dSlider"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : False, "ColExpand": True, 
"RowExpand": False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : True})
+       szDefaults[dui.dSpinner] = dct
+       szDefaults["dSpinner"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center"})
+       dct["V"].update({"VAlign" : "middle"})
+       szDefaults[dui.dSplitter] = dct
+       szDefaults["dSplitter"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 1, "Expand" : True, "ColExpand": True, 
"RowExpand": False})
+       dct["H"].update({"Proportion" : 1, "Expand" : False})
+       dct["V"].update({"Proportion" : 0, "Expand" : True})
+       szDefaults[dui.dTextBox] = dct
+       szDefaults["dTextBox"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["H"].update({"HAlign" : "center", "Proportion": 0, "Expand": False})
+       dct["V"].update({"VAlign" : "middle", "Proportion": 0, "Expand": False})
+       szDefaults[dui.dToggleButton] = dct
+       szDefaults["dToggleButton"] = dct
+       dct = copy.deepcopy(defVals)
+       dct["G"].update({"Proportion" : 0, "Expand" : True, "HAlign" : 
"center", "VAlign" : "middle", "ColExpand": True, "RowExpand": True})
+       dct["H"].update({"Proportion" : 1, "Expand" : True, "HAlign": "center"})
+       dct["V"].update({"Proportion" : 1, "Expand" : True, "VAlign": "middle"})
+       szDefaults[dui.dTreeView] = dct
+       szDefaults["dTreeView"] = dct
+       return szDefaults
+
+_sizerDefaults = {}
+
+
+def getDefaultSizerProps(cls, szType):
+       global _sizerDefaults
+       if not _sizerDefaults:
+               _sizerDefaults = getSizerDefaults()
+       typ = szType[0].upper()
+       defaults = _sizerDefaults.get(cls, {})
+       ret = defaults.get(typ, {})
+       if not ret and isinstance(cls, basestring):
+               # Sometimes the Class Designer mangles names so that they are 
unique
+               # E.g., 'dTextBox' becomes 'dTextBox_323432'
+               splitname = cls.split("_")
+               if len(splitname) == 2 and splitname[1].isdigit():
+                       defaults = _sizerDefaults.get(splitname[0], {})
+                       ret = defaults.get(typ, {})
+       return ret

Modified: branches/paul_ss/dabo/lib/DesignerXmlConverter.py
===================================================================
--- branches/paul_ss/dabo/lib/DesignerXmlConverter.py   2008-11-03 17:15:03 UTC 
(rev 4652)
+++ branches/paul_ss/dabo/lib/DesignerXmlConverter.py   2008-11-03 18:17:15 UTC 
(rev 4653)
@@ -47,6 +47,8 @@
                self._methodNum = 0
                # This is the text that will go into the temp .py file for 
executed code
                self._codeFileText = self._hdrText
+               # Tracks the current sizer type
+               self._sizerTypeStack = []
                
        
        def classFromXml(self, src):
@@ -334,7 +336,6 @@
                                if code or custProps:
                                        nm = self.createInnerClass(nm, atts, 
code, custProps)
                                        isCustom = True
-
                        if isSizer:
                                isGridSizer = clsname == "LayoutGridSizer"
                                if isGridSizer:
@@ -350,7 +351,13 @@
                                isBorderSizer = clsname == "LayoutBorderSizer"
                                ornt = ""
                                prnt = ""
-                               if not isGridSizer:
+                               if isGridSizer:
+                                       szType = "G"
+                               else:
+                                       if "Orientation" not in atts:
+                                               # Default to Horizontal
+                                               atts["Orientation"] = "H"
+                                       szType = atts["Orientation"]
                                        if isBorderSizer:
                                                prnt = "currParent, "
                                                propString = "'%s', 
Caption=\"%s\"" % (self._extractKey(atts, "Orientation", "H"), 
@@ -361,15 +368,13 @@
                                                                
atts.pop(unneeded)
                                                        except KeyError:
                                                                pass
-                                               if "Orientation" not in atts:
-                                                       # Default to Horizontal
-                                                       atts["Orientation"] = 
"H"
                                                propString = ", 
".join(["%s='%s'" % (k,v) for k,v in atts.items()])
                                if self.CreateDesignerControls:
                                        superName = clsname
                                else:
                                        superName = "dabo.ui.%s" % nm
                                self.classText += LINESEP + self._szText % 
locals()
+                               self._sizerTypeStack.append(szType)
                        
                        elif clsname == "LayoutSpacerPanel":
                                if self.CreateDesignerControls:
@@ -398,6 +403,16 @@
                                # This isn't a sizer; it's a control
                                attPropString = ""
                                moduleString = ""
+                               try:
+                                       typ = self._sizerTypeStack[-1]
+                               except IndexError:
+                                       typ = "H"
+                               szDefaults = desUtil.getDefaultSizerProps(nm, 
typ)
+                               if isinstance(szInfo, basestring):
+                                       szInfo = eval(szInfo)
+                               szDefaults.update(szInfo)
+                               szInfo = szDefaults
+                               
                                isSplitter = atts.has_key("SashPosition")
                                isSlidePanel = atts.has_key("PanelCount")
                                if isSplitter:
@@ -551,6 +566,7 @@
                                if needPop:
                                        if isSizer:
                                                self.classText += LINESEP + 
self._szPopText
+                                               self._sizerTypeStack.pop()
                                        else:
                                                self.classText += LINESEP + 
self._ctlPopText
                return                          

Modified: branches/paul_ss/dabo/ui/uiwx/dDateTextBox.py
===================================================================
--- branches/paul_ss/dabo/ui/uiwx/dDateTextBox.py       2008-11-03 17:15:03 UTC 
(rev 4652)
+++ branches/paul_ss/dabo/ui/uiwx/dDateTextBox.py       2008-11-03 18:17:15 UTC 
(rev 4653)
@@ -107,8 +107,8 @@
 R : Last Day of yeaR
 C: Popup Calendar to Select
 """)
-#              self.DynamicToolTipText = lambda: {True: 
self._defaultToolTipText, 
-#                              False: None}[self.Enabled and not self.ReadOnly]
+               self.DynamicToolTipText = lambda: {True: 
self._defaultToolTipText, 
+                               False: None}[self.Enabled and not self.ReadOnly]
 
 
        def initEvents(self):

Modified: branches/paul_ss/dabo/ui/uiwx/dLed.py
===================================================================
--- branches/paul_ss/dabo/ui/uiwx/dLed.py       2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/dabo/ui/uiwx/dLed.py       2008-11-03 18:17:15 UTC (rev 
4653)
@@ -12,30 +12,19 @@
                self._offColor = "darkred"
                self._onColor = "green"
                self._on = False
-               self.Buffered = True
+               self.Buffered = False
                self.led = self.drawCircle(1,1,1)
-               self.led.DynamicXpos = self.setXPos
-               self.led.DynamicYpos = self.setYPos
-               self.led.DynamicRadius = self.setRadius
-               self.led.DynamicFillColor = self.setFillColor
+               self.led.DynamicXpos = lambda: self.Width/2
+               self.led.DynamicYpos = lambda: self.Height/2
+               self.led.DynamicRadius = lambda: min(self.Width, self.Height)/2
+               self.led.DynamicFillColor = lambda: self.Color
                self.update()
-       
 
+
        def onResize(self, evt):
                """Update the size of the LED."""
                self.update()
 
-               
-       # Methods for the dynamic properties
-       def setXPos(self):
-               return self.Width /2
-       def setYPos(self):
-               return self.Height /2
-       def setRadius(self):
-               return (min(self.Width, self.Height)) /2
-       def setFillColor(self):
-               return self.Color
-               
 
        # Getters and Setters
        def _getColor(self):
@@ -43,75 +32,76 @@
                        return self._onColor
                else:
                        return self._offColor
-                       
+
+
        def _getOffColor(self):
                return self._offColor
-       
+
        def _setOffColor(self, val):
                self._offColor = val
                self.update()
-       
+
+
        def _getOn(self):
                return self._on
-       
+
        def _setOn(self, val):
                self._on = val
                self.update()
-       
+
+
        def _getOnColor(self):
                return self._onColor
-       
+
        def _setOnColor(self, val):
                self._onColor = val
                self.update()
-       
-       
+
+
        # Property Definitions
        Color = property(_getColor, None, None,
                _("The color of the LED (color)"))
 
        OffColor = property(_getOffColor, _setOffColor, None,
                _("The color of the LED when it is off.  (color)"))
-       
+
        On = property(_getOn, _setOn, None,
                _("Is the LED is on? Default=False  (bool)"))
-       
+
        OnColor = property(_getOnColor, _setOnColor, None,
                _("The color of the LED when it is on.  (color)"))
 
 
-
-class TestForm(dabo.ui.dForm):
-       def afterInit(self):
-               mp = dabo.ui.dPanel(self)
-               self.Sizer.append1x(mp)
-               mp.Sizer = dabo.ui.dSizer("h")
-               mp.Sizer.append1x(dLed(self, RegID="LED"))
-               
-               vs = dabo.ui.dSizer("v", DefaultBorder=20)
-               vs.appendSpacer(20)
-               vs.DefaultBorderLeft = vs.DefaultBorderRight = True
-               btn = dabo.ui.dToggleButton(mp, Caption="Toggle LED",
-                               DataSource=self.LED, DataField="On", 
Value=False)
-               vs.append(btn)
-               vs.appendSpacer(12)
-               vs.append(dabo.ui.dLabel(mp, Caption="On Color:"))
-               dd = dabo.ui.dDropdownList(mp, Choices=dabo.dColors.colors,
-                               DataSource=self.LED, DataField="OnColor", 
Value="green")
-               vs.append(dd)
-               vs.appendSpacer(12)
-               vs.append(dabo.ui.dLabel(mp, Caption="Off Color:"))
-               dd = dabo.ui.dDropdownList(mp, Choices=dabo.dColors.colors,
-                               DataSource=self.LED, DataField="OffColor", 
Value="darkred")
-               vs.append(dd)
-               mp.Sizer.append(vs)
-               
-               self.LED.On = True
-               
-               self.layout()
-               
-
 if __name__ == '__main__':
+       class TestForm(dabo.ui.dForm):
+               def afterInit(self):
+                       mp = dabo.ui.dPanel(self)
+                       self.Sizer.append1x(mp)
+                       mp.Sizer = dabo.ui.dSizer("h")
+                       mp.Sizer.append1x(dLed(self, RegID="LED"))
+                       
+                       vs = dabo.ui.dSizer("v", DefaultBorder=20)
+                       vs.appendSpacer(20)
+                       vs.DefaultBorderLeft = vs.DefaultBorderRight = True
+                       btn = dabo.ui.dToggleButton(mp, Caption="Toggle LED",
+                                       DataSource=self.LED, DataField="On", 
Value=False)
+                       vs.append(btn)
+                       vs.appendSpacer(12)
+                       vs.append(dabo.ui.dLabel(mp, Caption="On Color:"))
+                       dd = dabo.ui.dDropdownList(mp, 
Choices=dabo.dColors.colors,
+                                       DataSource=self.LED, 
DataField="OnColor", Value="green")
+                       vs.append(dd)
+                       vs.appendSpacer(12)
+                       vs.append(dabo.ui.dLabel(mp, Caption="Off Color:"))
+                       dd = dabo.ui.dDropdownList(mp, 
Choices=dabo.dColors.colors,
+                                       DataSource=self.LED, 
DataField="OffColor", Value="darkred")
+                       vs.append(dd)
+                       mp.Sizer.append(vs)
+                       
+                       self.LED.On = True
+                       
+                       self.layout()
+       
        app = dabo.dApp()
        app.MainFormClass = TestForm
        app.start()

Modified: branches/paul_ss/dabo/ui/uiwx/dPanel.py
===================================================================
--- branches/paul_ss/dabo/ui/uiwx/dPanel.py     2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/dabo/ui/uiwx/dPanel.py     2008-11-03 18:17:15 UTC (rev 
4653)
@@ -213,10 +213,10 @@
                self._horizontalScroll = self._verticalScroll = True
                self._baseClass = dScrollPanel
                preClass = wx.PreScrolledWindow
+               kwargs["AlwaysResetSizer"] = self._extractKey((properties, 
kwargs, attProperties), "AlwaysResetSizer", True)
                _PanelMixin.__init__(self, preClass=preClass, parent=parent, 
properties=properties, 
                                attProperties=attProperties, *args, **kwargs)
                self.SetScrollRate(10, 10)
-#              self.SetScrollbars(10, 10, -1, -1)
 
 
        def scrollHorizontally(self, amt):

Modified: branches/paul_ss/dabo/ui/uiwx/dPemMixin.py
===================================================================
--- branches/paul_ss/dabo/ui/uiwx/dPemMixin.py  2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/dabo/ui/uiwx/dPemMixin.py  2008-11-03 18:17:15 UTC (rev 
4653)
@@ -1208,14 +1208,11 @@
                        # This can happen if an object is released when there 
is a 
                        # pending callAfter() refresh.
                        return
-
-               self.__updateDynamicProps()
-
                if isinstance(self, dabo.ui.dForm) and 
self.AutoUpdateStatusText:
                        self.setStatusText(self.getCurrentRecordText())
-
                if self.Children:
                        self.raiseEvent(dEvents.Update)
+               dabo.ui.callAfter(self.__updateDynamicProps)
 
                
        def __updateDynamicProps(self):

Modified: branches/paul_ss/dabo/ui/uiwx/dSlidePanelControl.py
===================================================================
--- branches/paul_ss/dabo/ui/uiwx/dSlidePanelControl.py 2008-11-03 17:15:03 UTC 
(rev 4652)
+++ branches/paul_ss/dabo/ui/uiwx/dSlidePanelControl.py 2008-11-03 18:17:15 UTC 
(rev 4653)
@@ -802,7 +802,7 @@
                        self.slideControl.collapseAll()
                        
                def onExpandAll(self, evt):
-                       self.mainContainer.expandAll()
+                       self.slideControl.expandAll()
                        
        
        app = dabo.dApp()


Property changes on: branches/paul_ss/demo/DaboDemo.py
___________________________________________________________________
Name: svn:executable
   + *

Modified: branches/paul_ss/demo/samples/dGauge.py
===================================================================
--- branches/paul_ss/demo/samples/dGauge.py     2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/demo/samples/dGauge.py     2008-11-03 18:17:15 UTC (rev 
4653)
@@ -72,3 +72,13 @@
 
 <p>Gauges do not raise any events, or respond to user interaction. They are 
simply a convenient way to display the progress of a task or process.</p>
 """
+
+if __name__ == "__main__":
+       app = dabo.dApp(MainFormClass=None)
+       app.setup()
+       frm = dabo.ui.dForm()
+       pan = TestPanel(frm)
+       frm.Sizer.append1x(pan)
+       frm.show()
+       app.start()
+

Copied: branches/paul_ss/demo/samples/dLed.py (from rev 4652, 
trunk/demo/samples/dLed.py)
===================================================================
--- branches/paul_ss/demo/samples/dLed.py                               (rev 0)
+++ branches/paul_ss/demo/samples/dLed.py       2008-11-03 18:17:15 UTC (rev 
4653)
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+import dabo
+dabo.ui.loadUI("wx")
+import dabo.dEvents as dEvents
+from dabo.dLocalize import _
+
+class TestPanel(dabo.ui.dPanel):
+       def afterInit(self):
+               self.Sizer = dabo.ui.dSizer('v')
+               self.Sizer.appendSpacer(50)
+               hs = dabo.ui.dSizer('h')
+               self.Sizer.append(hs)
+               
+               self.LED = dabo.ui.dLed(self, Height=100, Width=100)
+               hs.appendSpacer(50)
+               hs.append(self.LED)
+               hs.appendSpacer(25)
+               
+               bs = dabo.ui.dBorderSizer(self, Caption="LED Options", 
DefaultBorder=5)
+               gs = dabo.ui.dGridSizer(MaxCols=2, VGap=5, HGap=5)
+               gs.setColExpand(1, 1)
+               bs.append1x(gs)
+               gs.append(dabo.ui.dToggleButton(self, Caption="Toggle LED", 
DataSource=self.LED, DataField="On", Value=True, OnHit=self.toggleLED), 
"expand", colSpan=2)
+               gs.append(dabo.ui.dLabel(self, Caption="On Color:"))
+               gs.append(dabo.ui.dDropdownList(self, 
Choices=dabo.dColors.colors, DataSource=self.LED, DataField="OnColor", 
Value="green", OnHit=self.changeOnColor))
+               gs.append(dabo.ui.dLabel(self, Caption="Off Color:"))
+               gs.append(dabo.ui.dDropdownList(self, 
Choices=dabo.dColors.colors, DataSource=self.LED, DataField="OffColor", 
Value="darkred", OnHit=self.changeOffColor))
+               hs.append(bs)
+               
+               self.LED.On = True
+               self.update()
+               self.layout()
+       
+       def toggleLED(self, evt):
+               self.Form.logit("LED Toggled to %s" % {True:"On", 
False:"Off"}[self.LED.On])
+       
+       def changeOnColor(self, evt):
+               self.Form.logit("LED Color when on was changed to %s" % 
self.LED.OnColor)
+       
+       def changeOffColor(self, evt):
+               self.Form.logit("LED Color whenn off was changed to %s" % 
self.LED.OffColor)
+
+category = "Controls.dLed"
+
+overview = _("""
+<p>The <b>dLed</b> class is used to display a boolean status.  The control is 
designed
+for displaying read only status, unlike the dCheckBox which is designed to 
allow
+the user to make a boolean choice.  You can change the On and Off colors to 
suit
+your particular applications needs, but the defaults of dark red when off and 
green
+when on should work well enough.</p>
+""")

Copied: branches/paul_ss/demo/samples/dSlidePanelControl.py (from rev 4652, 
trunk/demo/samples/dSlidePanelControl.py)
===================================================================
--- branches/paul_ss/demo/samples/dSlidePanelControl.py                         
(rev 0)
+++ branches/paul_ss/demo/samples/dSlidePanelControl.py 2008-11-03 18:17:15 UTC 
(rev 4653)
@@ -0,0 +1,100 @@
+# -*- coding: utf-8 -*-
+import dabo
+dabo.ui.loadUI("wx")
+import dabo.dEvents as dEvents
+from dabo.dLocalize import _
+
+
+class TestPanel(dabo.ui.dPanel):
+       def afterInit(self):
+               self.Sizer = dabo.ui.dSizer('v')
+               
+               self.slideControl = dabo.ui.dSlidePanelControl(self, 
ExpandContent=False, SingleClick=True)
+               self.Sizer.append1x(self.slideControl)
+               
+               self.slidePanel1 = dabo.ui.dSlidePanel(self.slideControl, 
Caption="First", BackColor="orange")
+               self.slidePanel2 = dabo.ui.dSlidePanel(self.slideControl, 
Caption="Second", BarStyle="HorizontalFill", BarColor1="lightgreen", 
BarColor2="ForestGreen", BackColor="wheat")
+               self.slidePanel3 = dabo.ui.dSlidePanel(self.slideControl, 
Caption="Third", BarStyle="BorderOnly", BackColor="powderblue")
+               
+               self.slidePanel1.Sizer = sz = dabo.ui.dSizer("v")
+               self.slidePanel1.Sizer.append(dabo.ui.dButton(self.slidePanel1, 
Caption="Change Bar 1 Style", OnHit=self.changeSlidePanel1BarStyle), border=25)
+               
+               self.slidePanel2.Sizer = dabo.ui.dSizer("v")
+               self.slidePanel2.Sizer.append(dabo.ui.dLabel(self.slidePanel2, 
Caption="Tea For Two", FontItalic=True, FontSize=24))
+               
+               def collapse3(evt):
+                       mc = self.slideControl
+                       if mc.Singleton:
+                               mc.expand(self.slidePanel2)
+                       else:
+                               mc.collapse(self.slidePanel3)
+               
+               self.slidePanel3.Sizer = dabo.ui.dSizer('v')
+               self.slidePanel3.Sizer.appendSpacer(25)
+               hs = dabo.ui.dSizer('h')
+               hs.appendSpacer(25)
+               hs.append(dabo.ui.dLabel(self.slidePanel3, Caption="Three 
Strikes"), valign="Middle")
+               hs.appendSpacer(5)
+               hs.append(dabo.ui.dButton(self.slidePanel3, Caption="Collapse 
Me", OnHit=collapse3))
+               self.slidePanel3.Sizer.append(hs)
+               self.slidePanel3.Sizer.appendSpacer(25)
+               
+               hs = dabo.ui.dSizer("h")
+               hs.append(dabo.ui.dButton(self, Caption="Collapse All", 
OnHit=self.collapseAllPanels))
+               hs.appendSpacer(10)
+               hs.append(dabo.ui.dButton(self, Caption="Expand All", 
OnHit=self.expandAllPanels))
+               hs.appendSpacer(10)
+               
+               vs = dabo.ui.dSizer("v")
+               vs.append(dabo.ui.dCheckBox(self, Caption="Singleton Style", 
DataSource=self.slideControl, DataField="Singleton"))
+               vs.append(dabo.ui.dCheckBox(self, Caption="Single Click to 
Toggle", DataSource=self.slideControl, DataField="SingleClick"))
+               vs.append(dabo.ui.dCheckBox(self, Caption="Collapsed Panels To 
Bottom", DataSource=self.slideControl, DataField="CollapseToBottom"))
+               vs.append(dabo.ui.dCheckBox(self, Caption="Expand Content to 
Full Size", DataSource=self.slideControl, DataField="ExpandContent"))
+               hs.append(vs)
+               
+               self.Sizer.appendSpacer(10)
+               self.Sizer.append(hs, 0, halign="center", border=10)
+               
+               self.layout()
+       
+       
+       def changeSlidePanel1BarStyle(self, evt):
+               import random
+               style = random.choice(self.slidePanel1._barStyles)
+               self.slidePanel1.BarStyle = style
+               color1 = dabo.dColors.randomColorName()
+               color2 = dabo.dColors.randomColorName()
+               self.slidePanel1.BarColor1 = color1
+               self.slidePanel1.BarColor2 = color2
+               
+               if style in ("VerticalFill", "HorizontalFill"):
+                       cap = "Style: %s; Colors: %s, %s" % (style, color1, 
color2)
+               elif style in ("BorderOnly", ):
+                       cap = "Style: %s" % style
+               else:
+                       cap = "Style: %s; Color: %s" % (style, color1)
+               self.Form.logit(cap)
+       
+       
+       def collapseAllPanels(self, evt):
+               self.slideControl.collapseAll()
+               self.Form.logit("Collapsed All Panels")
+       
+       
+       def expandAllPanels(self, evt):
+               self.slideControl.expandAll()
+               self.Form.logit("Expanded All Panels")
+
+
+category = "Layout.dSlidePanelControl"
+
+overview = """
+<p><b>dSlidePanelControl</b> is a control which can maintain a list of 
collapsable panels.
+When a panel is collapsed, the only thing visible to the User is its Caption 
Bar.
+This action is used to provide more space for other panels, which allows the 
user
+to close panels which are not used often to get the most out of the work 
area.</p>
+
+<p>The control is very to use.  Panels in the control should be instances of 
Dabo's 
+dPanel class.  When they are created, simply set the parent of the panel to the
+dSlidePanelControl instance and dabo will automatically handle the rest.</p>
+"""
\ No newline at end of file

Modified: branches/paul_ss/demo/samples/dSpinner.py
===================================================================
--- branches/paul_ss/demo/samples/dSpinner.py   2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/demo/samples/dSpinner.py   2008-11-03 18:17:15 UTC (rev 
4653)
@@ -8,39 +8,99 @@
 class TestPanel(dabo.ui.dPanel):
        def afterInit(self):
                sz = self.Sizer = dabo.ui.dSizer("v")
-               
-               lbl = dabo.ui.dLabel(self, Alignment="Center", WordWrap=True, 
Width=400,
-                               Caption=_("Both of these spinners have a range 
from 0 to 10. The only "
-                                               "difference is that the top 
spinner has its SpinnerWrap property set to "
-                                               "True, which cycles it around 
when it reaches one of its limits."))
-                               
-               lbl.FontSize += 3
-               lbl.ForeColor = "darkBlue"
-               sz.appendSpacer(25)
-               sz.append(lbl, halign="center")
-               sz.appendSpacer(10)
-               
-               lbl = dabo.ui.dLabel(self, Caption=_("Spinner with wrapping"))
-               spn = dabo.ui.dSpinner(self, Value=5, Max=10,
-                               Min=0, SpinnerWrap=True, Name="wrapSpinner")
+               sz.appendSpacer(50)
+               spn = self.spinner = dabo.ui.dSpinner(self, Max=25, Min=0, 
Value=4.75, 
+                               Increment=1.25, SpinnerWrap=False, FontSize=12, 
Width=100)
                spn.bindEvent(dEvents.Hit, self.onSpinnerHit)
-               sz.append(lbl, halign="center")
+               spn.bindEvent(dEvents.SpinUp, self.onSpinUp)
+               spn.bindEvent(dEvents.SpinDown, self.onSpinDown)
+               spn.bindEvent(dEvents.Spinner, self.onSpinner)
                sz.append(spn, halign="center")
-               sz.appendSpacer(20)
 
-               lbl = dabo.ui.dLabel(self, Caption=_("Spinner without 
wrapping"))
-               spn = dabo.ui.dSpinner(self, Value=5, Max=10,
-                               Min=0, SpinnerWrap=False, Name="nowrapSpinner")
-               spn.bindEvent(dEvents.Hit, self.onSpinnerHit)
+               lbl = dabo.ui.dLabel(self, Caption=_("Spinner Properties"), 
FontSize=18,
+                               FontBold=True)
+               sz.appendSpacer(10)
                sz.append(lbl, halign="center")
-               sz.append(spn, halign="center")
+               sz.appendSpacer(4)
                
+               gsz = dabo.ui.dGridSizer(MaxCols=2, HGap=4, VGap=6)
+               lbl = dabo.ui.dLabel(self, Caption="Min")
+               txt = dabo.ui.dTextBox(self, DataSource=spn, DataField="Min", 
StrictNumericEntry=False)
+               gsz.append(lbl, halign="right")
+               gsz.append(txt)
+               lbl = dabo.ui.dLabel(self, Caption="Max")
+               txt = dabo.ui.dTextBox(self, DataSource=spn, DataField="Max", 
StrictNumericEntry=False)
+               gsz.append(lbl, halign="right")
+               gsz.append(txt)
+               lbl = dabo.ui.dLabel(self, Caption="Increment")
+               txt = dabo.ui.dTextBox(self, DataSource=spn, 
DataField="Increment", StrictNumericEntry=False)
+               gsz.append(lbl, halign="right")
+               gsz.append(txt)
+               lbl = dabo.ui.dLabel(self, Caption="SpinnerWrap")
+               chk = dabo.ui.dCheckBox(self, DataSource=spn, 
DataField="SpinnerWrap")
+               gsz.append(lbl, halign="right")
+               gsz.append(chk)
+               lbl = dabo.ui.dLabel(self, Caption="FontSize")
+               txt = dabo.ui.dTextBox(self, DataSource=spn, 
DataField="FontSize")
+               gsz.append(lbl, halign="right")
+               gsz.append(txt)
+               lbl = dabo.ui.dLabel(self, Caption="Height")
+               txt = dabo.ui.dTextBox(self, DataSource=spn, DataField="Height")
+               gsz.append(lbl, halign="right")
+               gsz.append(txt)
+               lbl = dabo.ui.dLabel(self, Caption="ForeColor")
+               txt = dabo.ui.dTextBox(self, ReadOnly=True, DataSource=spn, 
DataField="ForeColor")
+               btn = dabo.ui.dButton(self, Caption="...", 
OnHit=self.onForeColor, Width=36)
+               hsz = dabo.ui.dSizer("h")
+               hsz.append(txt, 1)
+               hsz.append(btn)
+               gsz.append(lbl, halign="right")
+               gsz.append(hsz)
+               lbl = dabo.ui.dLabel(self, Caption="BackColor")
+               txt = dabo.ui.dTextBox(self, ReadOnly=True, DataSource=spn, 
DataField="BackColor")
+               btn = dabo.ui.dButton(self, Caption="...", 
OnHit=self.onBackColor, Width=36)
+               hsz = dabo.ui.dSizer("h")
+               hsz.append(txt, 1)
+               hsz.append(btn)
+               gsz.append(lbl, halign="right")
+               gsz.append(hsz)
+               lbl = dabo.ui.dLabel(self, Caption="Enabled")
+               chk = dabo.ui.dCheckBox(self, DataSource=spn, 
DataField="Enabled")
+               gsz.append(lbl, halign="right")
+               gsz.append(chk)
+               sz.append(gsz, halign="center")
+               self.update()
+               self.layout()
+
+
+       def onBackColor(self, evt):
+               color = dabo.ui.getColor(self.spinner.BackColor)
+               if color is not None:
+                       self.spinner.BackColor = color
+                       self.update()
+
+       def onForeColor(self, evt):
+               color = dabo.ui.getColor(self.spinner.ForeColor)
+               if color is not None:
+                       self.spinner.ForeColor = color
+                       self.update()
+               self.layout()
+               
        def onSpinnerHit(self, evt):
                obj = evt.EventObject
-               self.Form.logit("%s Hit; Value=%s" % (obj.Name, obj.Value))
+               self.Form.logit("Hit! (%s); Value=%s" % (evt.hitType, 
obj.Value))
 
+       def onSpinUp(self, evt):
+               self.Form.logit("Spin up event.")
+       
+       def onSpinDown(self, evt):
+               self.Form.logit("Spin down event.")
+       
+       def onSpinner(self, evt):
+               self.Form.logit("Spinner event.")
 
 
+
 category = "Controls.dSpinner"
 
 overview = """

Modified: branches/paul_ss/demo/samples/dTreeView.py
===================================================================
--- branches/paul_ss/demo/samples/dTreeView.py  2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/demo/samples/dTreeView.py  2008-11-03 18:17:15 UTC (rev 
4653)
@@ -9,12 +9,13 @@
        def onTreeItemContextMenu(self, evt):
                self.activeNode = evt.itemNode
                self.Form.logit(_("Context menu on node %s") % 
self.activeNode.Caption)
+               
                pop = dabo.ui.dMenu()
-               pop.append(_("Add Child"), self.onAddChild)
-               pop.append(_("Add Sibling"), self.onAddSibling)
+               pop.append(_("Add Child"), OnHit=self.onAddChild)
+               pop.append(_("Add Sibling"), OnHit=self.onAddSibling)
                if not self.Editable:
-                       pop.append(_("Change Caption"), self.onChangeCaption)
-               pop.append(_("Delete this node"), self.onDelNode)
+                       pop.append(_("Change Caption"), 
OnHit=self.onChangeCaption)
+               pop.append(_("Delete this node"), OnHit=self.onDelNode)
                self.showContextMenu(pop)
        
        def onAddChild(self, evt):

Modified: branches/paul_ss/ide/ClassDesigner.py
===================================================================
--- branches/paul_ss/ide/ClassDesigner.py       2008-11-03 17:15:03 UTC (rev 
4652)
+++ branches/paul_ss/ide/ClassDesigner.py       2008-11-03 18:17:15 UTC (rev 
4653)
@@ -28,6 +28,7 @@
 from ClassDesignerCustomPropertyDialog import ClassDesignerCustomPropertyDialog
 from ClassDesignerSizerPalette import SizerPaletteForm
 from dabo.lib.DesignerXmlConverter import DesignerXmlConverter
+from dabo.lib import DesignerUtils
 import ClassDesignerMenu
 import dabo.lib.xmltodict as xtd
 import dabo.ui.dialogs as dlgs
@@ -162,7 +163,6 @@
                                {"name" : "ToggleButton", "class" : 
dui.dToggleButton, "order" : 280},
                                {"name" : "TreeView", "class" : dui.dTreeView, 
"order" : 290}
                                )
-               self._initSizerDefaults()
                self._initClassEvents()
 
                self.setup()
@@ -231,157 +231,6 @@
                self.start()
 
 
-       def _initSizerDefaults(self):
-               """Create a dict containing the sizer default settings
-               for each designer class.
-               """
-               self._sizerDefaults = {}
-#              defVals = {"BorderSides": ["All"], "Proportion": 1, "HAlign": 
"Left",
-#                              "VAlign": "Top", "Border": 0, "Expand": True}
-               defVals = {
-                               "G": {"BorderSides": ["All"], "Proportion": 0, 
"HAlign": "Center", "VAlign": "Middle", "Border": 0, "Expand": True, 
"RowExpand": False, "ColExpand": True},
-                               "H": {"BorderSides": ["All"], "Proportion": 1, 
"HAlign": "Left", "VAlign": "Middle", "Border": 0, "Expand": True},
-                               "V": {"BorderSides": ["All"], "Proportion": 1, 
"HAlign": "Center", "VAlign": "Top", "Border": 0, "Expand": True}
-                               }
-               # Use the defaults for each class, except where specified
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dBox] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dBitmap] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False, "HAlign" : 
"center", "VAlign" : "middle"})
-               dct["H"].update({"Proportion" : 0, "Expand" : False, "HAlign": 
"center"})
-               dct["V"].update({"Proportion" : 0, "Expand" : False, "VAlign": 
"middle"})
-               self._sizerDefaults[dui.dBitmapButton] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 0, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : False})
-               self._sizerDefaults[dui.dButton] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 0, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : False})
-               self._sizerDefaults[dui.dCheckBox] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 1, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : True})
-               self._sizerDefaults[dui.dComboBox] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 1, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : True})
-               self._sizerDefaults[dui.dDateTextBox] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dDialog] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 1, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : True})
-               self._sizerDefaults[dui.dDropdownList] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dEditBox] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dEditor] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dSlidePanelControl] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 1, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : True})
-               self._sizerDefaults[dui.dGauge] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dGrid] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dGridSizer] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dHtmlBox] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dImage] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False})
-               dct["H"].update({"Proportion" : 0, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : False})
-               self._sizerDefaults[dui.dLabel] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False, "HAlign" : 
"center", "VAlign" : "middle"})
-               dct["H"].update({"Proportion" : 1, "Expand" : False, "HAlign": 
"center"})
-               dct["V"].update({"Proportion" : 0, "Expand" : True, "VAlign": 
"middle"})
-               self._sizerDefaults[dui.dLine] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dListBox] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dListControl] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dOkCancelDialog] = dct
-               dct = copy.deepcopy(defVals)
-               dct["G"].update({"Proportion" : 0, "Expand" : False, 
"ColExpand": True, "RowExpand": False})
-               dct["H"].update({"Proportion" : 0, "Expand" : False})
-               dct["V"].update({"Proportion" : 0, "Expand" : False})
-               self._sizerDefaults[dui.dRadioList] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dPage] = dct
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dPanel] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dScrollPanel] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dPageFrame] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dPageList] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dPageSelect] = dct
-               dct = copy.deepcopy(defVals)
-               dct["H"].update({"HAlign" : "center"})
-               dct["V"].update({"VAlign" : "middle"})
-               self._sizerDefaults[dui.dPageFrameNoTabs] = dct
-               dct = copy.deepcopy(defVals)
-               self._sizerDefaults[dui.dSizer] = dct
-               dct = 

 (3108 bytes were truncated as it was too long for the email (max 40000 bytes.)


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

Reply via email to