]> git.saurik.com Git - wxWidgets.git/blame - wxPython/demo/wxComboBox.py
fix text scrolling in GTK2 (patch 703988)
[wxWidgets.git] / wxPython / demo / wxComboBox.py
CommitLineData
cf694132
RD
1from wxPython.wx import *
2
3#---------------------------------------------------------------------------
4
5class TestComboBox(wxPanel):
059a841c
RD
6 def OnSetFocus(self, evt):
7 print "OnSetFocus"
8 evt.Skip()
9 def OnKillFocus(self, evt):
10 print "OnKillFocus"
11 evt.Skip()
12
cf694132
RD
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',
1fded56b 18 ##'this is a long item that needs a scrollbar...',
cf694132
RD
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))
1e6796a0
RD
25 cb = wxComboBox(self, 500, "default value", wxPoint(90, 50), wxSize(95, -1),
26 sampleList, wxCB_DROPDOWN)#|wxTE_PROCESS_ENTER)
1fded56b
RD
27 ##import win32api, win32con
28 ##win32api.SendMessage(cb.GetHandle(),
29 ## win32con.CB_SETHORIZONTALEXTENT,
30 ## 200, 0)
31
8bf5d46e 32 EVT_COMBOBOX(self, 500, self.EvtComboBox)
f6bcfd97 33 EVT_TEXT(self, 500, self.EvtText)
468c1af0 34 EVT_TEXT_ENTER(self, 500, self.EvtTextEnter)
059a841c
RD
35 EVT_SET_FOCUS(cb, self.OnSetFocus)
36 EVT_KILL_FOCUS(cb, self.OnKillFocus)
37
3bbeffe4 38 cb.Append("foo", "This is some client data for this item")
059a841c 39
1e6796a0 40 cb = wxComboBox(self, 501, "default value", wxPoint(90, 80), wxSize(95, -1),
68bc8549
RD
41 [], wxCB_SIMPLE)
42 for item in sampleList:
1e4a197e 43 cb.Append(item, item.upper())
059a841c
RD
44 EVT_COMBOBOX(self, 501, self.EvtComboBox)
45 EVT_TEXT(self, 501, self.EvtText)
cf694132
RD
46
47
3bbeffe4
RD
48 def EvtComboBox(self, evt):
49 cb = evt.GetEventObject()
50 data = cb.GetClientData(cb.GetSelection())
51 self.log.WriteText('EvtComboBox: %s\nClientData: %s\n' % (evt.GetString(), data))
cf694132 52
3bbeffe4
RD
53 def EvtText(self, evt):
54 self.log.WriteText('EvtText: %s\n' % evt.GetString())
f6bcfd97 55
468c1af0
RD
56 def EvtTextEnter(self, evt):
57 self.log.WriteText('EvtTextEnter: does this work?')
58
cf694132
RD
59#---------------------------------------------------------------------------
60
61def runTest(frame, nb, log):
62 win = TestComboBox(nb, log)
63 return win
64
65#---------------------------------------------------------------------------
66
67
68
69
70
71
72
1e6796a0
RD
73overview = """\
74A 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.
cf694132 75
1e6796a0 76"""
cf694132
RD
77
78
79
1e6796a0
RD
80if __name__ == '__main__':
81 import sys,os
82 import run
83 run.main(['', os.path.basename(sys.argv[0])])
cf694132 84