]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/wxTimer.py
fix text scrolling in GTK2 (patch 703988)
[wxWidgets.git] / wxPython / demo / wxTimer.py
index 14ad5941002c687c49217a11b038f0cf64956cd8..0aa39e8ee1fa24ae78b9c32d0a39ffd5295d2e93 100644 (file)
@@ -5,39 +5,61 @@ import time
 
 #---------------------------------------------------------------------------
 
-class TestTimer(wxTimer):
-    def __init__(self, log = None):
-        wxTimer.__init__(self)
-        self.log = log
-
-    def Notify(self):
-        wxBell()
-        if self.log:
-            self.log.WriteText('beep!\n')
+## class TestTimer(wxTimer):
+##     def __init__(self, log = None):
+##         wxTimer.__init__(self)
+##         self.log = log
+##     def Notify(self):
+##         wxBell()
+##         if self.log:
+##             self.log.WriteText('beep!\n')
 
 #---------------------------------------------------------------------------
 
-_timer = TestTimer()
-
+ID_Start  = wxNewId()
+ID_Stop   = wxNewId()
+ID_Timer  = wxNewId()
+ID_Timer2 = wxNewId()
 
 class TestTimerWin(wxPanel):
     def __init__(self, parent, log):
-        _timer.log = log
         wxPanel.__init__(self, parent, -1)
+        self.log = log
 
         wxStaticText(self, -1, "This is a timer example",
                                wxPoint(15, 30))
 
-        wxButton(self, 11101, ' Start ', wxPoint(15, 75), wxDefaultSize)
-        wxButton(self, 11102, ' Stop ', wxPoint(115, 75), wxDefaultSize)
-        EVT_BUTTON(self, 11101, self.OnStart)
-        EVT_BUTTON(self, 11102, self.OnStop)
+        wxButton(self, ID_Start, ' Start ', wxPoint(15, 75), wxDefaultSize)
+        wxButton(self, ID_Stop, ' Stop ', wxPoint(115, 75), wxDefaultSize)
+
+        self.timer = wxTimer(self,      # object to send the event to
+                             ID_Timer)  # event id to use
+
+        self.timer2 = wxTimer(self,      # object to send the event to
+                             ID_Timer2)  # event id to use
+
+        EVT_BUTTON(self, ID_Start, self.OnStart)
+        EVT_BUTTON(self, ID_Stop,  self.OnStop)
+        EVT_TIMER(self,  ID_Timer, self.OnTimer)
+        EVT_TIMER(self,  ID_Timer2, self.OnTimer2)
 
     def OnStart(self, event):
-        _timer.Start(1000)
+        self.timer.Start(1000)
+        self.timer2.Start(1500)
 
     def OnStop(self, event):
-        _timer.Stop()
+        self.timer.Stop()
+        self.timer2.Stop()
+
+    def OnTimer(self, event):
+        wxBell()
+        if self.log:
+            self.log.WriteText('beep!\n')
+
+    def OnTimer2(self, event):
+        wxBell()
+        if self.log:
+            self.log.WriteText('beep 2!\n')
 
 #---------------------------------------------------------------------------
 
@@ -49,19 +71,15 @@ def runTest(frame, nb, log):
 
 
 
+overview = """\
+The wxTimer class allows you to execute code at specified intervals.
 
+"""
 
 
 
 
-
-
-
-overview = """\
-The wxTimer class allows you to execute code at specified intervals. To use it, derive a new class and override the Notify member to perform the required action. Start with Start, stop with Stop, it's as simple as that.
-
-wxTimer()
-------------------
-
-Constructor.
-"""
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])