[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue gnue-common/doc/TriggerSpecifications.txt ...
From: |
James Thompson |
Subject: |
gnue gnue-common/doc/TriggerSpecifications.txt ... |
Date: |
Mon, 03 Sep 2001 10:29:14 -0700 |
CVSROOT: /cvs
Module name: gnue
Changes by: James Thompson <address@hidden> 01/09/03 10:29:14
Modified files:
gnue-common/doc: TriggerSpecifications.txt
gnue-common/src: GDataObjects.py
gnue-common/src/dbdrivers/empty: DBdriver.py
gnuef/samples : helloworld2.gfd
gnuef/samples/trigger: trigger.gfd
gnuef/src : GFClient.py GFTrigger.py
Log message:
Fixed support for non-data-aware forms
Fixed existing trigger system to work again
Removed some debugging output
Updated new trigger system notes
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/doc/TriggerSpecifications.txt.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/GDataObjects.py.diff?cvsroot=OldCVS&tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/empty/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/samples/helloworld2.gfd.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/samples/trigger/trigger.gfd.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFClient.py.diff?cvsroot=OldCVS&tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFTrigger.py.diff?cvsroot=OldCVS&tr1=1.46&tr2=1.47&r1=text&r2=text
Patches:
Index: gnue/gnue-common/doc/TriggerSpecifications.txt
diff -u gnue/gnue-common/doc/TriggerSpecifications.txt:1.1
gnue/gnue-common/doc/TriggerSpecifications.txt:1.2
--- gnue/gnue-common/doc/TriggerSpecifications.txt:1.1 Thu Aug 30 14:57:47 2001
+++ gnue/gnue-common/doc/TriggerSpecifications.txt Mon Sep 3 10:29:14 2001
@@ -1,37 +1,26 @@
+* All event triggers should return a value.
-* All event triggers should return a pass/fail status.
-
-
* Modify state of widgets:
widget.properties.
-
* Direct datasource/result set access:
* Datasource/Block access
firstRec, nextRec, prevRec, lastRec, etc
-
* block/field access:
:block.field
-
* convenience functions:
:block.sum(fieldname)
.count(fieldname)
.min/.max/.avg/
-
-customer.fields.name
-
-
for i :=0 to datasource.field.count do
mytotal = datasource.field[i]
-
-
if len(:currentBlock.zipcode):
datasource1.clear()
:datasource1.zipcode = :currentBlock.zipcode
@@ -42,4 +31,33 @@
for obj in currentblock
obj.ReadOnly = true
X = 10
- end
\ No newline at end of file
+ end
+
+*** Possible layout ***
+
+triggerManager
+ trigger storage
+ execute triggers
+ loads engines
+
+ intended to be extended by each system using it (GFTriggerManager,
GRTriggerManager)
+
+
+triggerEngine
+ baseEngine
+ preprocessor
+ namespace manipulation stubs
+ pythonEngine
+ perlEngine
+ tclEngine
+ schemeEngine
+
+trigger
+ stores source and lang type
+ stores compiled version (compiled by the engine)
+
+triggerExtension
+ adds ability to run triggers to objects that inherit it
+
+
+
Index: gnue/gnue-common/src/GDataObjects.py
diff -u gnue/gnue-common/src/GDataObjects.py:1.12
gnue/gnue-common/src/GDataObjects.py:1.13
--- gnue/gnue-common/src/GDataObjects.py:1.12 Thu Aug 30 15:28:27 2001
+++ gnue/gnue-common/src/GDataObjects.py Mon Sep 3 10:29:14 2001
@@ -351,7 +351,6 @@
self._currentRecord = self._currentRecord+1
self._cachedRecords.insert(self._currentRecord,
self._createEmptyRecord())
self.current = self._cachedRecords[self._currentRecord]
- print "inserting a record!!!!"
if self._masterRecordSet != None and hasattr(self._dataObject,
'_masterfields'):
i = 0
for field in self._dataObject._masterfields:
@@ -435,7 +434,7 @@
self._unboundFields = {}
- if len(initialData):
+ if self._initialData and len(self._initialData):
self._insertFlag = 0
self._emptyFlag = 0
self._fields = {}
Index: gnue/gnue-common/src/dbdrivers/empty/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/empty/DBdriver.py:1.5
gnue/gnue-common/src/dbdrivers/empty/DBdriver.py:1.6
--- gnue/gnue-common/src/dbdrivers/empty/DBdriver.py:1.5 Thu Aug 30
15:28:27 2001
+++ gnue/gnue-common/src/dbdrivers/empty/DBdriver.py Mon Sep 3 10:29:14 2001
@@ -48,7 +48,7 @@
self.triggerExtensions = TriggerExtensions(self)
def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None):
- return NIL_ResultSet(self, masterRecordSet=masterRecordSet)
+ return NIL_ResultSet(self, masterRecordSet)
# We don't do logins
def getLoginFields(self):
@@ -103,7 +103,8 @@
# Create an empty record
def _createEmptyRecord(self, masterRecordSet=None):
- return self._recordSetClass(self, masterRecordSet=masterRecordSet)
+ #return self._recordSetClass(self, masterRecordSet=masterRecordSet)
+ return self._recordSetClass(self, masterRecordSet)
###########################################################
Index: gnue/gnuef/samples/helloworld2.gfd
diff -u gnue/gnuef/samples/helloworld2.gfd:1.6
gnue/gnuef/samples/helloworld2.gfd:1.7
--- gnue/gnuef/samples/helloworld2.gfd:1.6 Wed Aug 29 17:23:12 2001
+++ gnue/gnuef/samples/helloworld2.gfd Mon Sep 3 10:29:14 2001
@@ -13,9 +13,11 @@
#Populate User Name from Name
#
from string import *
-print login.fields.user
-print address.fields.name
-print self._value
+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>
Index: gnue/gnuef/samples/trigger/trigger.gfd
diff -u gnue/gnuef/samples/trigger/trigger.gfd:1.9
gnue/gnuef/samples/trigger/trigger.gfd:1.10
--- gnue/gnuef/samples/trigger/trigger.gfd:1.9 Sun Aug 12 12:55:27 2001
+++ gnue/gnuef/samples/trigger/trigger.gfd Mon Sep 3 10:29:14 2001
@@ -29,19 +29,19 @@
<tip>Type Field One's Replacement</tip>
</options>
<trigger type ="Pre-FOCUSOUT">
-block1.fields.one.setValue(self.getValue())
-#
-#User name trigger
-#
-#import sys
-#
-#if (block1.fields.one == "") or (block1.fields.two == ""):
-# messageValue = "Both Fields One and Two Must Have Data!"
-#else:
-# messageValue = "Contragulations. You get your own error.\n" +
block2.fields.alter
-#
-#message = GFMsgBox(self, messageValue)
-#message.show()
+ #print block1.fields.two
+ #block1.fields.one =
+ import sys
+
+ if (block1.fields.one == "") or (block1.fields.two == ""):
+ messageValue = "Both Fields One and Two Must Have Data!"
+ else:
+ messageValue = "Contragulations. You get your own error.\n" +
block2.fields.alter
+
+ print messageValue
+ block1.fields.one = block2.fields.alter
+ #message = GFMsgBox(self, messageValue)
+ #message.show()
</trigger>
</entry>
</block>
Index: gnue/gnuef/src/GFClient.py
diff -u gnue/gnuef/src/GFClient.py:1.26 gnue/gnuef/src/GFClient.py:1.27
--- gnue/gnuef/src/GFClient.py:1.26 Wed Aug 29 17:23:12 2001
+++ gnue/gnuef/src/GFClient.py Mon Sep 3 10:29:14 2001
@@ -34,7 +34,7 @@
#
# Copyright (c) 2000 Free Software Foundation
#
-# $Id: GFClient.py,v 1.26 2001/08/30 00:23:12 jamest Exp $
+# $Id: GFClient.py,v 1.27 2001/09/03 17:29:14 jamest Exp $
#
import pstats
@@ -157,12 +157,6 @@
return self._lastSerialNumber
if __name__ == '__main__':
-
- print "*" * 60
- print "*" * 60
- print "*" * 60
- print "*" * 60
-
GFClient().run()
Index: gnue/gnuef/src/GFTrigger.py
diff -u gnue/gnuef/src/GFTrigger.py:1.46 gnue/gnuef/src/GFTrigger.py:1.47
--- gnue/gnuef/src/GFTrigger.py:1.46 Wed Aug 29 17:23:12 2001
+++ gnue/gnuef/src/GFTrigger.py Mon Sep 3 10:29:14 2001
@@ -121,13 +121,10 @@
# Must be at least a phase 2 init
#
def initialize(self):
- print "GFTrigger.py - initialize"
self._form = self.findParentOfType('GFForm')
self._triggerns.update( self._form._triggerns )
self.__call__ = self.dummyFunction
- print "GFTrigger.py ",self.type
-
if self.type != "NAMED":
if self._parent:
self._parent.addTrigger( self.type, self )
@@ -280,7 +277,6 @@
self.__dict__['helper'] = helper( object )
def __getattr__(self,name):
- print "GFTrigger.py - Hi"
return self.__dict__['helper'].getattribute(name)
def __setattr__(self,name,value):
@@ -291,6 +287,7 @@
self.object = object
def getattribute( self, name ):
+ print "Object %s name %s" % ( self.object, name )
return getattr( self.object, name )
def setattribute( self, name, value ):
@@ -300,6 +297,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.
@@ -322,7 +320,7 @@
def getattribute( self, name ):
for item in self.object._entryList:
if item.name == name:
- return item._value
+ return item.getValue()
return None
def setattribute( self, name, value ):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue gnue-common/doc/TriggerSpecifications.txt ...,
James Thompson <=