commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8997 - in trunk/gnue-forms/src: GFObjects uidrivers/_base/widget


From: johannes
Subject: [gnue] r8997 - in trunk/gnue-forms/src: GFObjects uidrivers/_base/widgets
Date: Wed, 8 Nov 2006 04:53:48 -0600 (CST)

Author: johannes
Date: 2006-11-08 04:53:47 -0600 (Wed, 08 Nov 2006)
New Revision: 8997

Modified:
   trunk/gnue-forms/src/GFObjects/GFLabel.py
   trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py
Log:
Don't stop loading form due to invalid width or height in positioned 
layout.

issue135 testing


Modified: trunk/gnue-forms/src/GFObjects/GFLabel.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFLabel.py   2006-11-08 10:35:49 UTC (rev 
8996)
+++ trunk/gnue-forms/src/GFObjects/GFLabel.py   2006-11-08 10:53:47 UTC (rev 
8997)
@@ -59,7 +59,7 @@
 
         if not hasattr(self, 'Char__height'):
             self.Char__height = int(gConfigForms('widgetHeight'))
-        if not hasattr(self, 'Char__width'):
+        if not getattr(self, 'Char__width', 0):
             self.Char__width  = len(self.text)
 
         self._rows = getattr(self, 'rows', self._rows)

Modified: trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py       2006-11-08 
10:35:49 UTC (rev 8996)
+++ trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py       2006-11-08 
10:53:47 UTC (rev 8997)
@@ -51,6 +51,15 @@
                 current._lineNumber)
 
 # =============================================================================
+
+class InvalidSpanError(GParser.MarkupError):
+    """ An element has an invalid width or height """
+    def __init__(self, item):
+        msg = u_("Widget %(type)s '%(name)s' has an invalid width or height") \
+                % {'type': item._type[2:], 'name': item.name}
+        GParser.MarkupError.__init__(self, msg, item._url, item._lineNumber)
+
+# =============================================================================
 # Base class for ui widgets
 # =============================================================================
 
@@ -187,6 +196,8 @@
 
                 self.chr_pos  = (self.chr_y, self.chr_x)
                 self.chr_span = (self.chr_h, self.chr_w)
+                if 0 in self.chr_span:
+                    raise InvalidSpanError(self._gfObject)
 
                 if getattr(self._uiDriver, '__rearrange_boxes__', False):
                     self.__check_bounding_box()





reply via email to

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