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