commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef samples/track/forms/contact_manager....


From: Jason Cater
Subject: gnue/gnuef samples/track/forms/contact_manager....
Date: Thu, 08 Nov 2001 04:11:42 -0500

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    01/11/08 04:11:42

Modified files:
        gnuef/samples/track/forms: contact_manager.gfd 
        gnuef/src      : GFForm.py GFTrigger.py 
        gnuef/src/GFObjects: GFBlock.py 

Log message:
        added block/record iteration for use in triggers

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/samples/track/forms/contact_manager.gfd.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFForm.py.diff?cvsroot=OldCVS&tr1=1.129&tr2=1.130&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFTrigger.py.diff?cvsroot=OldCVS&tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFObjects/GFBlock.py.diff?cvsroot=OldCVS&tr1=1.21&tr2=1.22&r1=text&r2=text

Patches:
Index: gnue/gnuef/samples/track/forms/contact_manager.gfd
diff -u gnue/gnuef/samples/track/forms/contact_manager.gfd:1.9 
gnue/gnuef/samples/track/forms/contact_manager.gfd:1.10
--- gnue/gnuef/samples/track/forms/contact_manager.gfd:1.9      Thu Nov  8 
02:57:04 2001
+++ gnue/gnuef/samples/track/forms/contact_manager.gfd  Thu Nov  8 04:11:41 2001
@@ -88,9 +88,11 @@
       <trigger type="ON-SWITCH" name="Trigger_1" src="getFullName"/>
       <trigger type="PRE-COMMIT">
 # This is voodoo to populate our primary key
-# This will look much prettier when our trigger language is finalized
-if blckPerson.fields.ntryPK == "":
-  blckPerson.fields.ntryPK = 
"%s"%dtsrcPerson.extensions.getSequence('seq_person_id')
+# This will look different when our trigger language is finalized
+for i in blckPerson:
+  print blckPerson.fields.ntryLastName
+  if blckPerson.fields.ntryPK == "":
+    blckPerson.fields.ntryPK = 
"%s"%dtsrcPerson.extensions.getSequence('seq_person_id')
 </trigger>
       <entry x="1" y="1" field="id" name="ntryPK" hidden=""/>
       <box x="0" y="0" width="33" label="Personal Information" name="Box_1"
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.129 gnue/gnuef/src/GFForm.py:1.130
--- gnue/gnuef/src/GFForm.py:1.129      Thu Nov  8 02:56:21 2001
+++ gnue/gnuef/src/GFForm.py    Thu Nov  8 04:11:42 2001
@@ -117,7 +117,6 @@
     # create the first records
     for key in self._datasourceDictionary.keys():
       if not self._datasourceDictionary[key].hasMaster():
-        print "**Creating empty record for %s" % key
         self._datasourceDictionary[key].createEmptyResultSet()
 
 
Index: gnue/gnuef/src/GFObjects/GFBlock.py
diff -u gnue/gnuef/src/GFObjects/GFBlock.py:1.21 
gnue/gnuef/src/GFObjects/GFBlock.py:1.22
--- gnue/gnuef/src/GFObjects/GFBlock.py:1.21    Sun Nov  4 17:04:48 2001
+++ gnue/gnuef/src/GFObjects/GFBlock.py Thu Nov  8 04:11:42 2001
@@ -71,6 +71,14 @@
     self._gap = 0
     self._rows = 1
 
+  def __getitem__(self, index):
+    print "********** Grabbing record %s" % (index)
+    if index < self._resultSet.getRecordCount():
+      self.jumpRecord(index)
+      return self
+    else:
+      raise IndexError
+
   def _buildObject(self):
 
     if hasattr(self, 'rows'):
@@ -79,12 +87,14 @@
     if hasattr(self, 'rowSpacer'):
       self._gap = self.rowSpacer
 
-    if hasattr(self,'datasource'): 
+    if hasattr(self,'datasource'):
       self.datasource = string.lower(self.datasource)
 
     self.walk(self.__setChildRowSettings)
     return GFObj._buildObject(self)
 
+
+
   def initialize(self):
     self._form = self.findParentOfType('GFForm')
     self.walk(self.buildEntryList)
@@ -160,7 +170,7 @@
       entry.switchRecord()
       entry.recalculateVisible( adjustment, self._currentRecord, 
self._recordCount)
       self._form.updateUIEntry(entry)
-      
+
     if adjustment <> 0:
       self.processTrigger('on-switch')
 
@@ -175,13 +185,13 @@
       self._recordCount = self._resultSet.getRecordCount()
       self.switchRecord(1)
       self.processTrigger('on-newrecord')
-    
+
   def nextRecord(self):
-    if self._resultSet.nextRecord(): 
+    if self._resultSet.nextRecord():
       #self._recordCount = self._resultSet.getCacheCount()
       self._recordCount = self._resultSet.getRecordCount()
       self.switchRecord(1)
-    elif int(GConfig.get('autocreate')) and not 
self._resultSet.current.isEmpty(): 
+    elif int(GConfig.get('autocreate')) and not 
self._resultSet.current.isEmpty():
       self.newRecord()
 
   def prevRecord(self):
@@ -189,7 +199,7 @@
       self.switchRecord(-1)
 
   def jumpRecord(self, recordNumber):
-    if not self._resultSet.setRecord(recordNumber): 
+    if not self._resultSet.setRecord(recordNumber):
       self._resultSet.lastRecord()
     jump = self._resultSet.getRecordNumber() - self._currentRecord
     self._currentRecord = self._resultSet.getRecordNumber()
@@ -245,7 +255,7 @@
     else: 
       self.mode = 'normal'
       self.switchRecord(0)
-      
+
     # Removed to allow the GFForm object to deside when to clear the block
     # self.processRollback() 
     
Index: gnue/gnuef/src/GFTrigger.py
diff -u gnue/gnuef/src/GFTrigger.py:1.51 gnue/gnuef/src/GFTrigger.py:1.52
--- gnue/gnuef/src/GFTrigger.py:1.51    Mon Oct  8 08:38:13 2001
+++ gnue/gnuef/src/GFTrigger.py Thu Nov  8 04:11:42 2001
@@ -195,6 +195,7 @@
         raise
       except:
         # May be better to deal with this in GFTriggerAware
+        raise
         import sys
         print "%s in trigger code, value: %s" % (sys.exc_type, sys.exc_value)
 
@@ -282,7 +283,7 @@
       self.__dict__['helper'] = baseClassDict[ object._type ](object)
     else:
       self.__dict__['helper'] = helper( object )
-    
+
   def __getattr__(self,name):
     return self.__dict__['helper'].getattribute(name)
 
@@ -303,7 +304,7 @@
   def __init__(self, object):
     GFTriggerHelperBase.__init__(self, object)
     self.fields=GFTriggerHelper( object, helper=GFTriggerFields )
-    
+
   def getattribute( self, name ):
     # Here I've implemented the syntax blockname.fields.fieldname
     # we could use things like this to implent e.g.
@@ -311,6 +312,8 @@
     # while protecting internal variables from malicious trigger code.
     if name == 'fields':
       return self.fields
+    elif name == '__getitem__':
+      return self.__dict__['object'].__getitem__
     else:
       raise AttributeError
 
@@ -320,7 +323,7 @@
 class GFTriggerDatasource(GFTriggerHelperBase ):
   def __init__(self, object):
     GFTriggerHelperBase.__init__(self, object)
-    
+
 class GFTriggerFields( GFTriggerHelperBase ):
   def getattribute( self, name ):
     for item in self.object._entryList:



reply via email to

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