diff options
Diffstat (limited to 'Mac/IDE scripts/Widget demos/WidgetTest.py')
-rw-r--r-- | Mac/IDE scripts/Widget demos/WidgetTest.py | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Mac/IDE scripts/Widget demos/WidgetTest.py b/Mac/IDE scripts/Widget demos/WidgetTest.py new file mode 100644 index 0000000..edef140 --- /dev/null +++ b/Mac/IDE scripts/Widget demos/WidgetTest.py @@ -0,0 +1,85 @@ +import W + +# define some callbacks +def callback(): + window.close() + +def checkcallback(value): + print "hit the checkbox", value + +def radiocallback(value): + print "hit radiobutton #3", value + +def scrollcallback(value): + widget = window.hbar + if value == "+": + widget.set(widget.get() - 1) + elif value == "-": + widget.set(widget.get() + 1) + elif value == "++": + widget.set(widget.get() - 10) + elif value == "--": + widget.set(widget.get() + 10) + else: # in thumb + widget.set(value) + print "scroll...", widget.get() + +def textcallback(): + window.et3.set(window.et1.get()) + +def cancel(): + import EasyDialogs + EasyDialogs.Message("Cancel!") + +# make a non-sizable window +#window = W.Window((200, 300), "Fixed Size") + +# make a sizable window +window = W.Window((200, 300), "Variable Size!", minsize = (200, 300)) + +# make some edit text widgets +window.et1 = W.EditText((10, 10, 110, 110), "Hallo!", textcallback) +window.et2 = W.EditText((130, 40, 60, 30), "one!") +window.et3 = W.EditText((130, 80, -10, 40), "two?") + +# a button +window.button = W.Button((-70, 10, 60, 16), "Close", callback) + +# a checkbox +window.ch = W.CheckBox((10, 130, 160, 16), "Check (command §)", checkcallback) + +# set of radio buttons (should become easier/nicer) +thebuttons = [] +window.r1 = W.RadioButton((10, 150, 180, 16), "Radio 1 (cmd 1)", thebuttons) +window.r2 = W.RadioButton((10, 170, 180, 16), "Radio 2 (cmd 2)", thebuttons) +window.r3 = W.RadioButton((10, 190, 180, 16), "Radio 3 (cmd 3)", thebuttons, radiocallback) +window.r1.set(1) + +# a normal button +window.cancelbutton = W.Button((10, 220, 60, 16), "Cancel", cancel) + +# a scrollbar +window.hbar = W.Scrollbar((-1, -15, -14, 16), scrollcallback, max = 100) + +# some static text +window.static = W.TextBox((10, 260, 110, 16), "Schtatic") + +# bind some keystrokes to functions +window.bind('cmd§', window.ch.push) +window.bind('cmd1', window.r1.push) +window.bind('cmd2', window.r2.push) +window.bind('cmd3', window.r3.push) +window.bind('cmdw', window.button.push) +window.bind('cmd.', window.cancelbutton.push) + +window.setdefaultbutton(window.button) +# open the window +window.open() + +if 0: + import time + for i in range(20): + window.et2.set(`i`) + #window.et2.SetPort() + #window.et2.draw() + time.sleep(0.1) |