commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8515 - in trunk/gnue-forms/src: . GFObjects input/displayHandler


From: reinhard
Subject: [gnue] r8515 - in trunk/gnue-forms/src: . GFObjects input/displayHandlers uidrivers/_base
Date: Wed, 28 Jun 2006 08:16:23 -0500 (CDT)

Author: reinhard
Date: 2006-06-28 08:16:22 -0500 (Wed, 28 Jun 2006)
New Revision: 8515

Modified:
   trunk/gnue-forms/src/GFForm.py
   trunk/gnue-forms/src/GFObjects/GFEntry.py
   trunk/gnue-forms/src/GFObjects/GFField.py
   trunk/gnue-forms/src/input/displayHandlers/Checkbox.py
   trunk/gnue-forms/src/input/displayHandlers/Cursor.py
   trunk/gnue-forms/src/input/displayHandlers/Dropdown.py
   trunk/gnue-forms/src/input/displayHandlers/Listbox.py
   trunk/gnue-forms/src/input/displayHandlers/Password.py
   trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
Log:
Changed beginEdit and endEdit into normal methods that return proper
exceptions. Needed for transition of menus/toolbars from events to actions.

issue79 in-progress


Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py      2006-06-28 02:37:22 UTC (rev 8514)
+++ trunk/gnue-forms/src/GFForm.py      2006-06-28 13:16:22 UTC (rev 8515)
@@ -359,7 +359,7 @@
         """
         Tell the UI to beep (if possible)
         """
-        self.dispatchEvent('formBEEP', _form=self)
+        self.beep()
       
     # -------------------------------------------------------------------------
 
@@ -557,6 +557,18 @@
         self._instance.updateStatusBar(tip=message, form=self)
 
 
+    # -------------------------------------------------------------------------
+    # Beep
+    # -------------------------------------------------------------------------
+
+    def beep(self):
+        """
+        Makes a noise.
+        """
+
+        self.dispatchEvent('formBEEP', _form=self)
+
+
     # =========================================================================
     # Focus functions
     # =========================================================================
@@ -1465,20 +1477,24 @@
         save it's value to the virtual form.
         @return: Boolean, True if succeeded, False if failed.
         """
-        event = events.Event('endEDITMODE', None, _form=self)
-        self.dispatchEvent(event)
-        return not event.__error__
+        try:
+            if isinstance(self._currentEntry, GFEntry):
+                self._currentEntry.endEdit()
+            return True
+        except errors.UserError, e:
+            self.status_message(e.getMessage())
+            self.beep()
+            return False
 
     # -------------------------------------------------------------------------
     # Start editing mode of the current entry
     # -------------------------------------------------------------------------
 
     def beginEditing(self):
-        event = events.Event('beginEDITMODE', None, _form = self)
-        self.dispatchEvent(event)
+        if isinstance(self._currentEntry, GFEntry):
+            self._currentEntry.beginEdit()
 
 
-
     # -------------------------------------------------------------------------
     # Step to previous record in block
     # -------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/GFObjects/GFEntry.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFEntry.py   2006-06-28 02:37:22 UTC (rev 
8514)
+++ trunk/gnue-forms/src/GFObjects/GFEntry.py   2006-06-28 13:16:22 UTC (rev 
8515)
@@ -177,3 +177,18 @@
     def triggerGetNavigable(self):
 
         return self.navigable
+
+
+    # -------------------------------------------------------------------------
+    # Begin/end editing mode for this entry
+    # -------------------------------------------------------------------------
+
+    def beginEdit(self):
+
+        self._displayHandler.beginEdit()
+
+    # -------------------------------------------------------------------------
+
+    def endEdit(self):
+
+        self._displayHandler.endEdit()

Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py   2006-06-28 02:37:22 UTC (rev 
8514)
+++ trunk/gnue-forms/src/GFObjects/GFField.py   2006-06-28 13:16:22 UTC (rev 
8515)
@@ -170,12 +170,14 @@
     # Determine wether a field is editable or not
     # -------------------------------------------------------------------------
 
-    def isEditable(self, mode):
+    def isEditable(self):
 
+        mode = self._form.getCurrentMode()
+
         if mode == 'query':
             return self.isQueryable () and self._block.queryable
 
-        elif self._block._form.readonly:
+        elif self._form.readonly:
             return False
         else:
             return (mode == 'new' and self.editable in ('Y', 'new', 'null') \

Modified: trunk/gnue-forms/src/input/displayHandlers/Checkbox.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Checkbox.py      2006-06-28 
02:37:22 UTC (rev 8514)
+++ trunk/gnue-forms/src/input/displayHandlers/Checkbox.py      2006-06-28 
13:16:22 UTC (rev 8515)
@@ -104,9 +104,9 @@
     event.refreshDisplay = True
 
 
-  def _beginEdit(self, event):
+  def beginEdit(self):
 
-    self.editing = self.field.isEditable(event._form.getCurrentMode())
+    self.editing = self.field.isEditable()
     self.modified = False
 
     self.setValue(self.field.getValue())
@@ -147,4 +147,4 @@
     if event.text != None:
       self.work = self._sanitizeValue(event.data)
       self.modified = True
-      self._buildDisplay()
\ No newline at end of file
+      self._buildDisplay()

Modified: trunk/gnue-forms/src/input/displayHandlers/Cursor.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Cursor.py        2006-06-28 
02:37:22 UTC (rev 8514)
+++ trunk/gnue-forms/src/input/displayHandlers/Cursor.py        2006-06-28 
13:16:22 UTC (rev 8515)
@@ -102,8 +102,6 @@
                  'requestCURSORMOVE'   : self._moveCursor,
                  'requestBACKSPACE'    : self._backspace,
                  'requestDELETE'       : self._delete,
-                 'beginEDITMODE'       : self._beginEdit,
-                 'endEDITMODE'         : self._endEdit,
                  'requestENTER'        : self.__handleENTER,
 
                  # Selection/clipboard events
@@ -193,7 +191,7 @@
   # Editing methods
   #
 
-  def _beginEdit(self, event):
+  def beginEdit(self):
     """
     Notifies the handler that it will be doing edits.
     
