]>
Commit | Line | Data |
---|---|---|
8fa876ca RD |
1 | # 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net) |
2 | # | |
3 | # o EVT_SPIN events (or something about them) freezes up the app. | |
4 | # | |
cf694132 | 5 | |
8fa876ca | 6 | import wx |
cf694132 | 7 | |
cf694132 RD |
8 | #---------------------------------------------------------------------- |
9 | ||
8fa876ca | 10 | class TestPanel(wx.Panel): |
cf694132 | 11 | def __init__(self, parent, log): |
8fa876ca | 12 | wx.Panel.__init__(self, parent, -1) |
cf694132 RD |
13 | self.log = log |
14 | self.count = 0 | |
15 | ||
95bfd958 | 16 | wx.StaticText(self, -1, "This example uses the wx.SpinButton control.", (45, 15)) |
cf694132 | 17 | |
8fa876ca | 18 | self.text = wx.TextCtrl(self, -1, "1", (30, 50), (60, -1)) |
cf694132 | 19 | h = self.text.GetSize().height |
d1f46a1c | 20 | w = self.text.GetSize().width + self.text.GetPosition().x + 2 |
8fa876ca | 21 | |
d1f46a1c RD |
22 | self.spin = wx.SpinButton(self, -1, |
23 | (w, 50), | |
24 | (h*2/3, h), | |
25 | wx.SP_VERTICAL) | |
cf694132 RD |
26 | self.spin.SetRange(1, 100) |
27 | self.spin.SetValue(1) | |
28 | ||
8fa876ca | 29 | self.Bind(wx.EVT_SPIN, self.OnSpin, self.spin) |
cf694132 RD |
30 | |
31 | ||
32 | def OnSpin(self, event): | |
33 | self.text.SetValue(str(event.GetPosition())) | |
34 | ||
35 | ||
36 | #---------------------------------------------------------------------- | |
37 | ||
38 | def runTest(frame, nb, log): | |
39 | win = TestPanel(nb, log) | |
40 | return win | |
41 | ||
42 | #---------------------------------------------------------------------- | |
43 | ||
44 | ||
cf694132 | 45 | overview = """\ |
95bfd958 | 46 | A wx.SpinButton has two small up and down (or left and right) arrow buttons. |
8fa876ca | 47 | It is often used next to a text control for increment and decrementing a value. |
95bfd958 | 48 | Portable programs should try to use wx.SpinCtrl instead as wx.SpinButton is not |
8fa876ca | 49 | implemented for all platforms (Win32 and GTK only currently). |
1fded56b | 50 | |
95bfd958 | 51 | NB: the range supported by this control (and wx.SpinCtrl) depends on the platform |
8fa876ca RD |
52 | but is at least -0x8000 to 0x7fff. Under GTK and Win32 with sufficiently new version |
53 | of comctrl32.dll (at least 4.71 is required, 5.80 is recommended) the full 32 bit | |
54 | range is supported. | |
1fded56b | 55 | |
8fa876ca | 56 | """ |
1fded56b RD |
57 | |
58 | if __name__ == '__main__': | |
59 | import sys,os | |
60 | import run | |
8eca4fef | 61 | run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) |