commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8292 - trunk/gnue-forms/src/GFObjects


From: johannes
Subject: [gnue] r8292 - trunk/gnue-forms/src/GFObjects
Date: Mon, 3 Apr 2006 18:22:34 -0500 (CDT)

Author: johannes
Date: 2006-03-30 11:51:05 -0600 (Thu, 30 Mar 2006)
New Revision: 8292

Modified:
   trunk/gnue-forms/src/GFObjects/GFButton.py
   trunk/gnue-forms/src/GFObjects/GFComponent.py
   trunk/gnue-forms/src/GFObjects/GFEntry.py
   trunk/gnue-forms/src/GFObjects/GFImage.py
   trunk/gnue-forms/src/GFObjects/GFObj.py
   trunk/gnue-forms/src/GFObjects/GFScrollBar.py
   trunk/gnue-forms/src/GFObjects/GFTabStop.py
Log:
Centralized assignment of block and fields, use exceptions 
derived from MarkupError to report erroneous xml-code.


Modified: trunk/gnue-forms/src/GFObjects/GFButton.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFButton.py  2006-03-30 16:56:28 UTC (rev 
8291)
+++ trunk/gnue-forms/src/GFObjects/GFButton.py  2006-03-30 17:51:05 UTC (rev 
8292)
@@ -61,12 +61,12 @@
   def _phase1Init_ (self):
 
     GFTabStop._phase1Init_ (self)
-    self._page._entryList.append (self)
 
     listeners = {
       'requestKEYPRESS': self.__handleKEYPRESS,
       'requestENTER':    self.__handleENTER
     }
+
     self.subEventHandler.registerEventListeners (listeners)
 
 

Modified: trunk/gnue-forms/src/GFObjects/GFComponent.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFComponent.py       2006-03-30 16:56:28 UTC 
(rev 8291)
+++ trunk/gnue-forms/src/GFObjects/GFComponent.py       2006-03-30 17:51:05 UTC 
(rev 8292)
@@ -27,25 +27,8 @@
 from gnue.common import events
 from GFValue import GFValue
 from gnue.forms.input import displayHandlers
-from gnue.common.apps import errors
-from gnue.common.definitions import GParser
 
-# =============================================================================
-# Exceptions
-# =============================================================================
 
-class BlockNotFoundError (GParser.MarkupError):
-  def __init__ (self, block, comp):
-    msg = u_("Component '%(comp)s' references non-existent block '%(block)s'") 
\
-          % {'comp': comp.name, 'block': block}
-    GParser.MarkupError.__init__ (self, msg, comp._url, comp._lineNumber)
-
-class FieldNotFoundError (GParser.MarkupError):
-  def __init__ (self, field, comp):
-    msg = u_("Component '%(comp)s' references non-existent field '%(field)s'") 
\
-          % {'comp': comp.name, 'field': field}
-    GParser.MarkupError.__init__ (self, msg, comp._url, comp._lineNumber)
-
 # =============================================================================
 # A component wrapper class
 # =============================================================================
@@ -94,21 +77,12 @@
     
     GFValue._phase1Init_ (self)
 
-    # ...Block
-    if not self.block in self._form._logic._blockMap:
-      raise BlockNotFoundError, (self.block, self)
+    self._block = self.getBlock ()
+    self._block._entryList.append (self)
 
-    self._block = block = self._form._logic._blockMap [self.block]
-    block._entryList.append (self)
+    self._field = self.getField ()
+    self._field._entryList.append (self)
 
-    # ... Field
-    if not self.field in block._fieldMap:
-      raise FieldNotFoundError, (self.field, self)
-
-    self._field = field = block._fieldMap [self.field]
-    field._entryList.append (self)
-
-    # ... Page
     self._page = self.findParentOfType ('GFPage')
     self._page._entryList.append (self)
     

