[Top][All Lists]
[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:
- gnue/gnuef samples/track/forms/contact_manager....,
Jason Cater <=