daboide Commit
Revision 859
Date: 2007-07-05 16:20:44 -0700 (Thu, 05 Jul 2007)
Author: Ed
Trac: http://svn.dabodev.com/trac/daboide/changeset/859

Changed:
U   trunk/ClassDesigner.py

Log:
Fixes the problem reported by Miguel regarding the Class Designer not 
respecting the saved proportion of various sizers.


Diff:
Modified: trunk/ClassDesigner.py
===================================================================
--- trunk/ClassDesigner.py      2007-06-22 11:58:45 UTC (rev 858)
+++ trunk/ClassDesigner.py      2007-07-05 23:20:44 UTC (rev 859)
@@ -778,7 +778,6 @@
                                ret = obj
                                
                        elif clsname in ("LayoutSizer", "LayoutBorderSizer"):
-                               atts = dictStringify(atts)
                                ornt = self._extractKey(atts, "Orientation", 
"h")
                                slots = int(self._extractKey(atts, "SlotCount", 
"1"))
                                useBox, boxCaption = None, None
@@ -787,13 +786,22 @@
                                        boxCaption = self._extractKey(atts, 
"Caption", None)
                                sz, pnl = self.addSizer("box", orient=ornt, 
slots=slots,
                                                useBox=useBox, 
boxCaption=boxCaption)
+                               szCont = sz.ControllingSizer
+                               itm = sz.ControllingSizerItem
+
+                               is2D = isinstance(szCont, dabo.ui.dGridSizer)
+                               defaults = {True: 
LayoutSaverMixin.szItemDefaults2D, 
+                                               False: 
LayoutSaverMixin.szItemDefaults1D}[is2D]
+                               defAtts = {}
+                               for key, val in defaults.items():
+                                       defAtts["Sizer_%s" % key] = val
+                               defAtts.update(dictStringify(atts))             
                
+                               atts = defAtts
                                sz.setPropertiesFromAtts(atts)
                                if classID:
                                        sz.classID = classID
                                if not fromSzr:
                                        parent.Sizer = sz
-                               szCont = sz.ControllingSizer
-                               itm = sz.ControllingSizerItem
                                if szCont is not None and itm is not None:
                                        szCont.setItemProps(itm, sizerInfoDict)
                                if kids:
@@ -814,10 +822,18 @@
                                rows = int(self._extractKey(atts, "Rows", "1"))
                                cols = int(self._extractKey(atts, "Columns", 
"1"))
                                sz, pnl = self.addSizer("grid", rows=rows, 
cols=cols)
+                               szCont = sz.ControllingSizer
+                               is2D = isinstance(szCont, dabo.ui.dGridSizer)
+                               defaults = {True: 
LayoutSaverMixin.szItemDefaults2D, 
+                                               False: 
LayoutSaverMixin.szItemDefaults1D}[is2D]
+                               defAtts = {}
+                               for key, val in defaults.items():
+                                       defAtts["Sizer_%s" % key] = val
+                               defAtts.update(dictStringify(atts))             
                
+                               atts = defAtts
                                sz.setPropertiesFromAtts(atts)
                                if not fromSzr:
                                        parent.Sizer = sz
-                               szCont = sz.ControllingSizer
                                itm = sz.ControllingSizerItem
                                if szCont is not None and itm is not None:
                                        szCont.setItemProps(itm, sizerInfoDict)
@@ -3165,7 +3181,7 @@
                                        cscs = controllingSizer.ControllingSizer
                                        pos = 
controllingSizer.getPositionInSizer()
                                        cscs.remove(controllingSizer)
-                                       cscs.insert(pos, newSizer, 1, "x")
+                                       cscs.insert(pos, newSizer)
                                else:
                                        controllingSizer.Parent.Sizer = newSizer
                else:
@@ -3190,13 +3206,9 @@
                                        oldItem = 
controllingSizer.getItemByRowCol(rr, cc)
                                        if oldItem:
                                                controllingSizer.remove(oldItem)
-                                       szItem = 
controllingSizer.append(newSizer, row=rr,
-                                                       col=cc, layout="expand")
+                                       szItem = 
controllingSizer.append(newSizer, row=rr, col=cc)
                                else:
-                                       if isSpacer:
-                                               szItem = 
controllingSizer.insert(sizerPos, newSizer)
-                                       else:
-                                               szItem = 
controllingSizer.insert(sizerPos, newSizer, 1, "x")
+                                       szItem = 
controllingSizer.insert(sizerPos, newSizer)
                        else:
                                obj.Sizer = newSizer
 




_______________________________________________
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/dabo-dev/[EMAIL PROTECTED]

Reply via email to