commit-gnue
[Top][All Lists]
Advanced

[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 ----



reply via email to

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