Author: reinhard
Date: 2010-11-14 15:04:10 -0600 (Sun, 14 Nov 2010)
New Revision: 10240

Modified:
   trunk/gnue-forms/
   trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py
   trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
Log:
Workaround for a bug in wxMSW.



Property changes on: trunk/gnue-forms
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2010-11-12 16:59:54.292999983 +0100
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: forms

   + timestamp: 2010-11-14 22:03:45.615000010 +0100
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: forms

Name: bzr:file-ids
   - src/GFParser.py    
1...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2FGFParser.py
src/uidrivers/wx/widgets/button.py      
10...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fbutton.py

   + src/uidrivers/wx/widgets/_base.py  
10...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2F_base.py
src/uidrivers/wx/widgets/entry.py       
10...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fentry.py

Name: bzr:revision-id:v4
   - 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]
3135 [email protected]
3136 [email protected]
3137 [email protected]
3138 [email protected]
3139 [email protected]
3140 [email protected]
3141 [email protected]
3142 [email protected]
3143 [email protected]
3144 [email protected]
3145 [email protected]
3146 [email protected]
3147 [email protected]
3148 [email protected]
3149 [email protected]
3150 [email protected]
3151 [email protected]

   + 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]
3135 [email protected]
3136 [email protected]
3137 [email protected]
3138 [email protected]
3139 [email protected]
3140 [email protected]
3141 [email protected]
3142 [email protected]
3143 [email protected]
3144 [email protected]
3145 [email protected]
3146 [email protected]
3147 [email protected]
3148 [email protected]
3149 [email protected]
3150 [email protected]
3151 [email protected]
3152 [email protected]

Name: bzr:text-parents
   - src/GFParser.py    
[email protected]
src/uidrivers/wx/widgets/button.py      
[email protected]

   + src/uidrivers/wx/widgets/_base.py  
[email protected]
src/uidrivers/wx/widgets/entry.py       
[email protected]


Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py  2010-11-14 18:36:34 UTC 
(rev 10239)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py  2010-11-14 21:04:10 UTC 
(rev 10240)
@@ -191,33 +191,6 @@
 
 
     # -------------------------------------------------------------------------
-    # Update the choices of a ComboBox or a Listbox
-    # -------------------------------------------------------------------------
-
-    def _ui_set_choices_(self, index, choices):
-        """
-        Update the choices of a combo- or listbox widget with the allowed
-        values from the associated GFEntry.  The values are alphabetically
-        sorted.
-
-        @param index: index of the widget to set the values for
-        @param choices: alphabetically sorted list of values
-        """
-
-        widget = self.widgets[index]
-
-        if not (isinstance(widget, wx.ComboBox) \
-                or isinstance(widget, wx.ListBox)):
-            return
-        widget.Freeze()
-        try:
-            widget.Clear()
-            widget.AppendItems(choices)
-        finally:
-            widget.Thaw()
-
-
-    # -------------------------------------------------------------------------
     # Widget creation
     # -------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py  2010-11-14 18:36:34 UTC 
(rev 10239)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py  2010-11-14 21:04:10 UTC 
(rev 10240)
@@ -520,17 +520,14 @@
                 widget.SetLabel(value)
 
             elif isinstance(widget, wx.ListBox):
-                # TODO: We must allow setting the value to None, too, to be
-                # able to move the cursor to the empty position at the start.
-                # Must be tested under windows and Mac OS X.
-                #
-                # On wxMSW SetStringSelection() does not work properly with
-                # empty values.
-                index = widget.FindString(value)
-                if index == -1:
+                # On wxMSW neither SetStringSelection() nor FindString() works
+                # with the empty string (the first item in the listbox), so we
+                # have to find out the index ourselves.
+                try:
+                    index = widget.GetStrings().index(value)
+                    widget.SetSelection(index)
+                except ValueError:
                     widget.SetSelection(wx.NOT_FOUND)
-                else:
-                    widget.SetSelection(index)
 
             elif isinstance(widget, wx.CheckBox):
                 if value is None:
@@ -660,6 +657,25 @@
 
 
     # -------------------------------------------------------------------------
+    # Update the choices of a ComboBox or a Listbox
+    # -------------------------------------------------------------------------
+
+    def _ui_set_choices_(self, index, choices):
+
+        widget = self.widgets[index]
+
+        if not (isinstance(widget, wx.ComboBox) \
+                or isinstance(widget, wx.ListBox)):
+            return
+        widget.Freeze()
+        try:
+            widget.Clear()
+            widget.AppendItems(choices)
+        finally:
+            widget.Thaw()
+
+
+    # -------------------------------------------------------------------------
     # Mark the current row for label style entries
     # -------------------------------------------------------------------------
 


_______________________________________________
commit-gnue mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/commit-gnue

Reply via email to