commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9077 - trunk/gnue-forms/src


From: reinhard
Subject: [gnue] r9077 - trunk/gnue-forms/src
Date: Tue, 28 Nov 2006 08:35:17 -0600 (CST)

Author: reinhard
Date: 2006-11-28 08:35:16 -0600 (Tue, 28 Nov 2006)
New Revision: 9077

Modified:
   trunk/gnue-forms/src/GFForm.py
Log:
Make sure the focus is set to the first entry *after* the prequery has run, in
case the first entry is a dropdown and has to be populated before it receives
the focus.


Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py      2006-11-28 14:26:14 UTC (rev 9076)
+++ trunk/gnue-forms/src/GFForm.py      2006-11-28 14:35:16 UTC (rev 9077)
@@ -104,7 +104,8 @@
         self.__visible = False
 
         # The "None" init gives datasources time to setup master/detail
-        self._inits = [self.phase_1_init, self.phase_2_init, self.phase_3_init]
+        self._inits = [self.phase_1_init, self.phase_2_init, self.phase_3_init,
+                self.phase_4_init]
 
         # Trigger support
         self._triggerns = {}
@@ -287,11 +288,26 @@
         for block in self._logic._blockList:
             block.populate()
 
-        self.update_insert_status()
+    # -------------------------------------------------------------------------
+    # Phase 4 initialization
+    # -------------------------------------------------------------------------
 
+    def phase_4_init(self):
+        """
+        This happens after after the prequery on datasource level has been run.
+        Once the prequery on datasource level is depreciated, this can be
+        merged with phase 3 init.
+        """
+
         # Set initial focus
+        # This must happen after the prequery has been executed (phase 3 init
+        # of the datasource), otherwise a dropdown will be set to edit mode
+        # before it has been populated with the allowed values, in case the
+        # first entry on the form is a dropdown.
         self.findAndChangeFocus(self)
 
+        self.update_insert_status()
+
         self.processTrigger('On-Startup')
 
 





reply via email to

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