@@ -201,7 +199,7 @@
     edit mode, syncs the current value with the GFField associated with this
     display handler, and creates the string to display in the form.
     """
-    self.editing = self.field.isEditable(event._form.getCurrentMode())
+    self.editing = self.field.isEditable()
     self.modified = False
 
     # TODO: Replace with formatter
@@ -213,7 +211,7 @@
     # Ensure cursor is properly placed.
     self.generateRefreshEvent()
 
-  def _endEdit(self, event):
+  def endEdit(self):
     """
     Called when a widget loses focus or when ENTER is hit.
     """
@@ -224,16 +222,6 @@
       self.field.allowedValues()
       self._loadedAllowedValues = True
 
-
-    # If this event returns __error__, then
-    # the input was invalid and the entry is
-    # still in editing mode.  __errortext__
-    # will contain an appropriate error message.
-    #
-    # If no error, then event.modified is true
-    # if the field was modified and the event's
-    # result is the final entry value.
-
     self._selection1 = None
 
     if self.modified:
@@ -241,21 +229,15 @@
       if self._buildValue():
         if self.field._allowedValues and \
            not self.field._allowedValues.has_key("%s" % self.value):
-          self.work = ""
-          event.__error__ = True
-          event.__errortext__ = u_("Invalid value '%s' for field") % self.value
-          return
+            raise InvalidFieldValueError, (self.field.name, self.value)
 
         self.editing = False
-        event.__results__ = self.value
-        event.modified = self.modified
         self.field.setValue(self.value)
 
         self._buildDisplay()
 
       else:
-        self.dispatchEvent(events.Event('formALERT',
-          u_("Invalid input: '%s'") % self.work,_form=event._form))
+        raise InvalidFieldValueError, (self.field.name, self.work)
     else:
       self.editing = False
 

Modified: trunk/gnue-forms/src/input/displayHandlers/Dropdown.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Dropdown.py      2006-06-28 
02:37:22 UTC (rev 8514)
+++ trunk/gnue-forms/src/input/displayHandlers/Dropdown.py      2006-06-28 
13:16:22 UTC (rev 8515)
@@ -43,11 +43,14 @@
     # My events...
     self.subEventHandler.registerEventListeners( {
            'requestREPLACEVALUE' : self._replaceText,
-           'requestCOMBODROPPED' : self._beginEdit } )
+           'requestCOMBODROPPED' : self._comboDropped } )
 
 
-  def _beginEdit(self, event):
+  def _comboDropped(self, event):
+    self.beginEdit()
 
+  def beginEdit(self):
+
     if self.editing == True and self.modified == False:
       return
 
@@ -55,7 +58,7 @@
       self.field.allowedValues()
       self._loadedAllowedValues = True
 
-    self.editing = self.field.isEditable(event._form.getCurrentMode())
+    self.editing = self.field.isEditable()
     self.modified = False
 
     # TODO: Replace with formatter

Modified: trunk/gnue-forms/src/input/displayHandlers/Listbox.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Listbox.py       2006-06-28 
02:37:22 UTC (rev 8514)
+++ trunk/gnue-forms/src/input/displayHandlers/Listbox.py       2006-06-28 
13:16:22 UTC (rev 8515)
@@ -44,7 +44,7 @@
            'requestREPLACEVALUE' : self._replaceText } )
 
 
-  def _beginEdit(self, event):
+  def beginEdit(self):
     if self.editing == True and self.modified == False:
       return
 

Modified: trunk/gnue-forms/src/input/displayHandlers/Password.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Password.py      2006-06-28 
02:37:22 UTC (rev 8514)
+++ trunk/gnue-forms/src/input/displayHandlers/Password.py      2006-06-28 
13:16:22 UTC (rev 8515)
@@ -44,14 +44,14 @@
     """
     BaseCursor.__init__(self, entry, eventHandler, subEventHandler)
 
-  def _beginEdit(self, event):
+  def beginEdit(self):
     """
     Notifies the handler that it will be doing edits.
     
     Serves the same function as the method in FieldDisplayHandler
     except for the initial display value?
     """
-    self.editing = self.field.isEditable(event._form.getCurrentMode())
+    self.editing = self.field.isEditable()
     self.modified = False
 
     # TODO: Replace with formatter

Modified: trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/UIdriver.py    2006-06-28 02:37:22 UTC 
(rev 8514)
+++ trunk/gnue-forms/src/uidrivers/_base/UIdriver.py    2006-06-28 13:16:22 UTC 
(rev 8515)
@@ -356,7 +356,7 @@
       self._uiFocusWidget = self._gfObjToUIWidget [object]
       self._uiFocusIndex = object._visibleIndex
       self._uiFocusWidget.indexedFocus (object._visibleIndex)
-      self.dispatchEvent ('beginEDITMODE', object, _form = object._form)
+      object._form.beginEditing()
 
 
   # ---------------------------------------------------------------------------





reply via email to

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