]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/demo/wxTimer.py
reSWIGged
[wxWidgets.git] / wxPython / demo / wxTimer.py
... / ...
CommitLineData
1# 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
2#
3# o Updated for wx namespace
4#
5
6import time
7import wx
8
9#---------------------------------------------------------------------------
10
11## For your convenience; an example of creating your own timer class.
12##
13## class TestTimer(wxTimer):
14## def __init__(self, log = None):
15## wxTimer.__init__(self)
16## self.log = log
17## def Notify(self):
18## wxBell()
19## if self.log:
20## self.log.WriteText('beep!\n')
21
22#---------------------------------------------------------------------------
23
24ID_Start = wx.NewId()
25ID_Stop = wx.NewId()
26ID_Timer = wx.NewId()
27ID_Timer2 = wx.NewId()
28
29class TestTimerWin(wx.Panel):
30 def __init__(self, parent, log):
31 wx.Panel.__init__(self, parent, -1)
32 self.log = log
33
34 wx.StaticText(self, -1, "This is a timer example", (15, 30))
35 wx.Button(self, ID_Start, ' Start ', (15, 75), wx.DefaultSize)
36 wx.Button(self, ID_Stop, ' Stop ', (115, 75), wx.DefaultSize)
37
38 self.timer = wx.Timer(self, # object to send the event to
39 ID_Timer) # event id to use
40
41 self.timer2 = wx.Timer(self, # object to send the event to
42 ID_Timer2) # event id to use
43
44 self.Bind(wx.EVT_BUTTON, self.OnStart, id=ID_Start)
45 self.Bind(wx.EVT_BUTTON, self.OnStop, id=ID_Stop)
46 self.Bind(wx.EVT_TIMER, self.OnTimer, id=ID_Timer)
47 self.Bind(wx.EVT_TIMER, self.OnTimer2, id=ID_Timer2)
48
49 def OnStart(self, event):
50 self.timer.Start(1000)
51 self.timer2.Start(1500)
52
53 def OnStop(self, event):
54 self.timer.Stop()
55 self.timer2.Stop()
56
57 def OnTimer(self, event):
58 wx.Bell()
59 if self.log:
60 self.log.WriteText('beep!\n')
61
62 def OnTimer2(self, event):
63 wx.Bell()
64 if self.log:
65 self.log.WriteText('beep 2!\n')
66
67#---------------------------------------------------------------------------
68
69def runTest(frame, nb, log):
70 win = TestTimerWin(nb, log)
71 return win
72
73#---------------------------------------------------------------------------
74
75
76
77overview = """\
78The wxTimer class allows you to execute code at specified intervals from
79within the wxPython event loop. Timers can be one-shot or repeating.
80
81"""
82
83
84
85
86if __name__ == '__main__':
87 import sys,os
88 import run
89 run.main(['', os.path.basename(sys.argv[0])])