[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6698 - trunk/gnue-forms/src/GFObjects
From: |
reinhard |
Subject: |
r6698 - trunk/gnue-forms/src/GFObjects |
Date: |
Thu, 18 Nov 2004 05:05:59 -0600 (CST) |
Author: reinhard
Date: 2004-11-18 05:05:58 -0600 (Thu, 18 Nov 2004)
New Revision: 6698
Modified:
trunk/gnue-forms/src/GFObjects/GFBlock.py
trunk/gnue-forms/src/GFObjects/GFField.py
Log:
Fixes for selecting the empty item in dropdowns.
Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py 2004-11-18 11:03:51 UTC (rev
6697)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py 2004-11-18 11:05:58 UTC (rev
6698)
@@ -359,6 +359,7 @@
"""
self._currentRecord = self._resultSet.getRecordNumber()
for field in self._fieldList:
+ field.gotNewCurrentRecord()
for entry in field._entryList:
# This loop is probably better somewhere else
entry.recalculateVisible( adjustment, self._currentRecord,
self._recordCount)
Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py 2004-11-18 11:03:51 UTC (rev
6697)
+++ trunk/gnue-forms/src/GFObjects/GFField.py 2004-11-18 11:05:58 UTC (rev
6698)
@@ -341,7 +341,7 @@
self._block._form.updateUIEntry(self)
# If the field is a foreign key, move the result set to the selected value
- if hasattr(self,'_fk_datasource'):
+ if hasattr(self,'_GFField__fk_resultSet'):
self.__fk_resultSet.findRecord({self.fk_key: value})
#
@@ -396,12 +396,26 @@
self.__loadAllowedValues(resultSet)
pass
- # This gets called by the resultSet whenever the current record changes.
+
+ # This gets called by the (FK) resultSet whenever the current record changes.
# We want the field to follow the selection then.
def currentRecordMoved (self):
if self._block._resultSet: # make sure we don't call setValue too early
- self.setValue (self.__fk_resultSet.current [self.fk_key])
+ if self.__fk_resultSet.current:
+ self.setValue (self.__fk_resultSet.current [self.fk_key])
+ else:
+ # Empty item selected
+ self.setValue (None)
+
+ # This gets called by the block whenever the current record of our own
+ # resultset changes. We want the fk resultset to follow.
+ def gotNewCurrentRecord (self):
+ # If the field is a foreign key, move the result set to the selected value
+ if hasattr(self,'_GFField__fk_resultSet'):
+ self.__fk_resultSet.findRecord({self.fk_key: self.getValue()})
+
+
def isEditable(self, mode):
if mode == 'query':
return self.queryable and self._block.queryable
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6698 - trunk/gnue-forms/src/GFObjects,
reinhard <=