commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnue-common/doc TriggerSpecifications.txt


From: Jason Cater
Subject: gnue/gnue-common/doc TriggerSpecifications.txt
Date: Mon, 10 Sep 2001 16:33:08 -0400

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    01/09/10 16:33:08

Modified files:
        gnue-common/doc: TriggerSpecifications.txt 

Log message:
        Restructured spec file

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/doc/TriggerSpecifications.txt.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gnue/gnue-common/doc/TriggerSpecifications.txt
diff -u gnue/gnue-common/doc/TriggerSpecifications.txt:1.3 
gnue/gnue-common/doc/TriggerSpecifications.txt:1.4
--- gnue/gnue-common/doc/TriggerSpecifications.txt:1.3  Sun Sep  9 19:22:29 2001
+++ gnue/gnue-common/doc/TriggerSpecifications.txt      Mon Sep 10 16:33:08 2001
@@ -1,40 +1,3 @@
-
-* All event triggers should return a value.
-
-* 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/
-
-
-for i :=0 to datasource.field.count do
-  mytotal = datasource.field[i]
-
-if len(:currentBlock.zipcode):
-  datasource1.clear()
-  :datasource1.zipcode = :currentBlock.zipcode
-  datasource1.query()
-  currentBlock.FieldByName('city').
-  :currentBlock.city = :datasource1.city
-  :currentBlock.state = :datasource1.state
-  for obj in  currentblock
-    obj.ReadOnly = true
-    X = 10
-  end
-
-
-
 Options for Basic Namespace Representation
 ------------------------------------------
 
@@ -66,12 +29,12 @@
      Disadvantages:
        + Since there will still be namespace conflicts, all of the 
          previous disadvantages still apply. 
-       + Code will be harder to read
+       + Code will be harder to read because of long object references.
      
- * reference("block.field")
+ * Function-based lookups:   find("block.field")
    
      Advantages:
-       + Will work in any language supporting functions (all?)
+       + Will work in any language supporting functions (all modern?)
        + Easier to implement as only a few methods need to be added to an
        embedded language's namespace. 
        
@@ -91,21 +54,26 @@
      Disadvantages: 
        + Depending on complexity, we may be creating a language on top of a
          language
-       + 
+       + The "object" referencing method (:block.field) might not be 
+         consistant with the language's method (e.g, perl's: block->field)
        + The complexity of writing a pre-parser has yet to be determined
 
      Notes:
        sum(:main.token)
        setProperty(:main.token, 'Property','value')
        
-*** Possible layout ***
+
+
+Possible implementation layouts
+-------------------------------
 
 triggerManager
   trigger storage
   execute triggers
   loads engines
 
-  intended to be extended by each system using it (GFTriggerManager, 
GRTriggerManager)
+  intended to be extended by each system using it 
+     (GFTriggerManager, GRTriggerManager)
 
 
 triggerEngine
@@ -123,5 +91,46 @@
   
 triggerExtension
   adds ability to run triggers to objects that inherit it
+
+
+
+Scratchpad
+----------
+
+* All event triggers should return a value.
+
+* 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/
+
+
+for i :=0 to datasource.field.count do
+  mytotal = datasource.field[i]
+
+if len(:currentBlock.zipcode):
+  datasource1.clear()
+  :datasource1.zipcode = :currentBlock.zipcode
+  datasource1.query()
+  currentBlock.FieldByName('city').
+  :currentBlock.city = :datasource1.city
+  :currentBlock.state = :datasource1.state
+  for obj in  currentblock
+    obj.ReadOnly = true
+    X = 10
+  end
+
+
 
 



reply via email to

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