]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ComboBox.py
added missing button state
[wxWidgets.git] / wxPython / demo / ComboBox.py
index eb995d51a5c88697aa02a5a790ae296468f6d01d..e1335dbe3d4f63f00386dbc38fa9b70acbf30543 100644 (file)
@@ -1,7 +1,3 @@
-# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-# 
 
 import  wx
 
 
 import  wx
 
@@ -24,7 +20,7 @@ class TestComboBox(wx.Panel):
                       #'this is a long item that needs a scrollbar...',
                       'six', 'seven', 'eight']
 
                       #'this is a long item that needs a scrollbar...',
                       'six', 'seven', 'eight']
 
-        wx.StaticText(self, -1, "This example uses the wxComboBox control.", (8, 10))
+        wx.StaticText(self, -1, "This example uses the wx.ComboBox control.", (8, 10))
         wx.StaticText(self, -1, "Select one:", (15, 50), (75, 18))
 
         # This combobox is created with a preset list of values.
         wx.StaticText(self, -1, "Select one:", (15, 50), (75, 18))
 
         # This combobox is created with a preset list of values.
@@ -33,35 +29,29 @@ class TestComboBox(wx.Panel):
             (95, -1), sampleList, wx.CB_DROPDOWN #|wxTE_PROCESS_ENTER
             )
 
             (95, -1), sampleList, wx.CB_DROPDOWN #|wxTE_PROCESS_ENTER
             )
 
-        ##import win32api, win32con
-        ##win32api.SendMessage(cb.GetHandle(),
-        ##                     win32con.CB_SETHORIZONTALEXTENT,
-       ##                     200, 0)
-
         self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, cb)
         self.Bind(wx.EVT_TEXT, self.EvtText, cb)
         self.Bind(wx.EVT_TEXT_ENTER, self.EvtTextEnter, cb)
         cb.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
         cb.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)
 
         self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, cb)
         self.Bind(wx.EVT_TEXT, self.EvtText, cb)
         self.Bind(wx.EVT_TEXT_ENTER, self.EvtTextEnter, cb)
         cb.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
         cb.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)
 
-        # Once the combobox is set up, we append some more data to it.
+        # Once the combobox is set up, we can append some more data to it.
         cb.Append("foo", "This is some client data for this item")
 
         # This combobox is created with no values initially.
         cb = wx.ComboBox(
         cb.Append("foo", "This is some client data for this item")
 
         # This combobox is created with no values initially.
         cb = wx.ComboBox(
-            self, 501, "default value", (90, 80), (95, -1), [], wx.CB_SIMPLE)
+            self, 501, "default value", (90, 80), (95, -1), [], wx.CB_DROPDOWN)
 
         # Here we dynamically add our values to the second combobox.
         for item in sampleList:
             cb.Append(item, item.upper())
 
         self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, cb)
 
         # Here we dynamically add our values to the second combobox.
         for item in sampleList:
             cb.Append(item, item.upper())
 
         self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, cb)
-        self.Bind(wx.EVT_COMBOBOX, self.EvtText, cb)
 
 
-    # The user selects something, we go here.
+    # When the user selects something, we go here.
     def EvtComboBox(self, evt):
         cb = evt.GetEventObject()
     def EvtComboBox(self, evt):
         cb = evt.GetEventObject()
-        data = cb.GetClientData(cb.GetSelection())
+        data = cb.GetClientData(evt.GetSelection())
         self.log.WriteText('EvtComboBox: %s\nClientData: %s\n' % (evt.GetString(), data))
 
         if evt.GetString() == 'one':
         self.log.WriteText('EvtComboBox: %s\nClientData: %s\n' % (evt.GetString(), data))
 
         if evt.GetString() == 'one':
@@ -70,11 +60,13 @@ class TestComboBox(wx.Panel):
     # Capture events every time a user hits a key in the text entry field.
     def EvtText(self, evt):
         self.log.WriteText('EvtText: %s\n' % evt.GetString())
     # Capture events every time a user hits a key in the text entry field.
     def EvtText(self, evt):
         self.log.WriteText('EvtText: %s\n' % evt.GetString())
+        evt.Skip()
 
     # Capture events when the user types something into the control then
     # hits ENTER.
     def EvtTextEnter(self, evt):
         self.log.WriteText('EvtTextEnter: %s' % evt.GetString())
 
     # Capture events when the user types something into the control then
     # hits ENTER.
     def EvtTextEnter(self, evt):
         self.log.WriteText('EvtTextEnter: %s' % evt.GetString())
+        evt.Skip()
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -85,7 +77,6 @@ def runTest(frame, nb, log):
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
 
-
 overview = """\
 A ComboBox is like a combination of an edit control and a listbox. It can be 
 displayed as static list with editable or read-only text field; or a drop-down 
 overview = """\
 A ComboBox is like a combination of an edit control and a listbox. It can be 
 displayed as static list with editable or read-only text field; or a drop-down 
@@ -108,8 +99,10 @@ event is generated every time that the user hits a key in the ComboBox entry fie
 
 """
 
 
 """
 
+#---------------------------------------------------------------------------
+
 if __name__ == '__main__':
     import sys,os
     import run
 if __name__ == '__main__':
     import sys,os
     import run
-    run.main(['', os.path.basename(sys.argv[0])])
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])