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