[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r7894 - trunk/gnue-forms/src/GFObjects
From: |
reinhard |
Subject: |
[gnue] r7894 - trunk/gnue-forms/src/GFObjects |
Date: |
Fri, 9 Sep 2005 10:34:12 -0500 (CDT) |
Author: reinhard
Date: 2005-09-09 10:34:09 -0500 (Fri, 09 Sep 2005)
New Revision: 7894
Modified:
trunk/gnue-forms/src/GFObjects/GFBlock.py
trunk/gnue-forms/src/GFObjects/GFField.py
Log:
Call ON-NEWRECORD trigger per onRecordInserted event. This causes field changes
in ON-NEWRECORD triggers to neither mark the record as dirty nor call the
PRE/POST-CHANGE triggers.
Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py 2005-09-09 15:33:04 UTC (rev
7893)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py 2005-09-09 15:34:09 UTC (rev
7894)
@@ -229,6 +229,7 @@
'dsResultSetActivated': self.__dsResultSetActivated,
'dsResultSetChanged' : self.__dsResultSetActivated, # sic!
'dsCursorMoved' : self.__dsCursorMoved,
+ 'dsRecordInserted' : self.__dsRecordInserted,
'dsRecordLoaded' : self.__dsRecordLoaded,
'dsRecordTouched' : self.__dsRecordTouched,
'dsCommitInsert' : self.__dsCommitInsert,
@@ -283,6 +284,15 @@
# ---------------------------------------------------------------------------
+ def __dsRecordInserted (self, event):
+ self._initializingRecord = event.record
+ oldmode = self.mode
+ self.mode = 'init'
+ self.processTrigger ('ON-NEWRECORD')
+ self.mode = oldmode
+
+ # ---------------------------------------------------------------------------
+
def __dsRecordLoaded (self, event):
pass # TODO: define a trigger for this
@@ -436,8 +446,6 @@
# Focus in
self.processTrigger('PRE-FOCUSIN')
- self.processTrigger('ON-NEWRECORD')
-
self.processTrigger('POST-FOCUSIN')
def duplicateRecord(self, exclude=(), include=()):
Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py 2005-09-09 15:33:04 UTC (rev
7893)
+++ trunk/gnue-forms/src/GFObjects/GFField.py 2005-09-09 15:34:09 UTC (rev
7894)
@@ -274,6 +274,10 @@
value = self._block._queryValues[self]
except KeyError:
value = None
+
+ elif mode == 'init':
+ value = self._block._initializingRecord [self.field]
+
else:
if self._block._resultSet and self._block._resultSet.current:
value = self._block._resultSet.current.getField(self.field)
@@ -343,6 +347,9 @@
if mode == 'query':
self._block._queryValues[self] = value
+ elif mode == 'init':
+ self._block._initializingRecord [self.field] = value
+
else:
self._block.processTrigger('Pre-Change')
self.processTrigger('Pre-Change')
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r7894 - trunk/gnue-forms/src/GFObjects,
reinhard <=