X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c6281ceb776325251aa119c7b496e6152303996a..299647acac7960652aadb008775429c1f8ea9b8d:/wxPython/demo/SpinButton.py diff --git a/wxPython/demo/SpinButton.py b/wxPython/demo/SpinButton.py new file mode 100644 index 0000000000..acbe912fb1 --- /dev/null +++ b/wxPython/demo/SpinButton.py @@ -0,0 +1,61 @@ +# 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o Updated for wx namespace +# +# 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o EVT_SPIN events (or something about them) freezes up the app. +# + +import wx + +#---------------------------------------------------------------------- + +class TestPanel(wx.Panel): + def __init__(self, parent, log): + wx.Panel.__init__(self, parent, -1) + self.log = log + self.count = 0 + + wx.StaticText(self, -1, "This example uses the wxSpinButton control.", (45, 15)) + + self.text = wx.TextCtrl(self, -1, "1", (30, 50), (60, -1)) + h = self.text.GetSize().height + + self.spin = wx.SpinButton(self, -1, (92, 50), (h, h), wx.SP_VERTICAL) + self.spin.SetRange(1, 100) + self.spin.SetValue(1) + + self.Bind(wx.EVT_SPIN, self.OnSpin, self.spin) + + + def OnSpin(self, event): + self.text.SetValue(str(event.GetPosition())) + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + +overview = """\ +A wxSpinButton has two small up and down (or left and right) arrow buttons. +It is often used next to a text control for increment and decrementing a value. +Portable programs should try to use wxSpinCtrl instead as wxSpinButton is not +implemented for all platforms (Win32 and GTK only currently). + +NB: the range supported by this control (and wxSpinCtrl) depends on the platform +but is at least -0x8000 to 0x7fff. Under GTK and Win32 with sufficiently new version +of comctrl32.dll (at least 4.71 is required, 5.80 is recommended) the full 32 bit +range is supported. + +""" + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])])