summaryrefslogtreecommitdiffstats
path: root/Mac/IDE scripts/Widget demos/WidgetTest.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/IDE scripts/Widget demos/WidgetTest.py')
-rw-r--r--Mac/IDE scripts/Widget demos/WidgetTest.py85
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)