home *** CD-ROM | disk | FTP | other *** search
- #! /usr/local/bin/python
-
- # TestSched
-
- import stdwin
- from WindowParent import WindowParent, MainLoop
- import WindowSched
- from Buttons import PushButton
-
- def my_ringer(child):
- child.my_id = None
- stdwin.fleep()
-
- def my_hook(child):
- # schedule for the bell to ring in N seconds; cancel previous
- if child.my_id:
- WindowSched.cancel(child.my_id)
- child.my_id = \
- WindowSched.enter(child.my_number*1000, 0, my_ringer, (child,))
-
- def main(n):
- from CSplit import CSplit
-
- window = WindowParent().create('TestSched', (0, 0))
- csplit = CSplit().create(window)
-
- for i in range(n):
- child = PushButton().define(csplit)
- child.my_number = i
- child.my_id = None
- child.settext(`(i+n-1)%n+1`)
- child.hook = my_hook
-
- window.realize()
-
- WindowSched.run()
-
- main(12)
-