]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/wxComboBox.py
fixed off by 1 bug in SelectRange()
[wxWidgets.git] / wxPython / demo / wxComboBox.py
1 from wxPython.wx import *
2
3 #---------------------------------------------------------------------------
4
5 class TestComboBox(wxPanel):
6 def OnSetFocus(self, evt):
7 print "OnSetFocus"
8 evt.Skip()
9 def OnKillFocus(self, evt):
10 print "OnKillFocus"
11 evt.Skip()
12
13 def __init__(self, parent, log):
14 self.log = log
15 wxPanel.__init__(self, parent, -1)
16
17 sampleList = ['zero', 'one', 'two', 'three', 'four', 'five',
18 'six', 'seven', 'eight']
19
20 wxStaticText(self, -1, "This example uses the wxComboBox control.",
21 wxPoint(8, 10))
22
23 wxStaticText(self, -1, "Select one:", wxPoint(15, 50), wxSize(75, 18))
24 cb = wxComboBox(self, 500, "default value", wxPoint(90, 50), wxSize(95, -1),
25 sampleList, wxCB_DROPDOWN)#|wxTE_PROCESS_ENTER)
26 EVT_COMBOBOX(self, 500, self.EvtComboBox)
27 EVT_TEXT(self, 500, self.EvtText)
28 EVT_TEXT_ENTER(self, 500, self.EvtTextEnter)
29 EVT_SET_FOCUS(cb, self.OnSetFocus)
30 EVT_KILL_FOCUS(cb, self.OnKillFocus)
31
32 cb.Append("foo", "This is some client data for this item")
33
34 cb = wxComboBox(self, 501, "default value", wxPoint(90, 80), wxSize(95, -1),
35 [], wxCB_SIMPLE)
36 for item in sampleList:
37 cb.Append(item, item.upper())
38 EVT_COMBOBOX(self, 501, self.EvtComboBox)
39 EVT_TEXT(self, 501, self.EvtText)
40
41
42 def EvtComboBox(self, evt):
43 cb = evt.GetEventObject()
44 data = cb.GetClientData(cb.GetSelection())
45 self.log.WriteText('EvtComboBox: %s\nClientData: %s\n' % (evt.GetString(), data))
46
47 def EvtText(self, evt):
48 self.log.WriteText('EvtText: %s\n' % evt.GetString())
49
50 def EvtTextEnter(self, evt):
51 self.log.WriteText('EvtTextEnter: does this work?')
52
53 #---------------------------------------------------------------------------
54
55 def runTest(frame, nb, log):
56 win = TestComboBox(nb, log)
57 return win
58
59 #---------------------------------------------------------------------------
60
61
62
63
64
65
66
67 overview = """\
68 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 list with text field; or a drop-down list without a text field.
69
70 """
71
72
73
74 if __name__ == '__main__':
75 import sys,os
76 import run
77 run.main(['', os.path.basename(sys.argv[0])])
78