commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r10240 - in trunk/gnue-forms: . src/uidrivers/wx/widgets


From: reinhard
Subject: [gnue] r10240 - in trunk/gnue-forms: . src/uidrivers/wx/widgets
Date: Sun, 14 Nov 2010 15:04:11 -0600 (CST)

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 <address@hidden>
properties: 
        branch-nick: forms

   + timestamp: 2010-11-14 22:03:45.615000010 +0100
committer: Reinhard Müller <address@hidden>
properties: 
        branch-nick: forms

Name: bzr:file-ids
   - src/GFParser.py    address@hidden:trunk%2Fgnue-forms:src%2FGFParser.py
src/uidrivers/wx/widgets/button.py      
address@hidden:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fbutton.py

   + src/uidrivers/wx/widgets/_base.py  
address@hidden:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2F_base.py
src/uidrivers/wx/widgets/entry.py       
address@hidden:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fentry.py

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

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

Name: bzr:text-parents
   - src/GFParser.py    address@hidden
src/uidrivers/wx/widgets/button.py      address@hidden

   + src/uidrivers/wx/widgets/_base.py  address@hidden
src/uidrivers/wx/widgets/entry.py       address@hidden


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
     # -------------------------------------------------------------------------
 




reply via email to

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