commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef client/gfclient samples/trigger/trig...


From: James Thompson
Subject: gnue/gnuef client/gfclient samples/trigger/trig...
Date: Tue, 20 Mar 2001 12:23:12 -0800

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 01/03/20 12:23:12

Modified files:
        gnuef/client   : gfclient 
        gnuef/samples/trigger: trigger.gfd 
        gnuef/src      : GFForm.py GFObjects.py GFTrigger.py 

Log message:
        Added MicahY's toXML function
        Added support for On-Change trigger

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/client/gfclient.diff?r1=1.24&r2=1.25
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/trigger/trigger.gfd.diff?r1=1.6&r2=1.7
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.78&r2=1.79
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.70&r2=1.71
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFTrigger.py.diff?r1=1.11&r2=1.12

Patches:
Index: gnue/gnuef/client/gfclient
diff -u gnue/gnuef/client/gfclient:1.24 gnue/gnuef/client/gfclient:1.25
--- gnue/gnuef/client/gfclient:1.24     Sat Mar 17 06:11:25 2001
+++ gnue/gnuef/client/gfclient  Tue Mar 20 12:23:12 2001
@@ -16,7 +16,7 @@
 #
 # Copyright (c) 2000 Free Software Foundation
 #
-# $Revision: 1.24 $ $Date: 2001/03/17 14:11:25 $ $Author: jamest $
+# $Revision: 1.25 $ $Date: 2001/03/20 20:23:12 $ $Author: jamest $
 #
 
 import pstats
@@ -488,6 +488,7 @@
     # Build the form tree
     #
     self.form = GFForm(None,self)
+
     control = GFController()
     self.form.buildFormTree(fileHandle)
     fileHandle.close()
Index: gnue/gnuef/samples/trigger/trigger.gfd
diff -u gnue/gnuef/samples/trigger/trigger.gfd:1.6 
gnue/gnuef/samples/trigger/trigger.gfd:1.7
--- gnue/gnuef/samples/trigger/trigger.gfd:1.6  Sun Jan 14 15:32:37 2001
+++ gnue/gnuef/samples/trigger/trigger.gfd      Tue Mar 20 12:23:12 2001
@@ -28,7 +28,7 @@
          <options>
            <tip>Type Field One's Replacement</tip>
          </options>
-         <trigger type ="Pre-FocusOut">
+         <trigger type ="Pre-FOCUSOUT">
 block1.fields.one = self.value
 #
 #User name trigger
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.78 gnue/gnuef/src/GFForm.py:1.79
--- gnue/gnuef/src/GFForm.py:1.78       Sat Mar 17 06:11:25 2001
+++ gnue/gnuef/src/GFForm.py    Tue Mar 20 12:23:12 2001
@@ -357,6 +357,7 @@
         break
     GFDebug.printMesg(2,"(%s, %s)"%(object,value))
     GFDebug.printMesg(2,"Replacing with %s"% replacement)
+    self.currentEntry.processTrigger('on-change')
     object.setValue(replacement)
 
     # Hack!
@@ -382,6 +383,7 @@
           value= self.currentEntry.findClosestValue(value)
           if not value: return modified
           
+         self.currentEntry.processTrigger('on-change')
           self.currentEntry.setValue(value)
           modified = 1
           return modified
@@ -406,6 +408,7 @@
                    currentvalue[self.currentEntry.cursorPosition+1:]
       
         self.currentEntry.cursorPosition = self.currentEntry.cursorPosition + 1
+       self.currentEntry.processTrigger('on-change')
         self.currentEntry.setValue(currentvalue)
         # Hack alert
         self.updateDetailBlocks(self.currentBlock)
@@ -433,6 +436,7 @@
       currentvalue = self.currentEntry.getValue()
       currentvalue = currentvalue[:self.currentEntry.cursorPosition]  + \
                currentvalue[self.currentEntry.cursorPosition+1:]
+      self.currentEntry.processTrigger('on-change')
       self.currentEntry.setValue(currentvalue)
       modified = 1
       # hack alert
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.70 gnue/gnuef/src/GFObjects.py:1.71
--- gnue/gnuef/src/GFObjects.py:1.70    Sat Mar 17 06:11:25 2001
+++ gnue/gnuef/src/GFObjects.py Tue Mar 20 12:23:12 2001
@@ -16,6 +16,7 @@
 import GFOptions
 import GFDebug
 import string
