commit-gnue
[Top][All Lists]
Advanced

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

gnue/forms samples/helloworld2.gfd src/GFDispla...


From: James Thompson
Subject: gnue/forms samples/helloworld2.gfd src/GFDispla...
Date: Sun, 31 Mar 2002 14:27:45 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     James Thompson <address@hidden> 02/03/31 14:27:45

Modified files:
        forms/samples  : helloworld2.gfd 
        forms/src      : GFDisplayHandler.py 

Log message:
        Harald Meyer's win32 multiline support patch.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/samples/helloworld2.gfd.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFDisplayHandler.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text

Patches:
Index: gnue/forms/samples/helloworld2.gfd
diff -c gnue/forms/samples/helloworld2.gfd:1.11 
gnue/forms/samples/helloworld2.gfd:1.12
*** gnue/forms/samples/helloworld2.gfd:1.11     Sun Mar 31 13:21:05 2002
--- gnue/forms/samples/helloworld2.gfd  Sun Mar 31 14:27:45 2002
***************
*** 1,52 ****
! <?xml version="1.0"?>
! 
! <!--  GNUe Designer (0.1.0)
!       Form saved on: 2001-11-04 21:41:44  -->
! 
! <form width="35" title="Input Validation Test">
!   <options>
!     <option value="0.0.2" name="version"/>
!   </options>
!   <datasource name="nil" cache="5"/>
!   <trigger type="NAMED" name="HelloWorld">
! #
! #Populate User Name from Name
! #
! from string import *
! print "User", login.user
! 
! #print "User", login.fields.user
! #print "Address", address.fields.name
! #print "self", self._value
! #print "log block", login
! 
! #login.fields.user = address.fields.name
! </trigger>
!   <page name="Page_1">
!     <block name="address" datasource="nil">
!       <label x="1" y="1" name="Label_1" text="Full Name:"/>
!       <entry x="1" y="2" field="name" name="name" width="10">
!         <trigger type="PRE-FOCUSOUT" name="Trigger_1" src="HelloWorld"/>
!       </entry>
!       <label x="1" y="3" name="Label_2" text="Address:"/>
!       <entry name="address1" x="1" y="4" width="20" max_length="5" 
field="address1"/>
!       <entry name="address2" x="1" y="5" width="20" field="address2"/>
!       <entry name="address3" x="1" y="6" width="20" field="address3"/>
!     </block>
!     <block name="login" datasource="nil">
!       <label x="1" y="7" name="Label_3" text="User Name"/>
!       <entry x="1" y="8" value="Type Here" field="user" name="user" 
width="30">
!         <trigger type="PRE-FOCUSOUT" name="Trigger_2">
!            from string import lower
! 
!            if lower(login.user[:3]) != lower(address.name[:3]):
!              print "ERROR! First 3 letters of user name MUST"
!              print "       match first three letters of full name."
!              login.user=""
!            print "User name updated to \"%s\"" % login.user</trigger>
!       </entry>
!       <entry x="1" y="9" value="Type Here" field="pass" name="password"
!              width="30"/>
!     </block>
!   </page>
! </form>
--- 1,52 ----
! <?xml version="1.0"?>
! 
! <!--  GNUe Designer (0.1.0)
!       Form saved on: 2001-11-04 21:41:44  -->
! 
! <form width="35" height="15" title="Input Validation Test">
!   <options>
!     <option value="0.0.2" name="version"/>
!   </options>
!   <datasource name="nil" cache="5"/>
!   <trigger type="NAMED" name="HelloWorld">
! #
! #Populate User Name from Name
! #
! from string import *
! print "User", login.user
! 
! #print "User", login.fields.user
! #print "Address", address.fields.name
! #print "self", self._value
! #print "log block", login
! 
! #login.fields.user = address.fields.name
! </trigger>
!   <page name="Page_1">
!     <block name="address" datasource="nil">
!       <label x="1" y="1" name="Label_1" text="Full Name:"/>
!       <entry x="1" y="2" field="name" name="name" width="10">
!         <trigger type="PRE-FOCUSOUT" name="Trigger_1" src="HelloWorld"/>
!       </entry>
!       <label x="1" y="3" name="Label_2" text="Address:"/>
!       <entry name="address1" x="1" y="4" width="20" max_length="5" 
field="address1"/>
!       <entry name="address2" x="1" y="5" width="20" field="address2"/>
!       <entry name="address3" x="1" y="6" width="20" height="4" 
field="address3"/>
!     </block>
!     <block name="login" datasource="nil">
!       <label x="1" y="10" name="Label_3" text="User Name"/>
!       <entry x="1" y="11" value="Type Here" field="user" name="user" 
width="30">
!         <trigger type="PRE-FOCUSOUT" name="Trigger_2">
!            from string import lower
! 
!            if lower(login.user[:3]) != lower(address.name[:3]):
!              print "ERROR! First 3 letters of user name MUST"
!              print "       match first three letters of full name."
!              login.user=""
!            print "User name updated to \"%s\"" % login.user</trigger>
!       </entry>
!       <entry x="1" y="12" value="Type Here" field="pass" name="password"
!              width="30"/>
!     </block>
!   </page>
! </form>
Index: gnue/forms/src/GFDisplayHandler.py
diff -c gnue/forms/src/GFDisplayHandler.py:1.17 
gnue/forms/src/GFDisplayHandler.py:1.18
*** gnue/forms/src/GFDisplayHandler.py:1.17     Sun Mar 31 13:21:05 2002
--- gnue/forms/src/GFDisplayHandler.py  Sun Mar 31 14:27:45 2002
***************
*** 162,169 ****
          if not (char in string.digits or char in '.'):
            return
  
- 
- 
      # To do overstrike, we'll fudge by first "highlighting"
      # the character to replace, then use the selection logic.
  
--- 162,167 ----
***************
*** 172,177 ****
--- 170,181 ----
        self.selection1 = self.cursor
        self.selection2 = self.selection1 + 1
  
+     # 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
***************
*** 188,201 ****
  
      else:
        # Otherwise just graft the new text in place
! 
        self.work = self.work[:self.cursor] \
                     + value                \
                     + self.work[self.cursor:]
  
        self.cursor += len(event.text)
  
! 
      event.__dropped__ = 1
      self.modified = 1
      self._buildDisplay()
--- 192,205 ----
  
      else:
        # Otherwise just graft the new text in place
!       
        self.work = self.work[:self.cursor] \
                     + value                \
                     + self.work[self.cursor:]
  
        self.cursor += len(event.text)
  
!     
      event.__dropped__ = 1
      self.modified = 1
      self._buildDisplay()
***************
*** 216,232 ****
      if self.cursor != precurs:
        event.overstrike = 1
        event.text = ""
        self.addText(event)
  
- 
    # Delete forward one character
    def delete(self, event):
      event.overstrike = 1
      event.text = ""
      self.addText(event)
  
  
- 
    #####################
    #
    # Cursor movement
--- 220,242 ----
      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)
  
    # Delete forward one character
    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)
  
  
    #####################
    #
    # Cursor movement
***************
*** 249,255 ****
  
      if self.cursor > 0:
        self.cursor -= 1
! 
  
    def moveCursorRight(self, event, selecting=0):
      if not selecting:
--- 259,267 ----
  
      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:
***************
*** 257,262 ****
--- 269,277 ----
  
      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):



reply via email to

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