diff options
Diffstat (limited to 'Demo/stdwin/TestSched.py')
-rwxr-xr-x | Demo/stdwin/TestSched.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Demo/stdwin/TestSched.py b/Demo/stdwin/TestSched.py new file mode 100755 index 0000000..7760cc0 --- /dev/null +++ b/Demo/stdwin/TestSched.py @@ -0,0 +1,38 @@ +#! /usr/local/python + +# TestSched + +import stdwin +from WindowParent import WindowParent, MainLoop +import WindowSched +from Buttons import PushButton + +def my_ringer(child): + child.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) |