+import types
 
 # These should really go somewhere else
 TRUE = 1
@@ -60,6 +61,56 @@
   def addChild(self, child):
     self.children.append(child)
   
+  def toXML(self):
+    xml_outer = string.lower(self.type[2:])
+    r = "<" + xml_outer + ">\n  <options>\n"
+    for k in self.__dict__.keys():
+      # skip keys beginning with _
+      if k[0] == "_":
+        continue
+      val = self.__dict__[k]
+      if isinstance(val, types.StringType):
+        str = val
+      elif isinstance(val, types.IntType) or isinstance(val, types.FloatType):
+        str = repr(val)
+      else:
+        continue
+      r = r + "    <" + k + ">" + str + "</" + k + ">\n"
+    r = r + "  </options>\n</" + xml_outer + ">\n"
+    return r
+
+  #
+  # dumpXML
+  #
+  # Dumps an XML representation of the object
+  #
+#  def dumpXML(self, treeDump=None, gap="  ", xmlString=""):
+#    xmlEntity = string.lower(self.type[2:])
+
+#    xmlString = xmlString + "<%s>\n%s<options>\n" % (xmlEntity, gap)
+
+#    for attribute in self.__dict__.keys():
+#      # skip keys beginning with _
+#      if attribute[0] == "_":
+#        continue
+#      val = self.__dict__[attribute]
+#      if isinstance(val, types.StringType):
+#        str = val
+#      elif isinstance(val, types.IntType) or isinstance(val, types.FloatType):
+#        str = repr(val)
+#      else:
+#        continue
+#      xmlString = xmlString + "%s<%s>%s</%s>\n" % 
(gap,attribute,str,attribute)
+#    xmlString = xmlString + "%s</options>\n" % gap
+#    if treeDump:
+#      print "dumping"
+#      for child in self.children:
+#        print "child"
+#        child.dumpXML(1,gap+"  ")
+      
+#    xmlString = xmlString + "</%s>\n" % (xmlEntity)
+#    return xmlString
+
   def walk(self, function):
     function(self)
     if self.children:
Index: gnue/gnuef/src/GFTrigger.py
diff -u gnue/gnuef/src/GFTrigger.py:1.11 gnue/gnuef/src/GFTrigger.py:1.12
--- gnue/gnuef/src/GFTrigger.py:1.11    Sun Mar  4 21:01:34 2001
+++ gnue/gnuef/src/GFTrigger.py Tue Mar 20 12:23:12 2001
@@ -29,25 +29,28 @@
   def __init__(self):
     self.trigger = {}
 
-    self.validTriggers = [ 'Pre-FocusOut',
-                           'Post-FocusOut',
-                           'Pre-FocusIn',
-                           'Post-FocusIn',
-                           'Pre-Commit',
-                           'Post-Commit',
-                           'Pre-Change',
-                           'Post-Change']
+    self.validTriggers = [ string.upper('Pre-FocusOut'),
+                           string.upper('Post-FocusOut'),
+                           string.upper('Pre-FocusIn'),
+                           string.upper('Post-FocusIn'),
+                           string.upper('Pre-Commit'),
+                           string.upper('Post-Commit'),
+                           string.upper('Pre-Change'),
+                           string.upper('Post-Change'),
+                          string.upper('On-Change')
+                        ]
 
   # addTrigger
   # Associates a trigger with the object
   def addTrigger(self, key, function):
     if not self.trigger.has_key(key):
-      self.trigger[key] = []
-    self.trigger[key].append(function)
+      self.trigger[string.upper(key)] = []
+    self.trigger[string.upper(key)].append(function)
 
   # processTrigger
   # "fires" the trigger
   def processTrigger(self, key):
+    key = string.upper(key)
     if self.validTriggers.count(key):
       if self.trigger.has_key(key):
         for function in self.trigger[key]:
@@ -76,7 +79,7 @@
     self.text=''
     self.language=''
     self.triggerns={}
-    self.tr_type=tr_type
+    self.tr_type=string.upper(tr_type)
     self.src = src
     self.__call__ = self.dummyFunction
     if tr_type!="named":



reply via email to

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