commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef AUTHORS src/GFForm.py src/GFTrigger....


From: James Thompson
Subject: gnue/gnuef AUTHORS src/GFForm.py src/GFTrigger....
Date: Sun, 04 Mar 2001 21:01:34 -0800

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 01/03/04 21:01:34

Modified files:
        gnuef          : AUTHORS 
        gnuef/src      : GFForm.py GFTrigger.py 
Added files:
        gnuef/src      : GFTriggerError.py 

Log message:
        Added Micah's trigger exception handling code to gnuef

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/AUTHORS.diff?r1=1.7&r2=1.8
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFTriggerError.py.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.74&r2=1.75
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFTrigger.py.diff?r1=1.10&r2=1.11

Patches:
Index: gnue/gnuef/AUTHORS
diff -u gnue/gnuef/AUTHORS:1.7 gnue/gnuef/AUTHORS:1.8
--- gnue/gnuef/AUTHORS:1.7      Mon Dec 11 08:58:07 2000
+++ gnue/gnuef/AUTHORS  Sun Mar  4 21:01:34 2001
@@ -17,5 +17,8 @@
 Georg Lehner <address@hidden>
   new INSTALL document
 
+Micah
+  Trigger exception handling
+
 If we've missed anyone please let us know.
 
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.74 gnue/gnuef/src/GFForm.py:1.75
--- gnue/gnuef/src/GFForm.py:1.74       Sun Feb 25 17:50:55 2001
+++ gnue/gnuef/src/GFForm.py    Sun Mar  4 21:01:34 2001
@@ -21,6 +21,7 @@
 from GFEvent import *
 from GFParser import *
 from GFError import DBError
+from GFTriggerError import *
 
 class GFForm(GFObj, GFEventAware):
   def __init__(self, parent=None):
@@ -410,7 +411,12 @@
     if originatingBlock.mode == 'normal':
       for block in self.blockList:
         block.updateDetail(originatingBlock)
+        
+  def TriggerErrorFunc(self, t):
+    't is an instance of TriggerError'
+    print "Trigger Exception Message = ", t.msg
 
+            
   #
   # nextEntry
   #
@@ -433,17 +439,21 @@
         if keepNext == 1:
           nextEntry = object
           break
-
-    self.currentEntry.processTrigger('Pre-FocusOut')
-    nextEntry.processTrigger('Pre-FocusIn')
-    self.currentEntry = nextEntry
+    try:
+      self.currentEntry.processTrigger('Pre-FocusOut')
+      nextEntry.processTrigger('Pre-FocusIn')
+      self.currentEntry = nextEntry
 
-    self.currentEntry.processTrigger('Post-FocusOut')
-    nextEntry.processTrigger('Post-FocusIn')
-    self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
-    self.updateRecordStatus()
-    self.updateTip()
+      self.currentEntry.processTrigger('Post-FocusOut')
+      nextEntry.processTrigger('Post-FocusIn')
+      self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
+      self.updateRecordStatus()
+      self.updateTip()
+    except TriggerError, t:
+      print "Got to the exception handler!"
+      self.TriggerErrorFunc(t)
 
+                  
   #
   # previousEntry
   #
@@ -466,14 +476,17 @@
           break
 
         nextEntry = object
-        
-    self.currentEntry.processTrigger('Pre-FocusOut')
-    nextEntry.processTrigger('Pre-FocusIn')
-    self.currentEntry = nextEntry
-
-    self.currentEntry.processTrigger('Post-FocusOut')
-    nextEntry.processTrigger('Post-FocusIn')
-
+    try:
+      self.currentEntry.processTrigger('Pre-FocusOut')
+      nextEntry.processTrigger('Pre-FocusIn')
+      self.currentEntry = nextEntry
+
+      self.currentEntry.processTrigger('Post-FocusOut')
+      nextEntry.processTrigger('Post-FocusIn')
+    except TriggerError, t:
+      print "Got to the exception handler!"
+      self.TriggerErrorFunc(t)
+      
     self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
     self.updateRecordStatus()
     self.updateTip()
@@ -488,16 +501,19 @@
     if event.data.getObjectType()=='GFEntry' and (hasattr(event.data,'hidden') 
or
                                                   
(hasattr(event.data,'readonly') and self.currentBlock.mode!='query')):
       return