Modified: trunk/gnue-forms/src/GFObjects/GFEntry.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFEntry.py   2006-03-30 16:56:28 UTC (rev 
8291)
+++ trunk/gnue-forms/src/GFObjects/GFEntry.py   2006-03-30 17:51:05 UTC (rev 
8292)
@@ -25,29 +25,10 @@
 The primary data entry widget in forms
 """
 
-from gnue.common.apps import errors
 from gnue.forms.input import displayHandlers
 from GFTabStop import GFTabStop
-from gnue.common.definitions import GParser
 
 # =============================================================================
-# Exceptions
-# =============================================================================
-
-class BlockNotFoundError (GParser.MarkupError):
-  def __init__ (self, block, entry):
-    msg = u_("Entry '%(entry)s' references non-existent block '%(block)s'") \
-          % {'entry': entry.name, 'block': block}
-    GParser.MarkupError.__init__ (self, msg, entry._url, entry._lineNumber)
-
-class FieldNotFoundError (GParser.MarkupError):
-  def __init__ (self, field, entry):
-    msg = u_("Entry '%(entry)s' references non-existent field '%(field)s'") \
-          % {'entry': entry.name, 'field': field}
-    GParser.MarkupError.__init__ (self, msg, entry._url, entry._lineNumber)
-
-
-# =============================================================================
 # Class for data entry widgets
 # =============================================================================
 
@@ -103,25 +84,12 @@
 
     GFTabStop._phase1Init_ (self)
 
-    # Find parents/relatives
-    # ... Block
+    self._block = self.getBlock ()
+    self._block._entryList.append (self)
 
-    if not self.block in self._form._logic._blockMap:
-      raise BlockNotFoundError, (self.block, self)
+    self._field = self.getField ()
+    self._field._entryList.append (self)
 
-    self._block = block = self._form._logic._blockMap [self.block]
-    block._entryList.append (self)
-
-    # ... Field
-    if not self.field in block._fieldMap:
-      raise FieldNotFoundError, (self.field, self)
-
-    self._field = field = block._fieldMap [self.field]
-    field._entryList.append (self)
-
-    # ... Page
-    self._page._entryList.append (self)
-
     # Have a look wether the entry will be navigable or not
     if self.style == 'label':
       self.navigable = False

Modified: trunk/gnue-forms/src/GFObjects/GFImage.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFImage.py   2006-03-30 16:56:28 UTC (rev 
8291)
+++ trunk/gnue-forms/src/GFObjects/GFImage.py   2006-03-30 17:51:05 UTC (rev 
8292)
@@ -24,30 +24,11 @@
 Wrapper class for image objects
 """
 
-from gnue.common.apps import errors
 from GFTabStop import GFTabStop
 from gnue.forms.input import displayHandlers
-from gnue.common.definitions import GParser
 
 
 # =============================================================================
-# Exceptions
-# =============================================================================
-
-class BlockNotFoundError (GParser.MarkupError):
-  def __init__ (self, block, image):
-    msg = u_("Image '%(image)s' references non-existent block '%(block)s'") \
-          % {'image': image.name, 'block': block}
-    GParser.MarkupError.__init__ (self, msg, image._url, image._lineNumber)
-
-class FieldNotFoundError (GParser.MarkupError):
-  def __init__ (self, field, image):
-    msg = u_("Image '%(image)s' references non-existent field '%(field)s'") \
-          % {'image': image.name, 'field': field}
-    GParser.MarkupError.__init__ (self, msg, image._url, image._lineNumber)
-
-
-# =============================================================================
 # Image objects
 # =============================================================================
 
@@ -83,22 +64,12 @@
 
     GFTabStop._phase1Init_ (self)
 
-    if not self.block in self._form._logic._blockMap:
-      raise BlockNotFoundError, (self.block, self)
+    self._block = self.getBlock ()
+    self._block._entryList.append (self)
 
-    self._block = block = self._form._logic._blockMap [self.block]
-    block._entryList.append (self)
+    self._field = self.getField ()
+    self._field._entryList.append (self)
 
-    # ... Field
-    if not self.field in block._fieldMap:
-      raise FieldNotFoundError, (self.field, self)
-
-    self._field = field = block._fieldMap [self.field]
-    field._entryList.append (self)
-
-    # ...Page
-    self._page._entryList.append (self)
-
     self._displayHandler = displayHandlers.factory (self,
                               self._form._instance.eventController,
                               self.subEventHandler, None, None)

Modified: trunk/gnue-forms/src/GFObjects/GFObj.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFObj.py     2006-03-30 16:56:28 UTC (rev 
8291)
+++ trunk/gnue-forms/src/GFObjects/GFObj.py     2006-03-30 17:51:05 UTC (rev 
8292)
@@ -26,9 +26,31 @@
 
 from gnue.common.definitions.GObjects import GObj
 from gnue.common.logic.GTrigger import GTriggerExtension
