[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue common/src/GObjects.py forms/samples/trigg...
From: |
James Thompson |
Subject: |
gnue common/src/GObjects.py forms/samples/trigg... |
Date: |
Tue, 16 Apr 2002 22:05:18 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: James Thompson <address@hidden> 02/04/16 22:05:18
Modified files:
common/src : GObjects.py
forms/samples/trigger: trigger.gfd
forms/src : GFDisplayHandler.py GFForm.py
forms/src/GFObjects: GFButton.py GFEntry.py
Log message:
Moved normal text field validation into display handler
Clean up
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GObjects.py.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/samples/trigger/trigger.gfd.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFDisplayHandler.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFForm.py.diff?tr1=1.163&tr2=1.164&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFButton.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFEntry.py.diff?tr1=1.53&tr2=1.54&r1=text&r2=text
Patches:
Index: gnue/common/src/GObjects.py
diff -c gnue/common/src/GObjects.py:1.31 gnue/common/src/GObjects.py:1.32
*** gnue/common/src/GObjects.py:1.31 Thu Apr 4 18:02:31 2002
--- gnue/common/src/GObjects.py Tue Apr 16 22:05:17 2002
***************
*** 107,113 ****
content = ""
for child in self._children:
if isinstance(child, GContent):
! content = content + child._content
return content
def showTree(self, indent=0):
--- 107,113 ----
content = ""
for child in self._children:
if isinstance(child, GContent):
! content += child._content
return content
def showTree(self, indent=0):
***************
*** 137,144 ****
str = repr(val)
else:
continue
! r = r + " <" + k + ">" + str + "</" + k + ">\n"
! r = r + " </options>\n</" + xml_outer + ">\n"
return r
#
--- 137,144 ----
str = repr(val)
else:
continue
! r += " <" + k + ">" + str + "</" + k + ">\n"
! r += " </options>\n</" + xml_outer + ">\n"
return r
#
***************
*** 172,202 ****
else:
addl = ' %s="%s"' % (attribute, saxutils.escape('%s' % val))
if len(addl) + pos > 78:
! xmlString = xmlString + "\n" + " " * indent + addl
pos = indent
else:
! xmlString = xmlString + addl
! pos = pos + len(addl)
if len(self._children):
hasContent = 0
for child in self._children:
hasContent = hasContent or isinstance(child,GContent)
if hasContent:
! xmlString = xmlString + ">"
else:
! xmlString = xmlString + ">\n"
if treeDump:
for child in self._children:
! xmlString = xmlString + child.dumpXML(lookupDict, 1,gap+" ")
if hasContent:
! xmlString = xmlString + "</%s>\n" % (xmlEntity)
else:
! xmlString = xmlString + "%s</%s>\n" % (gap[:-2], xmlEntity)
else:
! xmlString = xmlString + "/>\n"
return xmlString
--- 172,202 ----
else:
addl = ' %s="%s"' % (attribute, saxutils.escape('%s' % val))
if len(addl) + pos > 78:
! xmlString += "\n" + " " * indent + addl
pos = indent
else:
! xmlString += addl
! pos += len(addl)
if len(self._children):
hasContent = 0
for child in self._children:
hasContent = hasContent or isinstance(child,GContent)
if hasContent:
! xmlString += ">"
else:
! xmlString += ">\n"
if treeDump:
for child in self._children:
! xmlString += child.dumpXML(lookupDict, 1,gap+" ")
if hasContent:
! xmlString += "</%s>\n" % (xmlEntity)
else:
! xmlString += "%s</%s>\n" % (gap[:-2], xmlEntity)
else:
! xmlString += "/>\n"
return xmlString
Index: gnue/forms/samples/trigger/trigger.gfd
diff -c gnue/forms/samples/trigger/trigger.gfd:1.14
gnue/forms/samples/trigger/trigger.gfd:1.15
*** gnue/forms/samples/trigger/trigger.gfd:1.14 Fri Feb 1 00:07:14 2002
--- gnue/forms/samples/trigger/trigger.gfd Tue Apr 16 22:05:17 2002
***************
*** 12,21 ****
<block name="block1">
<label x="1" y="1" name="Label_1" alignment="center" width="48"
text="Field One"/>
! <entry x="1" y="2" name="one" width="48">
<trigger name="Trigger_A" type="PRE-FOCUSOUT">
block1.three.__properties__.readonly = True
! block1.three = "You can't change me till you exit field 5!"
</trigger>
</entry>
--- 12,21 ----
<block name="block1">
<label x="1" y="1" name="Label_1" alignment="center" width="48"
text="Field One"/>
! <entry x="1" y="2" name="one" width="48" typecast="number">
<trigger name="Trigger_A" type="PRE-FOCUSOUT">
block1.three.__properties__.readonly = True
! block1.three = "5"
</trigger>
</entry>
***************
*** 26,32 ****
</trigger>
</entry>
<label x="1" y="5" name="Label_1a" text="Field Three"/>
! <entry x="1" y="6" name="three" width="48"/>
<label x="1" y="7" name="Label_2a" text="Field Four"/>
<entry x="1" y="8" name="four" width="48"/>
<label x="1" y="9" name="Label_3a" text="Field Five"/>
--- 26,32 ----
</trigger>
</entry>
<label x="1" y="5" name="Label_1a" text="Field Three"/>
! <entry x="1" y="6" name="three" width="48" typecast="number"/>
<label x="1" y="7" name="Label_2a" text="Field Four"/>
<entry x="1" y="8" name="four" width="48"/>
<label x="1" y="9" name="Label_3a" text="Field Five"/>
Index: gnue/forms/src/GFDisplayHandler.py
diff -c gnue/forms/src/GFDisplayHandler.py:1.19
gnue/forms/src/GFDisplayHandler.py:1.20
*** gnue/forms/src/GFDisplayHandler.py:1.19 Fri Apr 12 12:09:54 2002
--- gnue/forms/src/GFDisplayHandler.py Tue Apr 16 22:05:17 2002
***************
*** 91,97 ****
#
# Editing methods
#
!
def beginEdit(self, event):
self.editing = 1
self.modified = 0
--- 91,101 ----
#
# Editing methods
#
!
! #
! # beginEdit
! # called when a widget first gets focus
! #
def beginEdit(self, event):
self.editing = 1
self.modified = 0
***************
*** 103,114 ****
self.cursor = len(self.display)
!
def endEdit(self, event):
-
if not self.editing:
return
# If this event returns __error__, then
# the input was invalid and the entry is
# still in editing mode. __errortext__
--- 107,126 ----
self.cursor = len(self.display)
! #
! # endEdit
! # called when a widget loses focus or
! # when enter is hit
! #
def endEdit(self, event):
if not self.editing:
return
+ if not self._loadedAllowedValues:
+ self.entry.allowedValues()
+ self._loadedAllowedValues = 1
+
+
# If this event returns __error__, then
# the input was invalid and the entry is
# still in editing mode. __errortext__
***************
*** 122,127 ****
--- 134,145 ----
if self.modified:
if self._buildValue():
+ if self.entry._allowedValues and not
self.entry._allowedValues.has_key(str(self.value)):
+ self.work = ""
+ event.__error__ = 1
+ event.__errortext__ = "Invalid value '%s' for field" % self.value
+ return
+
self.editing = 0
event.__results__ = self.value
event.modified = self.modified
***************
*** 178,189 ****
self.selection1 = self.cursor
self.selection2 = self.selection1 + 1
- ## # win: if we want to add a newline and are under windows
- ## # replace it with \13\10
- ## if event.text == '\n' and sys.platform == 'win32':
- ## event.text = chr(13) + chr(10)
- ## value = event.text
-
if self.selection1 != None:
# If text is selected, then we will replace
--- 196,201 ----
***************
*** 227,235 ****
if self.cursor != precurs:
event.overstrike = 1
event.text = ""
- ## # win: if deleting a new line, delete both of its characters
- ## if ord(self.work[self.cursor]) == 13 and sys.platform == 'win32':
- ## self.addText(event)
self.addText(event)
--- 239,244 ----
***************
*** 237,245 ****
def delete(self, event):
event.overstrike = 1
event.text = ""
- ## # win: if deleting a new line, delete both of its characters
- ## if self.cursor < len(self.work) and ord(self.work[self.cursor]) == 13
and sys.platform == 'win32':
- ## self.addText(event)
self.addText(event)
--- 246,251 ----
***************
*** 266,274 ****
if self.cursor > 0:
self.cursor -= 1
- ## # win: step over both of newline's characters
- ## if ord(self.work[self.cursor]) == 10 and sys.platform == 'win32':
- ## self.cursor -= 1
def moveCursorRight(self, event, selecting=0):
if not selecting:
--- 272,277 ----
***************
*** 276,285 ****
if self.cursor < len(self.display):
self.cursor += 1
- ## # win: step over both of newline's characters
- ## if ord(self.work[self.cursor-1]) == 13 and sys.platform == 'win32':
- ## self.cursor += 1
-
def moveCursorToEnd(self, event, selecting=0):
if not selecting:
--- 279,284 ----
***************
*** 394,408 ****
def __init__(self, entry, eventHandler, formatter=None):
GFEventAware.__init__(self, eventHandler)
! self.entry = entry # Our entry
! self.editing = 0 # In editing mode??
! self.modified = 0 # Have we been modified??
! self.value = None # The latest db-compat value
! self.work = "" # Our working value
! self.display = "" # The latest display-formatted value
! self.selection1 = None # Start of highlight
! self.selection2 = None # End of highlight
! self.cursor = 0 # Cursor position
# TODO: replace w/an event that asks the
# TODO: UIdriver if this should happen!
--- 393,408 ----
def __init__(self, entry, eventHandler, formatter=None):
GFEventAware.__init__(self, eventHandler)
! self.entry = entry # Our entry
! self.editing = 0 # In editing mode??
! self.modified = 0 # Have we been modified??
! self.value = None # The latest db-compat value
! self.work = "" # Our working value
! self.display = "" # The latest display-formatted value
! self.selection1 = None # Start of highlight
! self.selection2 = None # End of highlight
! self.cursor = 0 # Cursor position
! self._loadedAllowedValues = 0 # the allowed values already been loaded
# TODO: replace w/an event that asks the
# TODO: UIdriver if this should happen!
***************
*** 633,640 ****
def beginEdit(self, event):
! if not hasattr(self.entry,'_allowedValues'):
self.entry.allowedValues()
self.editing = 1
self.modified = 0
--- 633,641 ----
def beginEdit(self, event):
! if not self._loadedAllowedValues and not
hasattr(self.entry,'_allowedValues'):
self.entry.allowedValues()
+ self._loadedAllowedValues = 1
self.editing = 1
self.modified = 0
Index: gnue/forms/src/GFForm.py
diff -c gnue/forms/src/GFForm.py:1.163 gnue/forms/src/GFForm.py:1.164
*** gnue/forms/src/GFForm.py:1.163 Sun Apr 14 01:13:04 2002
--- gnue/forms/src/GFForm.py Tue Apr 16 22:05:17 2002
***************
*** 514,521 ****
def nextEntry(self):
nextEntry = None
keepNext = 0
- if not self._currentEntry.verifyValue():
- return "Invalid field value"
for object in self._currentEntry._block._children:
# Put the first field as the next to rollover
--- 514,519 ----
***************
*** 551,557 ****
# find last entry widget
nextEntry = None
lastEntry = self._currentEntry
- if not self._currentEntry.verifyValue(): return
for object in self._currentEntry._block._children:
if object.getObjectType() in TabStops and \
--- 549,554 ----
Index: gnue/forms/src/GFObjects/GFButton.py
diff -c gnue/forms/src/GFObjects/GFButton.py:1.4
gnue/forms/src/GFObjects/GFButton.py:1.5
*** gnue/forms/src/GFObjects/GFButton.py:1.4 Tue Nov 20 21:42:25 2001
--- gnue/forms/src/GFObjects/GFButton.py Tue Apr 16 22:05:18 2002
***************
*** 41,50 ****
self._type = "GFButton"
self.label = ""
- def verifyValue(self):
- return 1
-
-
--- 41,46 ----
Index: gnue/forms/src/GFObjects/GFEntry.py
diff -c gnue/forms/src/GFObjects/GFEntry.py:1.53
gnue/forms/src/GFObjects/GFEntry.py:1.54
*** gnue/forms/src/GFObjects/GFEntry.py:1.53 Sun Apr 14 01:13:04 2002
--- gnue/forms/src/GFObjects/GFEntry.py Tue Apr 16 22:05:18 2002
***************
*** 52,58 ****
self.style="default"
# Runtime variables
- self._oldval=""
self._uppercase = 0
self._lowercase = 0
self._numeric = 0
--- 52,57 ----
***************
*** 209,215 ****
#CheckBox does not work if comment following "if" block (ra3vat)
if value == '' and self.style == 'checkbox': value = 0
- self._oldval = value
return value
def setValue(self, value):
--- 208,213 ----
***************
*** 217,226 ****
value = 0
# Number fields
if self.typecast == "number" and value != None:
value = float(value)
- self._oldval = value
if self._block.mode == 'query':
self._block._queryValues[self] = value
--- 215,226 ----
value = 0
# Number fields
+ # TODO: This is being done in the display handler but
+ # TODO: triggers don't use that. We're leaving here
+ # TODO: until we decide what to do. jst
if self.typecast == "number" and value != None:
value = float(value)
if self._block.mode == 'query':
self._block._queryValues[self] = value
***************
*** 230,253 ****
else:
self._block._resultSet.current.setField(self.field,value)
self._block._form.updateUIEntry(self)
-
- #
- # verifyValue
- #
- def verifyValue(self):
- if not self._allowedValues:
- self.allowedValues()
-
- # If empty skip test
- # TODO: number type is blowing this function up but I'm not
- # TODO: sure if jcater wanted to keep data in it's backend
- # TODO: type while in the recordSets
-
- value = 1
- if len("%s" % self._oldval) != 0:
- if self._allowedValues:
- value = self._allowedValues.has_key("%s" % self._oldval)
- return value
#
# allowedValues
--- 230,235 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/src/GObjects.py forms/samples/trigg...,
James Thompson <=