commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8773 - trunk/gnue-forms/src/GFObjects


From: reinhard
Subject: [gnue] r8773 - trunk/gnue-forms/src/GFObjects
Date: Thu, 12 Oct 2006 10:10:34 -0500 (CDT)

Author: reinhard
Date: 2006-10-12 10:10:33 -0500 (Thu, 12 Oct 2006)
New Revision: 8773

Modified:
   trunk/gnue-forms/src/GFObjects/GFBlock.py
Log:
More work on __switch_record.


Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py   2006-10-12 14:26:07 UTC (rev 
8772)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py   2006-10-12 15:10:33 UTC (rev 
8773)
@@ -282,7 +282,7 @@
       finally:
         self.__scrolling_blocked = False
 
-    self.__switch_record (recno - self._currentRecord, True)
+    self.__switch_record (None, True)
 
     self._form.update_record_counter()
     self._form.update_record_status()
@@ -298,7 +298,7 @@
     # Blocks can't cope with current record #-1
     recno = self._resultSet.getRecordNumber ()
     if recno != -1:
-      self.__switch_record (recno - self._currentRecord, False)
+      self.__switch_record (None, False)
 
   # ---------------------------------------------------------------------------
 
@@ -367,7 +367,7 @@
         self._rows = new_rows
 
         if self.__visibleStart + self._rows < self._currentRecord + 1:
-            self.__switch_record (0, False)
+            self.__switch_record (None, False)
             # Now we must jump to the new current widget in the UI
             entry = self._form._currentEntry
             if getattr(entry, '_block', None) == self:
@@ -416,7 +416,7 @@
             self.__scrolling_blocked = False
 
         # And now scroll the entries
-        self.__switch_record(self.__visibleStart - position, False)
+        self.__switch_record(position, False)
         if getattr(self._form._currentEntry, '_block', None) == self:
             self._form.adjust_ui_focus()
 
@@ -849,7 +849,7 @@
         self.mode = 'query'
         self.__query_values = {}
         self.__query_values.update(self._queryDefaults)
-        self.__switch_record(0, True)
+        self.__switch_record(None, True)
 
   # ---------------------------------------------------------------------------
 
@@ -857,14 +857,14 @@
 
         self.__query_values = {}
         self.__query_values.update(self.__last_query_values)
-        self.__switch_record(0, True)
+        self.__switch_record(None, True)
 
   # ---------------------------------------------------------------------------
 
   def cancel_query(self):
 
         self.mode = 'normal'
-        self.__switch_record(0, True)
+        self.__switch_record(None, True)
 
   # ---------------------------------------------------------------------------
 
@@ -968,7 +968,7 @@
             finally:
                 self._scrolling_blocked = False
 
-        self.__switch_record(0, True)
+        self.__switch_record(None, True)
 
   # ---------------------------------------------------------------------------
 
@@ -1122,7 +1122,7 @@
   # Switch the proper record into editing position
   # ---------------------------------------------------------------------------
 
-  def __switch_record (self, adjustment, refresh_all):
+  def __switch_record (self, new_visible_start, refresh_all):
 
     if self.mode == 'query':
         newRecord = 0
@@ -1131,12 +1131,16 @@
         newRecord      = self._resultSet.getRecordNumber ()
         newRecordCount = self._resultSet.getRecordCount ()
 
-    self.__visibleStart += newRecord - self._currentRecord - adjustment
+    adjustment = newRecord - self._currentRecord
 
-    self.__visibleStart = min (self.__visibleStart, newRecord)
-    self.__visibleStart = max (self.__visibleStart, newRecord - self._rows + 1)
-    self.__visibleStart = max (self.__visibleStart, 0)
+    if new_visible_start is not None:
+        new_visible_start = min(new_visible_start, newRecord)
+        new_visible_start = max(new_visible_start, newRecord - self._rows + 1)
+        new_visible_start = max(new_visible_start, 0)
 
+        adjustment += self.__visibleStart - new_visible_start
+        self.__visibleStart = new_visible_start
+
     # Find out which ui entries to refresh
     if refresh_all:
         # Result set completely changed, refresh everything





reply via email to

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