[Top][All Lists]
[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()
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8515 - in trunk/gnue-forms/src: . GFObjects input/displayHandlers uidrivers/_base,
reinhard <=