commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r9475 - trunk/gnue-forms/src/uidrivers/wx26/widgets


From: reinhard
Subject: [gnue] r9475 - trunk/gnue-forms/src/uidrivers/wx26/widgets
Date: Mon, 9 Apr 2007 17:28:52 -0500 (CDT)

Author: reinhard
Date: 2007-04-09 17:28:51 -0500 (Mon, 09 Apr 2007)
New Revision: 9475

Modified:
   trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/hbox.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/page.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/vbox.py
Log:
Replaced growable property by function to avoid problems with widget creation
and insertion order.


Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py        2007-04-09 
22:02:50 UTC (rev 9474)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py        2007-04-09 
22:28:51 UTC (rev 9475)
@@ -275,6 +275,15 @@
                 % (self.__class__, event.container, spacer))
 
 
+    # -------------------------------------------------------------------------
+    # Indicate whether this box is vertically growable
+    # -------------------------------------------------------------------------
+
+    def is_growable(self):
+
+        return False
+
+
 # =============================================================================
 # Base class for managed boxes (vbox/hbox)
 # =============================================================================

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py        2007-04-09 
22:02:50 UTC (rev 9474)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py        2007-04-09 
22:28:51 UTC (rev 9475)
@@ -86,7 +86,6 @@
             xFlags |= wx.TE_PASSWORD
 
         if multiline:
-            self.growable = True
             xFlags |= wx.TE_MULTILINE
 
         # Right-align numeric fields.  This does work on wxMSW and wxGTK only.
@@ -183,7 +182,6 @@
 
     def __build_listbox(self, parent):
 
-        self.growable = True
         # NOTE: please have a look at the note on multiline text edits above
         if not self.managed:
             csize = (self.get_default_size()[0], 1)
@@ -668,6 +666,15 @@
                 item.SetSizeHints(minw, minh, maxw, maxh)
 
 
+    # -------------------------------------------------------------------------
+    # Indicate whether this box is vertically growable
+    # -------------------------------------------------------------------------
+
+    def is_growable(self):
+
+        return (self._gfObject.style.lower() in ['multiline', 'listbox'])
+
+
 # =============================================================================
 # Configuration
 # =============================================================================

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py 2007-04-09 22:02:50 UTC 
(rev 9474)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py 2007-04-09 22:28:51 UTC 
(rev 9475)
@@ -279,6 +279,15 @@
         self.scroll.SetScrollbar(position, size, count, size - 1, True)
 
 
+    # -------------------------------------------------------------------------
+    # Indicate whether this box is vertically growable
+    # -------------------------------------------------------------------------
+
+    def is_growable(self):
+
+        return True
+
+
 # =============================================================================
 # Configuration data
 # =============================================================================

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/hbox.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/hbox.py 2007-04-09 22:02:50 UTC 
(rev 9474)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/hbox.py 2007-04-09 22:28:51 UTC 
(rev 9475)
@@ -70,7 +70,7 @@
 
             item = ui_widget.widget
 
-            if ui_widget.growable:
+            if ui_widget.is_growable():
                 # For (vertically) growable widgets, let them expand.
                 flags = wx.EXPAND
             elif self._gfObject.has_label:
@@ -104,14 +104,21 @@
             # self._sizer.AddGrowableCol(self.last_item, ui_widget.stretch)
             self._sizer.AddGrowableCol(self.last_item)
 
-        # A hbox is only growable (vertically) if at least one of its members
-        # is growable.
-        if ui_widget.growable:
-            self.growable = True
-
         self.last_item += add
 
 
+    # -------------------------------------------------------------------------
+    # Indicate whether this box is vertically growable
+    # -------------------------------------------------------------------------
+
+    def is_growable(self):
+
+        for child in self._children:
+            if child.is_growable():
+                return True
+        return False
+
+
 # =============================================================================
 # Configuration data
 # =============================================================================

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/page.py 2007-04-09 22:02:50 UTC 
(rev 9474)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/page.py 2007-04-09 22:28:51 UTC 
(rev 9475)
@@ -115,7 +115,7 @@
             sizer.Add(item, ui_widget.stretch, wx.EXPAND | wx.ALL, 12)
         else:
             flags = wx.ALIGN_CENTER | wx.EXPAND
-            if not ui_widget.growable:
+            if not ui_widget.is_growable():
                 box = wx.BoxSizer(wx.HORIZONTAL)
                 box.Add(item, 1, wx.ALIGN_CENTER_VERTICAL)
                 item = box

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/vbox.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/vbox.py 2007-04-09 22:02:50 UTC 
(rev 9474)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/vbox.py 2007-04-09 22:28:51 UTC 
(rev 9475)
@@ -61,7 +61,7 @@
         if ui_widget.label:
             add = True
             flags = wx.ALIGN_CENTER_VERTICAL
-            if ui_widget.growable:
+            if ui_widget.is_growable():
                 flags |= wx.EXPAND
             self._sizer.Add(ui_widget.label, pos, span, flags)
 
@@ -82,21 +82,28 @@
 
             self._sizer.Add(item, pos, span, wx.EXPAND)
 
-        if add and ui_widget.growable:
+        if add and ui_widget.is_growable():
             # FIXME: If a stretch factor is used, the *whole* newly calculated
             # size is distributed according to this stretch factor, instead of
             # only the extra space.
             # self._sizer.AddGrowableRow(self.last_item, ui_widget.stretch)
             self._sizer.AddGrowableRow(self.last_item)
 
-        # A vbox is only growable (vertically) if at least one of its members
-        # is growable.
-        if ui_widget.growable:
-            self.growable = True
-
         self.last_item += add
 
 
+    # -------------------------------------------------------------------------
+    # Indicate whether this box is vertically growable
+    # -------------------------------------------------------------------------
+
+    def is_growable(self):
+
+        for child in self._children:
+            if child.is_growable():
+                return True
+        return False
+
+
 # =============================================================================
 # Configuration data
 # =============================================================================





reply via email to

[Prev in Thread] Current Thread [Next in Thread]