commit-gnue
[Top][All Lists]
Advanced

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

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


From: johannes
Subject: r6640 - trunk/gnue-forms/src/uidrivers/gtk2/widgets
Date: Sun, 7 Nov 2004 11:20:46 -0600 (CST)

Author: johannes
Date: 2004-11-07 11:20:45 -0600 (Sun, 07 Nov 2004)
New Revision: 6640

Modified:
   trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
Log:
Pythonized focushighlighting


Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py        2004-11-06 
22:49:05 UTC (rev 6639)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py        2004-11-07 
17:20:45 UTC (rev 6640)
@@ -204,29 +204,19 @@
     item.grab_focus ()
 
 
-    #Make the focused widget's color different
-    #if focus color is set in gnue.conf.
-    #We store the widget's original color so we can set it back to normal
-    #when it loses focus.
-    #TODO: CheckButtons don't get colored...
-    try:
-      if gConfigForms('focusColor'):
-        focusColor = gtk.gdk.color_parse('#' + gConfigForms('focusColor'))
-        if isinstance(item, gtk.Button):
-          try:
-            item.__color
-          except:
-            item.__color = item.get_style().bg[gtk.STATE_NORMAL]
-          item.modify_bg(gtk.STATE_NORMAL, focusColor)
-        else:
-          try:
-            item.__color
-          except:
-            item.__color = item.get_style().base[gtk.STATE_NORMAL]
-          item.modify_base(gtk.STATE_NORMAL, focusColor)
-    except:
-      pass
+    # Change the background of a widget if requested via gnue.conf
+    if gConfigForms ('focusColor'):
+      focusColor = gtk.gdk.color_parse ('#' + gConfigForms ('focusColor'))
+      mode   = ['base', 'bg'] [isinstance (item, gtk.Button)]
+      setcol = getattr (item, 'modify_%s' % mode)
 
+      if not hasattr (item, '_color'):
+        item._color   = getattr (item.get_style (), mode) [gtk.STATE_NORMAL]
+        item._setback = setcol
+
+      setcol (gtk.STATE_NORMAL, focusColor)
+
+
     # To avoid the automatic select-all in a combo box, we explicitly set the
     # selection to the current position only
     if isinstance (widget, gtk.Combo):
@@ -244,20 +234,14 @@
     for widget in self.widgets:
       gDebug (3, "Lose focus: %s" % widget)
 
-      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
+      item = isinstance (widget, gtk.Combo) and widget.entry or widget
 
-      if isinstance(item, gtk.Entry):
-        item.select_region(0,0)
+      if hasattr (item, '_color'):
+        item._setback (gtk.STATE_NORMAL, item._color)
 
+      if isinstance (item, gtk.Entry):
+        item.select_region (0,0)
+
   # ---------------------------------------------------------------------------
   # Set the value of a widget
   # ---------------------------------------------------------------------------





reply via email to

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