commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8862 - in trunk/gnue-forms/src/uidrivers: gtk2/widgets/form wx26


From: reinhard
Subject: [gnue] r8862 - in trunk/gnue-forms/src/uidrivers: gtk2/widgets/form wx26/widgets
Date: Thu, 19 Oct 2006 05:33:30 -0500 (CDT)

Author: reinhard
Date: 2006-10-19 05:33:30 -0500 (Thu, 19 Oct 2006)
New Revision: 8862

Modified:
   trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/wrappers.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
Log:
Set GF focus to None while the focus is on the notebook tabs.


Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/wrappers.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/wrappers.py        
2006-10-19 10:21:26 UTC (rev 8861)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/wrappers.py        
2006-10-19 10:33:30 UTC (rev 8862)
@@ -146,15 +146,16 @@
     gtk.Notebook.__init__ (self)
 
     try:
-      tabstyle  = _tabStyles [self.form._layout.tabbed]
+      tabstyle = _tabStyles [self.form._layout.tabbed]
       self.set_tab_pos (tabstyle)
-
     except:
       pass
 
     self.set_scrollable (True)
-    self._switchHandler = self.connect ('switch-page', self.notebookTabHandler)
 
+    self.connect('switch-page', self.__on_switch_page)
+    self.connect('focus-in-event', self.__on_focus_in_event)
+
     self.frame.add (self)
 
     self.form  = form = uiform._form
@@ -201,17 +202,24 @@
     
 
   # ---------------------------------------------------------------------------
-  # Page switch event
+  # Event handlers
   # ---------------------------------------------------------------------------
 
-  def notebookTabHandler (self, notebook, notebookpage, pageNr):
+  def __on_switch_page(self, notebook, notebookpage, page_number):
 
-    assert gDebug (6, "switch-page %s %s %s" % (pageNr, self._oldpage, 
notebook))
+    assert gDebug(6, "switch-page %r %r %r -> %r" \
+            % (notebook, notebookpage, self._oldpage, page_number))
+    if self._oldpage != page_number:
+        self.form._event_page_changed(page_number)
+        self._oldpage = page_number
 
-    if self._oldpage != pageNr:
-        self.form._event_page_changed(pageNr)
+  # ---------------------------------------------------------------------------
 
+  def __on_focus_in_event(self, widget, event):
 
+      assert gDebug(6, "focus-in-event %r %r" % (widget, event))
+      self.form._event_focus_changed(None, 0)
+
   # ---------------------------------------------------------------------------
   # Activate a given page in the notebook
   # ---------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-10-19 10:21:26 UTC 
(rev 8861)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-10-19 10:33:30 UTC 
(rev 8862)
@@ -195,7 +195,8 @@
 
         if isinstance(self._container, wx.Notebook):
             self._container.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
-                    self.__on_page_changed, self._container)
+                    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)
@@ -291,7 +292,13 @@
         # FIXME: wx seems to leave the cursor in nowhere land after changing
         # the page with the mouse.
 
+    # -------------------------------------------------------------------------
 
+    def __on_set_focus(self, event):
+
+        self._form._event_focus_changed(None, 0)
+
+
     # -------------------------------------------------------------------------
     # User feedback functions
     # -------------------------------------------------------------------------





reply via email to

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