[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r8718 - trunk/gnue-forms/src/GFObjects
From: |
reinhard |
Subject: |
[gnue] r8718 - trunk/gnue-forms/src/GFObjects |
Date: |
Mon, 9 Oct 2006 10:03:53 -0500 (CDT) |
Author: reinhard
Date: 2006-10-09 10:03:53 -0500 (Mon, 09 Oct 2006)
New Revision: 8718
Modified:
trunk/gnue-forms/src/GFObjects/GFBlock.py
trunk/gnue-forms/src/GFObjects/GFObj.py
Log:
Made GF objects a little more self contained regarding scrolling.
Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py 2006-10-09 09:22:45 UTC (rev
8717)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py 2006-10-09 15:03:53 UTC (rev
8718)
@@ -1176,24 +1176,13 @@
self._currentRecord = newRecord
self._recordCount = newRecordCount
- for field in self._fieldList:
- field._event_new_current_record ()
-
- for entry in field._entryList:
- # This loop is probably better somewhere else
+ for entry in self._entryList:
entry.recalculate_visible (adjustment, self._currentRecord,
self._recordCount)
- self._form.updateUIEntry (field)
+ for field in self._fieldList:
+ field._event_new_current_record ()
- # Ok, don't forgett the buttons here. Since they might be used within a
- # block as well but don't have a corresponding field we need a seperate
- # iteration.
- for entry in self._entryList:
- if entry._type == 'GFButton':
- entry.recalculate_visible (adjustment, self._currentRecord,
- self._recordCount)
-
self._form.refreshUIEvents ()
self.__adjust_scrollbars()
Modified: trunk/gnue-forms/src/GFObjects/GFObj.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFObj.py 2006-10-09 09:22:45 UTC (rev
8717)
+++ trunk/gnue-forms/src/GFObjects/GFObj.py 2006-10-09 15:03:53 UTC (rev
8718)
@@ -89,7 +89,12 @@
# uidrivers._base.UIdriver._buildUI () function.
self.uiWidget = None
+ # FIXME: does not make sense for all descendants, create a separate
+ # abstract base class?
+ self.__first_visible_record = 0
+ self.__last_enabled_row = 0
+
# -------------------------------------------------------------------------
# Check wether an object is navigable or not
# -------------------------------------------------------------------------
@@ -175,7 +180,33 @@
self._visibleIndex = index
+ if self.uiWidget is not None:
+ last_enabled_row = self._visibleIndex + \
+ (rec_count - cur_record) - 1
+ last_enabled_row = min(last_enabled_row, self._rows - 1)
+ # Disable rows if necessary
+ for i in range(last_enabled_row+1, self.__last_enabled_row+1):
+ print self, "disable", i
+ self.uiWidget._ui_disable_(i)
+
+ # Enable rows if necessary
+ for i in range(self.__last_enabled_row+1, last_enabled_row+1):
+ print self, "enable", i
+ self.uiWidget._ui_enable_(i)
+
+ self.__last_enabled_row = last_enabled_row
+
+ # If we have scrolled, redisplay all records
+ first_visible_record = cur_record - self._visibleIndex
+ # FIXME
+ # if first_visible_record != self.__first_visible_record:
+ if True:
+ self._form.dispatchEvent('updateENTRY', self,
+ _form=self._form)
+ self.__first_visible_record = first_visible_record
+
+
#
--------------------------------------------------------------------------
# Get a block from the block map
# -------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8718 - trunk/gnue-forms/src/GFObjects,
reinhard <=