+    try:
+      self.currentEntry.processTrigger('Pre-FocusOut')
+      self.currentEntry.processTrigger('Post-FocusOut')
+      event.data.processTrigger('Pre-FocusIn')
+
+      self.currentEntry = event.data
+      self.currentBlock = self.currentEntry.block
+
+      event.data.processTrigger('Post-FocusIn')
+    except TriggerError, t:
+      print "Got to the exception handler!"
+      self.TriggerErrorFunc(t)
       
-    self.currentEntry.processTrigger('Pre-FocusOut')
-    self.currentEntry.processTrigger('Post-FocusOut')
-    event.data.processTrigger('Pre-FocusIn')
-
-    self.currentEntry = event.data
-    self.currentBlock = self.currentEntry.block
-
-    event.data.processTrigger('Post-FocusIn')
-
     self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
     self.updateRecordStatus()
     self.updateTip()
@@ -519,13 +535,16 @@
       if keepNext == 1:
         nextBlock = object
         break
-
-    self.currentBlock.processTrigger('Pre-FocusOut')
-    self.currentBlock.processTrigger('Post-FocusOut')
-    nextBlock.processTrigger('Pre-FocusIn')
-    self.currentBlock = nextBlock
-    nextBlock.processTrigger('Post-FocusIn')
-
+    try:
+      self.currentBlock.processTrigger('Pre-FocusOut')
+      self.currentBlock.processTrigger('Post-FocusOut')
+      nextBlock.processTrigger('Pre-FocusIn')
+      self.currentBlock = nextBlock
+      nextBlock.processTrigger('Post-FocusIn')
+    except TriggerError, t:
+      print "Got to the exception handler!"
+      self.TriggerErrorFunc(t)
+      
     # reset current entry 
     self.currentEntry = None
     self.currentBlock.walk(self.setInitialFocus)    
@@ -554,13 +573,16 @@
         break
       
       nextBlock = object
-
-    self.currentBlock.processTrigger('Pre-FocusOut')
-    self.currentBlock.processTrigger('Post-FocusOut')
-    nextBlock.processTrigger('Pre-FocusIn')
-    self.currentBlock = nextBlock
-    nextBlock.processTrigger('Post-FocusIn')
-
+    try:
+      self.currentBlock.processTrigger('Pre-FocusOut')
+      self.currentBlock.processTrigger('Post-FocusOut')
+      nextBlock.processTrigger('Pre-FocusIn')
+      self.currentBlock = nextBlock
+      nextBlock.processTrigger('Post-FocusIn')
+    except TriggerError, t:
+      print "Got to the exception handler!"
+      self.TriggerErrorFunc(t)
+      
     # reset current entry 
     self.currentEntry = None
     self.currentBlock.walk(self.setInitialFocus)    
Index: gnue/gnuef/src/GFTrigger.py
diff -u gnue/gnuef/src/GFTrigger.py:1.10 gnue/gnuef/src/GFTrigger.py:1.11
--- gnue/gnuef/src/GFTrigger.py:1.10    Sun Jan 14 15:32:38 2001
+++ gnue/gnuef/src/GFTrigger.py Sun Mar  4 21:01:34 2001
@@ -15,6 +15,7 @@
 import GFOptions
 from GFObjects import *
 from GFEvent import *
+from GFTriggerError import *
 
 import string
 
@@ -101,8 +102,9 @@
     #   Compilation at this stage has the useful side effect that
     #   syntax errors are spotted during XML parsing rather than
     #   during execution.
+    revisedTriggerCode = "from gnue.forms.GFTriggerError import *\n" + 
self.text + "\npass\n"
     try:
-      self.code = compile(self.text, '<string>', 'exec')
+      self.code = compile(revisedTriggerCode, '<string>', 'exec')
     except SyntaxError, err:
       print "Syntax error in line %d of trigger in element ??" \
             % ( err.lineno )
@@ -113,6 +115,8 @@
       triggerns['self'] = myself
       try:
         exec( code, triggerns )
+      except TriggerError:
+        raise
       except:
         # May be better to deal with this in GFTriggerAware
         import sys



reply via email to

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