commit-gnue
[Top][All Lists]
Advanced

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

r5980 - in trunk/gnue-forms/src/uidrivers: _base _base/widgets wx wx/wid


From: jcater
Subject: r5980 - in trunk/gnue-forms/src/uidrivers: _base _base/widgets wx wx/widgets
Date: Thu, 15 Jul 2004 16:30:03 -0500 (CDT)

Author: jcater
Date: 2004-07-15 16:30:02 -0500 (Thu, 15 Jul 2004)
New Revision: 5980

Modified:
   trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
   trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py
   trunk/gnue-forms/src/uidrivers/wx/UIdriver.py
   trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py
Log:
Highlight the current focused field


Modified: trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/UIdriver.py    2004-07-14 21:55:53 UTC 
(rev 5979)
+++ trunk/gnue-forms/src/uidrivers/_base/UIdriver.py    2004-07-15 21:30:02 UTC 
(rev 5980)
@@ -281,8 +281,9 @@
     object = event.object
     if object: # Some pages might not have any widgets that can be active
       if self._uiFocusWidget:
-        self._uiFocusWidget.loseFocus ()
+        self._uiFocusWidget.loseFocus()
       self._uiFocusWidget = self._gfObjToUIWidget[object]
+      self._uiFocusIndex = object._visibleIndex
       self._uiFocusWidget.indexedFocus(object._visibleIndex)
       self.dispatchEvent('beginEDITMODE', object, _form=object._form)
 

Modified: trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py       2004-07-14 
21:55:53 UTC (rev 5979)
+++ trunk/gnue-forms/src/uidrivers/_base/widgets/_base.py       2004-07-15 
21:30:02 UTC (rev 5980)
@@ -106,7 +106,7 @@
   #
   # The following functions should be overridden by the widgets
   # in the ui driver.
-  # 
+  #
   def createWidget(self, event, spacer):
     GDebug.printMesg(1,"UI doesn't support %s" % self.__class__)
 
@@ -130,5 +130,5 @@
 
   def setSelectedArea(self, selection1, selection2, index=0):
     pass
-                    
 
+

Modified: trunk/gnue-forms/src/uidrivers/wx/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/UIdriver.py       2004-07-14 21:55:53 UTC 
(rev 5979)
+++ trunk/gnue-forms/src/uidrivers/wx/UIdriver.py       2004-07-15 21:30:02 UTC 
(rev 5980)
@@ -88,8 +88,8 @@
 
     panel = wxPanel(dummyWindow, -1)
     self._disabledColour = panel.GetBackgroundColour()
+    self._focusColour = wxColour(255,255,236) # TODO: Make settable
 
-
     #
     # Find the max size of printable characters
     #  used to setup the grid

Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py  2004-07-14 21:55:53 UTC 
(rev 5979)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py  2004-07-15 21:30:02 UTC 
(rev 5980)
@@ -62,7 +62,9 @@
     self._uiDriver._IdToTkObj[id]=widget
     self._uiDriver._IdToGFObj[id]=gfobject
     self._uiDriver._IdToUIObj[id]=uiobject
-    widget.__origBackgroundColor = widget.GetBackgroundColour()
+    # BAH! This isn't working
+    ##widget.__origBackgroundColor = widget.GetBackgroundColour()
+    widget.__origBackgroundColor = wxWHITE
 
   def _deleteFromCrossRef(self, widget, object):
     id = widget.GetId()
@@ -84,7 +86,7 @@
   def hide(self):
     for widget in self.widgets:
       widget.Show(0)
-          
+
   def showModal(self):
     for widget in self.widgets:
       widget.ShowModal()
@@ -94,8 +96,16 @@
       self.Destroy()
 
   def indexedFocus(self, index):
-    self.widgets[index].SetFocus()
+    widget = self.widgets[index]
+    widget.__focused = True
+    widget.SetFocus()
+    widget.SetBackgroundColour(self._uiDriver._focusColour)
 
+  def loseFocus(self):
+    widget = self.widgets[self._uiDriver._uiFocusIndex]
+    widget.__focused = False
+    widget.SetBackgroundColour(widget.__color)
+
   def setValue(self, value, index=0, enabled=1):
     # These must be here or dropdown style controls
     # will get events they shouldn't and break.
@@ -128,10 +138,18 @@
     widget.SetValue(wxEncode(value))
     widget.Enable(enabled)
     widget.SetEvtHandlerEnabled(TRUE)
+
     if enabled:
-      widget.SetBackgroundColour(widget.__origBackgroundColor)
+      widget.__color = color = widget.__origBackgroundColor
+      try:
+        if widget.__focused:
+          color = self._uiDriver._focusColour
+      except AttributeError:
+        pass
     else:
-      widget.SetBackgroundColour(self._uiDriver._disabledColour)
+      color = self._uiDriver._disabledColour
+
+    widget.SetBackgroundColour(color)
     widget.Refresh()
 
   def setCursorPosition(self, position, index=0):
@@ -149,7 +167,7 @@
   def createWidget(self, event, spacer):
     newWidget = self._createWidget(event, spacer)
     initFont(newWidget)
-    if event.initialize: 
+    if event.initialize:
       self._addToCrossRef(newWidget,event.object,self)
     return newWidget
 





reply via email to

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