commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8935 - trunk/gnue-forms/src/uidrivers/_base


From: jamest
Subject: [gnue] r8935 - trunk/gnue-forms/src/uidrivers/_base
Date: Thu, 26 Oct 2006 12:58:28 -0500 (CDT)

Author: jamest
Date: 2006-10-26 12:58:28 -0500 (Thu, 26 Oct 2006)
New Revision: 8935

Modified:
   trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
Log:
cleanup widget building


Modified: trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/UIdriver.py    2006-10-26 10:31:56 UTC 
(rev 8934)
+++ trunk/gnue-forms/src/uidrivers/_base/UIdriver.py    2006-10-26 17:58:28 UTC 
(rev 8935)
@@ -121,9 +121,6 @@
                                             # UIfoo widgets with the GFObj used
                                             # as the key
 
-    self._gfObjToToolkitWidgets = {}        # the GFObj to UI widget cross ref
-
-
     # Import and register supported widgets in UI driver
     self._supportedWidgets = {}
 
@@ -194,64 +191,48 @@
   # ---------------------------------------------------------------------------
 
   def _buildUI (self, object, formName):
-    try:
-      #
-      # Look up the parent GObj of the current obj
-      #
-      if object._type == "GFPage":
-        parent = object.findParentOfType (None)
+      try:
+          supported = self._supportedWidgets [object._type]
+      except KeyError:   
+          assert gDebug(4, "No UI Widget provided for type '%s' in _buildUI" % 
object._type)
       else:
-        parent = object.getParent ()
+              
+          # Look up the parent GObj of the ojbect
+          if object._type == "GFPage":
+              parent = object.findParentOfType (None)
+          else:
+              parent = object.getParent ()
 
-      # find the ui widget that corrosponds with that parent
-      uiParent = self
-      if parent and self._gfObjToUIWidget.has_key (parent):
-        uiParent = self._gfObjToUIWidget [parent]
+          # find the ui widget that corrosponds with that parent
+          uiParent = self._gfObjToUIWidget.get(parent, self)
+      
+          # Build widget
+          event = self._updateCreateEvent (events.Event ('CreateUIWidget', 
None,
+                        object       = object,
+                        parent       = uiParent,
+                        #container   = self.currentWidget[0],
+                        textWidth    = self.textWidth,
+                        textHeight   = self.textHeight,
+                        widgetWidth  = self.widgetWidth,
+                        widgetHeight = self.widgetHeight,
+                        interface    = self,
+                        initialize   = 1))      
+          uiWidget  = supported.configuration ['baseClass'] (event)
+          
+          # Store parent GFForm reference in widget
+          uiWidget._form = self._form
+          
+          # Store UIWidget reference with GFObj based object that created it
+          object.uiWidget = uiWidget
 
-      event = self._updateCreateEvent (events.Event ('CreateUIWidget', None,
-                   object       = object,
-                   parent       = uiParent,
-                   #container   = self.currentWidget[0],
-                   textWidth    = self.textWidth,
-                   textHeight   = self.textHeight,
-                   widgetWidth  = self.widgetWidth,
-                   widgetHeight = self.widgetHeight,
-                   interface    = self,
-                   initialize   = 1))
+          # Assign to cross refernce dicts as needed 
+          self._gfObjToUIWidget [object] = uiWidget
+          
+          if object._type == 'GFForm':
+            self._formNameToUIForm [formName] = uiWidget
+            self._formNameToGFForm [formName] = object
 
-      supported = self._supportedWidgets [object._type]
-      uiWidget  = supported.configuration ['baseClass'] (event)
-      uiWidget._form = self._form
 
-      #
-      # Add to the cross refernce
-      #
-      self._gfObjToUIWidget [object] = uiWidget
-      object.uiWidget = uiWidget
-
-      #
-      # If the current object is a GFForm then add it to the
-      # dictionary.
-      #
-
-      if object._type == 'GFForm':
-        self._formNameToUIForm [formName] = uiWidget
-        self._formNameToGFForm [formName] = object
-
-      #
-      # GFObject to list of widget set specific widgets
-      # associated with it
-      #
-      # Note: The list would be empty on hidden fields
-      if not uiWidget.widgets == []:
-        self._gfObjToToolkitWidgets [object] = uiWidget.widgets
-
-      assert gDebug (5, "Widget is %s" % uiWidget.widgets)
-
-    except KeyError:
-      assert gDebug(4, "KeyError in _buildUI")
-
-
   #############################################################################
   #
   # Public Interface
@@ -271,10 +252,9 @@
 
     # Create the UI from the GFForm passed in
     form.walk (self._buildUI, formName = formName)
+    
     self._gfObjToUIWidget [form].phaseInit ()
 
-    self._formNameToUIForm [formName]._gfObjToToolkitWidgets = \
-        self._gfObjToToolkitWidgets
     self._formNameToUIForm [formName]._gfObjToUIWidget = self._gfObjToUIWidget
     self._formNameToUIForm [formName]._form = form
 





reply via email to

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