commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r7921 - trunk/gnue-forms/src/uidrivers/gtk2/widgets


From: johannes
Subject: [gnue] r7921 - trunk/gnue-forms/src/uidrivers/gtk2/widgets
Date: Wed, 28 Sep 2005 12:35:23 -0500 (CDT)

Author: johannes
Date: 2005-09-20 00:10:02 -0500 (Tue, 20 Sep 2005)
New Revision: 7921

Modified:
   trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py
Log:
Catch the focus to dropdowns even if clicked on the toggle-button


Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py        2005-09-20 
03:11:58 UTC (rev 7920)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py        2005-09-20 
05:10:02 UTC (rev 7921)
@@ -124,6 +124,8 @@
     event.container.put (newWidget, self.itemX, self.itemY)
     newWidget.show ()
 
+    newWidget.set_focus_on_click (True)
+
     if event.initialize:
       self._addDefaultEventHandler (newWidget)
       self._addFocusHandler (newWidget.child, newWidget)
@@ -139,6 +141,10 @@
                                              gfObject)
       entry.connect ('button-release-event', self._buttonRelease)
 
+    newWidget._sfc_handler = newWidget.connect ('set-focus-child',
+                                                self._setFocusChild,
+                                                gfObject)
+
     return newWidget
 
 
@@ -611,6 +617,23 @@
 
 
   # ---------------------------------------------------------------------------
+  # Set the focus child for a combo box entry
+  # ---------------------------------------------------------------------------
+
+  def _setFocusChild (self, widget, child, gfObject):
+
+    self._blockHandler (widget, '_sfc_handler')
+
+    if child is not None:
+      # Move the focus to the entry of the dropdown. This implies a
+      # focus-change in the GF-layer too
+      if not widget.is_focus ():
+        widget.child.grab_focus ()
+
+    self._blockHandler (widget, '_sfc_handler', True)
+
+
+  # ---------------------------------------------------------------------------
   # Check if a widget is a drop down
   # ---------------------------------------------------------------------------
 





reply via email to

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