commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9079 - in trunk/gnue-forms/src: . uidrivers/win32/widgets uidriv


From: reinhard
Subject: [gnue] r9079 - in trunk/gnue-forms/src: . uidrivers/win32/widgets uidrivers/wx26/widgets
Date: Tue, 28 Nov 2006 10:18:09 -0600 (CST)

Author: reinhard
Date: 2006-11-28 10:18:05 -0600 (Tue, 28 Nov 2006)
New Revision: 9079

Modified:
   trunk/gnue-forms/src/GFForm.py
   trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
Log:
Always jump to the first entry on a page after the page has been changed.

issue65 testing


Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py      2006-11-28 14:55:29 UTC (rev 9078)
+++ trunk/gnue-forms/src/GFForm.py      2006-11-28 16:18:05 UTC (rev 9079)
@@ -379,9 +379,11 @@
             self._currentPage.focus_out()
         except:
             self.uiWidget._ui_goto_page_(self._currentPage.uiWidget)
+            raise
 
         self._currentPage = self._layout._pageList[page_number]
         self._currentPage.focus_in()
+        self.findAndChangeFocus(self._currentPage)
 
 
     # -------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py       2006-11-28 
14:55:29 UTC (rev 9078)
+++ trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py       2006-11-28 
16:18:05 UTC (rev 9079)
@@ -510,7 +510,6 @@
             id = window._children[pageId].GetId()
             gfObject = self._uiDriver._IdToGFObj[id]
             gfObject._form._event_page_changed(pageId)
-            gfObject._form.findAndChangeFocus(gfObject)
 
 
 class Win32Entry(Win32Base):

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-11-28 14:55:29 UTC 
(rev 9078)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-11-28 16:18:05 UTC 
(rev 9079)
@@ -198,7 +198,6 @@
         if isinstance(self._container, wx.Notebook):
             self._container.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
                     self.__on_page_changed)
-            self._container.Bind(wx.EVT_SET_FOCUS, self.__on_set_focus)
 
         self.show_page(0, True)
         self.main_window.SetSizerAndFit(self.__master_sizer)
@@ -310,22 +309,13 @@
 
     def __on_page_changed(self, event):
 
-        self._form._event_page_changed(event.GetSelection())
+        # wx sets the focus to nowhere land *after* this code has run, so we
+        # must do our focus handling in a CallAfter to get the focus to where
+        # we want it.
+        wx.CallAfter(self._form._event_page_changed, event.GetSelection())
 
-        # FIXME: wx seems to leave the cursor in nowhere land after changing
-        # the page with the mouse.
 
-        event.Skip()
-
     # -------------------------------------------------------------------------
-
-    def __on_set_focus(self, event):
-
-        self._form._event_focus_changed(None, 0)
-        event.Skip()
-
-
-    # -------------------------------------------------------------------------
     # User feedback functions
     # -------------------------------------------------------------------------
 





reply via email to

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