[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6626 - trunk/gnue-forms/src/uidrivers/gtk2/widgets
From: |
kilo |
Subject: |
r6626 - trunk/gnue-forms/src/uidrivers/gtk2/widgets |
Date: |
Fri, 5 Nov 2004 04:42:33 -0600 (CST) |
Author: kilo
Date: 2004-11-05 04:42:32 -0600 (Fri, 05 Nov 2004)
New Revision: 6626
Modified:
trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
Log:
Highlight currently focused entry
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py 2004-11-05
08:09:51 UTC (rev 6625)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py 2004-11-05
10:42:32 UTC (rev 6626)
@@ -60,7 +60,7 @@
newWidget = self._createWidget (event, spacer)
if event.initialize:
self._addToCrossRef (newWidget, gfObject, self)
-
+
return newWidget
@@ -127,7 +127,7 @@
record an additional 'requestJUMPRECORD' event will be fired.
"""
gDebug (2, "FOCUS-IN-EVENT: %s for %s" % (widget, lookupWidget))
-
+
gfObject = self._uiDriver._WidgetToGFObj [lookupWidget]
_formRef = gfObject._form
@@ -173,15 +173,15 @@
"""
for widget in self.widgets:
widget.hide ()
-
+
def showModal (self):
gDebug (1, "showModal not implemented for gtk2 driver")
def destroy (self):
gDebug (1, "destroy not implemented for gtk2 driver")
-
+
# ---------------------------------------------------------------------------
# Set the focus to a given widget
# ---------------------------------------------------------------------------
@@ -194,6 +194,7 @@
"""
widget = self.widgets [index]
gDebug (1, "indexedFocus: %s [%s]" % (widget, index))
+ widget.__focused = True
item = isinstance (widget, gtk.Combo) and widget.entry or widget
@@ -202,6 +203,23 @@
gDebug (3, "Grab focus to %s for %s" % (item, widget))
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):
+ try:
+ item.__color
+ except:
+ item.__color = item.get_style().bg[gtk.STATE_NORMAL]
+ item.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse('#FFFFEC'))
+ else:
+ try:
+ item.__color
+ except:
+ item.__color = item.get_style().base[gtk.STATE_NORMAL]
+ item.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse('#FFFFEC'))
+
# 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):
@@ -218,7 +236,14 @@
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)
+
if isinstance (widget, gtk.Combo):
widget.entry.select_region (0, 0)
@@ -237,22 +262,22 @@
"""
widget = self.widgets [index]
gDebug (1, "setValue %s [%s] %s" % (repr (value), index, widget))
-
+
if not isinstance (widget, gtk.CheckButton) and \
type (value) != types.UnicodeType:
gDebug (3, "converting %s to unicode using %s" % \
(repr (value), gConfigForms ('textEncoding')))
value = unicode (value, gConfigForms ('textEncoding'))
-
+
if isinstance (widget, gtk.Combo):
gfObject = self._uiDriver._WidgetToGFObj [widget]
-
- # Check if list of allowed value (~= foreign keys, ~= dropdown content)
+
+ # Check if list of allowed value (~= foreign keys, ~= dropdown content)
# changed
if gfObject.style == "dropdown":
self._updateChoices (widget, gfObject)
-
+
self._blockHandler (widget.entry, '_insert_handler')
self._blockHandler (widget.entry, '_delete_handler')
@@ -262,7 +287,7 @@
self._blockHandler (widget.entry, '_delete_handler', True)
-
+
elif isinstance (widget, gtk.CheckButton):
self._blockHandler (widget, '_clickedHandler')
widget.set_active (value)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6626 - trunk/gnue-forms/src/uidrivers/gtk2/widgets,
kilo <=