+from gnue.common.definitions import GParser
 
 
 # =============================================================================
+# Exceptions
+# =============================================================================
+
+class BlockNotFoundError (GParser.MarkupError):
+  def __init__ (self, item):
+    itemType = item._type [2:]
+    msg = u_("%(item)s '%(name)s' references non-existent block '%(block)s'") \
+        % {'item': itemType, 'name': item.name, 'block': item.block}
+    GParser.MarkupError.__init__ (self, msg, item._url, item._lineNumber)
+
+# =============================================================================
+
+class FieldNotFoundError (GParser.MarkupError):
+  def __init__ (self, item):
+    itemType = item._type [2:]
+    msg = u_("%(item)s '%(name)s' references non-existent field '%(field)s'") \
+          % {'item': itemType, 'name': item.name, 'field': item.field}
+    GParser.MarkupError.__init__ (self, msg, item._url, item._lineNumber)
+
+
+# =============================================================================
 # Base class for GF* objects
 # =============================================================================
 
@@ -151,6 +173,51 @@
 
 
   # ---------------------------------------------------------------------------
+  # Get a block from the block map
+  # ---------------------------------------------------------------------------
+
+  def getBlock (self):
+    """
+    Return the objects' block from the block mapping.
+
+    @returns: the block of the current object or None if the current object
+      does not support blocks.
+    @raises BlockNotFoundError: if the block specified by the object is not
+      listed in the block mapping of the logic instance
+    """
+
+    if not hasattr (self, 'block'):
+      return None
+
+    if not self.block in self._form._logic._blockMap:
+      raise BlockNotFoundError, self
+
+    return self._form._logic._blockMap [self.block]
+
+
+  # ---------------------------------------------------------------------------
+  # Get a field
+  # ---------------------------------------------------------------------------
+
+  def getField (self):
+    """
+    Returns the objects' field from the blocks' field mapping
+
+    @retruns: GFField instance or None if the object does not support fields
+    @raises FieldNotFoundError: if the field is not available through the block
+    """
+
+    if not hasattr (self, 'field'):
+      return None
+
+    if not self.field in self._block._fieldMap:
+      raise FieldNotFoundError, self
+
+    return self._block._fieldMap [self.field]
+
+
+
+  # ---------------------------------------------------------------------------
   # Virtual methods to be implemented by descendants
   # ---------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/GFObjects/GFScrollBar.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFScrollBar.py       2006-03-30 16:56:28 UTC 
(rev 8291)
+++ trunk/gnue-forms/src/GFObjects/GFScrollBar.py       2006-03-30 17:51:05 UTC 
(rev 8292)
@@ -26,22 +26,8 @@
 
 from gnue.common.apps import errors
 from gnue.forms.GFObjects.GFObj import GFObj
-from gnue.common.definitions import GParser
 
-
 # =============================================================================
-# Exceptions
-# =============================================================================
-
-class BlockNotFoundError (GParser.MarkupError):
-  def __init__ (self, block, widget):
-    msg = u_("Scrollbar '%(widget)s' references non-existent " \
-             "block '%(block)s'") \
-          % {'widget': widget.name, 'block': block}
-    GParser.MarkupError.__init__ (self, msg, widget._url, widget._lineNumber)
-
-
-# =============================================================================
 # GFScrollBar
 # =============================================================================
 
@@ -66,11 +52,7 @@
 
     GFObj._phase1Init_ (self)
 
-    # ...Block
-    if not self.block in self._form._logic._blockMap:
-      raise BlockNotFoundError, (self.block, self)
-
-    self._block = self._form._logic._blockMap [self.block]
+    self._block = self.getBlock ()
     self._block.registerScrollbar (self)
 
     self._scrollrows = getattr (self, 'scrollrows', self._block._rows)

Modified: trunk/gnue-forms/src/GFObjects/GFTabStop.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFTabStop.py 2006-03-30 16:56:28 UTC (rev 
8291)
+++ trunk/gnue-forms/src/GFObjects/GFTabStop.py 2006-03-30 17:51:05 UTC (rev 
8292)
@@ -68,6 +68,7 @@
     GFObj._phase1Init_ (self)
 
     self._page = self.findParentOfType ('GFPage')
+    self._page._entryList.append (self)
 
 
   # ---------------------------------------------------------------------------





reply via email to

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