[Top][All Lists]
[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)
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8292 - trunk/gnue-forms/src/GFObjects,
johannes <=