commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r10210 - in trunk/gnue-forms: . src/GFObjects


From: reinhard
Subject: [gnue] r10210 - in trunk/gnue-forms: . src/GFObjects
Date: Wed, 20 Oct 2010 11:31:01 -0500 (CDT)

Author: reinhard
Date: 2010-10-20 11:31:01 -0500 (Wed, 20 Oct 2010)
New Revision: 10210

Modified:
   trunk/gnue-forms/
   trunk/gnue-forms/src/GFObjects/GFBlock.py
Log:
Fix for dropdowns in grids.



Property changes on: trunk/gnue-forms
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2010-10-20 17:21:39.443000078 +0200
committer: Reinhard Müller <address@hidden>
properties: 
        branch-nick: forms

   + timestamp: 2010-10-20 18:30:22.869999886 +0200
committer: Reinhard Müller <address@hidden>
properties: 
        branch-nick: forms

Name: bzr:file-ids
   - src/uidrivers/wx/widgets/_base.py  
address@hidden:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2F_base.py

   + src/GFObjects/GFBlock.py   
address@hidden:trunk%2Fgnue-forms:src%2FGFObjects%2FGFBlock.py

Name: bzr:revision-id:v4
   - 3116 address@hidden
3117 address@hidden
3118 address@hidden
3119 address@hidden
3120 address@hidden
3121 address@hidden
3122 address@hidden
3123 address@hidden
3124 address@hidden
3125 address@hidden
3126 address@hidden
3127 address@hidden
3128 address@hidden
3129 address@hidden
3130 address@hidden
3131 address@hidden
3132 address@hidden

   + 3116 address@hidden
3117 address@hidden
3118 address@hidden
3119 address@hidden
3120 address@hidden
3121 address@hidden
3122 address@hidden
3123 address@hidden
3124 address@hidden
3125 address@hidden
3126 address@hidden
3127 address@hidden
3128 address@hidden
3129 address@hidden
3130 address@hidden
3131 address@hidden
3132 address@hidden
3133 address@hidden

Name: bzr:text-parents
   - src/uidrivers/wx/widgets/_base.py  
svn-v3-single1-dHJ1bmsvZ251ZS1mb3Jtcw..:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:10108

   + src/GFObjects/GFBlock.py   address@hidden


Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py   2010-10-20 15:22:22 UTC (rev 
10209)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py   2010-10-20 16:31:01 UTC (rev 
10210)
@@ -370,7 +370,7 @@
                 finally:
                     self.__scrolling_blocked = False
 
-        self.__current_record_changed(True)
+        self.__current_record_changed(None, True)
 
         if not self.__in_query:
             self._focus_in()
@@ -387,7 +387,7 @@
         if self.__scrolling_blocked:
             return
 
-        self.__current_record_changed(False)
+        self.__current_record_changed(None, False)
 
     # -------------------------------------------------------------------------
 
@@ -509,8 +509,9 @@
 
         # And now scroll the entries
         if jumped:
-            self.__new_current_record()
-        self.__switch_record(position, False)
+            self.__current_record_changed(position, False)
+        else:
+            self.__switch_record(position, False)
 
 
     # -------------------------------------------------------------------------
@@ -549,7 +550,7 @@
         self.__query_values = {}
         self.__query_values.update(self._queryDefaults)
         self.__refresh_choices()
-        self.__current_record_changed(True)
+        self.__current_record_changed(None, True)
         if self._form.get_focus_block() is self:
             self.__update_record_status()
         else:
@@ -571,7 +572,7 @@
         self.__query_values = {}
         self.__query_values.update(self.__last_query_values)
         self.__refresh_choices()
-        self.__current_record_changed(True)
+        self.__current_record_changed(None, True)
         if self._form.get_focus_block() is self:
             self.__update_record_status()
         else:
@@ -590,7 +591,7 @@
 
         self.mode = 'normal'
         self.__refresh_choices()
-        self.__current_record_changed(True)
+        self.__current_record_changed(None, True)
 
     # -------------------------------------------------------------------------
 
@@ -621,7 +622,7 @@
         # the UI after we have changed the available choices, otherwise the UI
         # will get confused. Doing this here makes sure it even is done for
         # detail blocks that were queried before through the master.
-        self.__current_record_changed(True)
+        self.__current_record_changed(None, True)
 
     # -------------------------------------------------------------------------
 
@@ -1264,7 +1265,7 @@
         except:
             # if an exception happened, the record pointer keeps sticking at
             # the offending record, so we must update the UI
-            self.__current_record_changed(True)
+            self.__current_record_changed(None, True)
             raise
 
     # -------------------------------------------------------------------------
@@ -1471,14 +1472,20 @@
     # Current record has changed
     # -------------------------------------------------------------------------
 
-    def __current_record_changed(self, refresh_all):
+    def __current_record_changed(self, new_visible_start, refresh_all):
 
-        # Call __new_current_record() first so an ON-RECORDACTIVATED trigger
-        # can update calculated fields before the UI is updated.
-        self.__new_current_record()
-        self.__switch_record(None, refresh_all)
+        # Run triggers before the UI is updated, in case they change values.
+        if self.__resultset and self.__resultset.current:
+            self.processTrigger('ON-RECORDACTIVATED')
 
+        # Move the new record into editing position, and update the UI.
+        self.__switch_record(new_visible_start, refresh_all)
 
+        # Let all foreign key resultsets follow.
+        for field in self._fieldMap.itervalues():
+            field._event_new_current_record()
+
+
     # -------------------------------------------------------------------------
     # Switch the proper record into editing position
     # -------------------------------------------------------------------------
@@ -1541,19 +1548,6 @@
 
 
     # -------------------------------------------------------------------------
-    # Things that have to be done if a new current record is activated
-    # -------------------------------------------------------------------------
-
-    def __new_current_record(self):
-
-        if self.__resultset and self.__resultset.current:
-            self.processTrigger('ON-RECORDACTIVATED')
-
-        for field in self._fieldMap.itervalues():
-            field._event_new_current_record()
-
-
-    # -------------------------------------------------------------------------
     # Update the record status
     # -------------------------------------------------------------------------
 




reply via email to

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