commit-gnue
[Top][All Lists]
Advanced

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

r6636 - trunk/gnue-forms/src/uidrivers/gtk2/widgets


From: kilo
Subject: r6636 - trunk/gnue-forms/src/uidrivers/gtk2/widgets
Date: Fri, 5 Nov 2004 16:49:40 -0600 (CST)

Author: kilo
Date: 2004-11-05 16:49:38 -0600 (Fri, 05 Nov 2004)
New Revision: 6636

Modified:
   trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
Log:
Highlight currently focused entry
Now works with dropdowns too...

Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py        2004-11-05 
16:16:35 UTC (rev 6635)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py        2004-11-05 
22:49:38 UTC (rev 6636)
@@ -194,7 +194,6 @@
     """
     widget = self.widgets [index]
     gDebug (1, "indexedFocus: %s [%s]" % (widget, index))
-    widget.__focused = True
 
     item    = isinstance (widget, gtk.Combo) and widget.entry or widget
 
@@ -204,10 +203,12 @@
     item.grab_focus ()
 
 
-    #Make the focused widget colored differently
-    #We store the widget's original color so we can set it back to normal...
-    #TODO: make focus color configurable
-    if isinstance(widget, gtk.Button):
+    #Make the focused widget's color different
+    #We store the widget's original color so we can set it back to normal
+    #when it loses focus.
+    #TODO: move focus color spec to config, or if not in config, skip all this
+    #TODO: CheckButtons don't get colored...
+    if isinstance(item, gtk.Button):
       try:
         item.__color
       except:
@@ -236,21 +237,21 @@
   def loseFocus (self):
     for widget in self.widgets:
       gDebug (3, "Lose focus: %s" % widget)
-      widget.__focused = False
 
-      #Set the widget's color back to original
-      if isinstance(widget, gtk.Button):
-        widget.modify_bg(gtk.STATE_NORMAL, widget.__color)
-      else:
-        widget.modify_base(gtk.STATE_NORMAL, widget.__color)
+      item = isinstance(widget, gtk.Combo) and widget.entry or widget
+      try:
+        item.__color
+        #Orig color is stored, so we must set it back
+        if isinstance(item, gtk.Button):
+          item.modify_bg(gtk.STATE_NORMAL, item.__color)
+        else:
+          item.modify_base(gtk.STATE_NORMAL, item.__color)
+      except:
+        pass
 
-      if isinstance (widget, gtk.Combo):
-        widget.entry.select_region (0, 0)
+      if isinstance(item, gtk.Entry):
+        item.select_region(0,0)
 
-      elif isinstance (widget, gtk.Entry):
-        widget.select_region (0, 0)
-
-
   # ---------------------------------------------------------------------------
   # Set the value of a widget
   # ---------------------------------------------------------------------------





reply via email to

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