commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9064 - trunk/gnue-forms/src/uidrivers/html/widgets


From: jan
Subject: [gnue] r9064 - trunk/gnue-forms/src/uidrivers/html/widgets
Date: Sat, 25 Nov 2006 05:47:43 -0600 (CST)

Author: jan
Date: 2006-11-25 05:47:42 -0600 (Sat, 25 Nov 2006)
New Revision: 9064

Modified:
   trunk/gnue-forms/src/uidrivers/html/widgets/_base.py
   trunk/gnue-forms/src/uidrivers/html/widgets/entry.py
Log:
Update entry to use new function to update combobox choices

Modified: trunk/gnue-forms/src/uidrivers/html/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/_base.py        2006-11-24 
12:12:16 UTC (rev 9063)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/_base.py        2006-11-25 
11:47:42 UTC (rev 9064)
@@ -192,11 +192,6 @@
 
         gfObject = self._uiDriver._WidgetToGFObj [widget._id]
 
-        # Check if list of allowed value (~= foreign keys, ~= dropdown content)
-        # changed
-        if gfObject.style == "dropdown":
-            self._updateChoices (widget, gfObject)
-
         if hasattr(widget,"set_value"):
             widget.set_value (value)
 

Modified: trunk/gnue-forms/src/uidrivers/html/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/entry.py        2006-11-24 
12:12:16 UTC (rev 9063)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/entry.py        2006-11-25 
11:47:42 UTC (rev 9064)
@@ -86,35 +86,7 @@
 
         return newWidget
 
-
     # 
---------------------------------------------------------------------------
-    # Update the list of allowed values on a Combo widget if neccessary
-    # 
---------------------------------------------------------------------------
-
-    def _updateChoices (self, widget, gfObject):
-
-        if widget.style == 'dropdown' or \
-          widget.style == 'listbox':
-
-            if widget._origAllowedValues != gfObject._field._allowedValues:
-                (self.reverse, self.choices) = gfObject._field.allowedValues ()
-                self.choices.sort ()
-
-                widget._origAllowedValues = gfObject._field._allowedValues
-
-                # TODO: replace the following by the method widget.update()
-                if widget.style=="listbox":
-                    dhtml=build_entry_listbox(id, "%s", self.choices, 
gfObject.Char__height,
-                                           self.itemX, self.itemY, 
self.itemWidth, \
-                                           self.itemHeight)
-
-                else:
-                    dhtml=build_entry_combobox(id, "%s", self.choices, 
gfObject.Char__height,
-                                           self.itemX, self.itemY, 
self.itemWidth, \
-                                           self.itemHeight) 
-
-
-    # 
---------------------------------------------------------------------------
     # Enable/disable this entry
     # 
---------------------------------------------------------------------------
 
@@ -153,27 +125,36 @@
         widget = self.widgets [index]
         widget.select_region (selection1, selection2)
         
+        
+    # 
---------------------------------------------------------------------------
+    # Update the list of allowed values on a combo or list widget
+    # 
---------------------------------------------------------------------------
+        
+    def _ui_set_choices_(self, index, choices):
 
+        widget = self.widgets[index]
+        
+        # update HTML template
+        if self._gfObject.style=="listbox":
+            widget.dhtml=build_entry_listbox(widget._id, "%s", choices, 
+                                             self._gfObject.Char__height,
+                                             self.itemX, self.itemY, 
self.itemWidth, \
+                                             self.itemHeight)
+        else:
+            widget.dhtml=build_entry_combobox(widget._id, "%s", choices, 
+                                              self._gfObject.Char__height,
+                                              self.itemX, self.itemY, 
self.itemWidth, \
+                                              self.itemHeight)
+        
+        # send update to form
+        widget.update_choices(choices)
+        
+
 class HtmlEntryWidget(HtmlWidget):
 
     def __repr__(self):
         return "Html Widget: %s" % self._type
 
-    def __init__(self, parent, uidriver, type, dhtml, id):
-        self.dhtml = dhtml
-        self.value = None
-        self._type = type
-        self._parent = parent
-        self._children = []
-
-        if parent:
-            parent._children.append(self)
-
-        self._uiDriver = uidriver
-        self._id = id
-        if type=="FORM":
-            self.pno=1
-            
     def set_cursor_pos(self, pos):
         self._send_update(["set_cursor","%s" % self._id, pos]) 
 
@@ -181,6 +162,10 @@
         self._send_update(["select_region","%s" % self._id, \
                             [selection1, selection2]]) 
 
+    def update_choices(self, choices):
+        self._send_update(["update_choices","%s" % self._id, \
+                            choices]) 
+
     def get_html(self):
         if self._type == "ENTRY":
             try:





reply via email to

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