[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6028 - trunk/gnue-forms/src
From: |
reinhard |
Subject: |
r6028 - trunk/gnue-forms/src |
Date: |
Thu, 22 Jul 2004 10:17:30 -0500 (CDT) |
Author: reinhard
Date: 2004-07-22 10:17:29 -0500 (Thu, 22 Jul 2004)
New Revision: 6028
Modified:
trunk/gnue-forms/src/GFDisplayHandler.py
Log:
Checkbox now can handle requestKEYPRESS events properly.
Modified: trunk/gnue-forms/src/GFDisplayHandler.py
===================================================================
--- trunk/gnue-forms/src/GFDisplayHandler.py 2004-07-22 15:02:28 UTC (rev
6027)
+++ trunk/gnue-forms/src/GFDisplayHandler.py 2004-07-22 15:17:29 UTC (rev
6028)
@@ -959,7 +959,7 @@
# My events...
self.subevents.registerEventListeners( {
- 'requestTOGGLECHKBOX' : self.toggle } )
+ 'requestTOGGLECHKBOX' : self.handleToggleChkbox} )
def setValue(self, value):
@@ -987,22 +987,32 @@
def _buildDisplayHelper(self, value, editing):
return self._sanitizeValue(value)
-## def getDisplay(self):
-## return self.display
+ # Helpers for user events:
- def toggle(self, event):
+ # Set checkbox to boolean value
+ def __set (self, value):
+ if value != self.work:
+ self.work = value
+ self.modified = True
+ self._buildDisplay ()
+
+ # Toggle value of checkbox
+ def __toggle (self):
+ self.work = not self.work
+ self.modified = True
+ self._buildDisplay ()
+
+
+ # Handle requestTOGGLECHKBOX event
+ def handleToggleChkbox (self, event):
if not self.editing:
return
-
if event.data == None:
- # saving our checkboxes from Python 2.3 boolean type (it kills sql
update)
- self.work = int(not self.work)
+ self.__toggle ()
else:
- self.work = self._sanitizeValue(event.data[1])
- self.modified = True
- self._buildDisplay()
- event.refreshDisplay=True
+ self.__set (self._sanitizeValue (event.data [1]))
+ event.refreshDisplay = True
def beginEdit(self, event):
@@ -1019,6 +1029,17 @@
self.cursor = 0
+ # Correctly handle requestKEYPRESS event
+ def addText(self, event):
+ if event.text == ' ':
+ self.__toggle ()
+ elif event.text in ['0', '-']: # TODO: add "Y" for current language
+ self.__set (False)
+ elif event.text in ['1', '+']: # TODO: add "N" for current language
+ self.__set (True)
+ event.refreshDisplay = True
+ return
+
# Delete backwards one character
def backspace(self, event):
return
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6028 - trunk/gnue-forms/src,
reinhard <=