summaryrefslogtreecommitdiffstats
path: root/Mac/Lib/test/tscrollwin.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Lib/test/tscrollwin.py')
-rw-r--r--Mac/Lib/test/tscrollwin.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/Mac/Lib/test/tscrollwin.py b/Mac/Lib/test/tscrollwin.py
new file mode 100644
index 0000000..40e9d67
--- /dev/null
+++ b/Mac/Lib/test/tscrollwin.py
@@ -0,0 +1,86 @@
+# Test FrameWork scrollbars
+# Draw a window in which the user can type.
+#
+# This test expects Win, Evt and FrameWork (and anything used by those)
+# to work.
+#
+# Actually, it is more a test of FrameWork by now....
+
+from FrameWork import *
+import Win
+import Qd
+import TE
+import os
+
+class MyWindow(ScrolledWindow):
+ def open(self, name):
+ r = (40, 40, 400, 300)
+ w = Win.NewWindow(r, name, 1, 0, -1, 1, 0x55555555)
+ self.ourrect = 0, 0, 360-SCROLLBARWIDTH-1, 260-SCROLLBARWIDTH-1
+ Qd.SetPort(w)
+ w.DrawGrowIcon()
+ self.wid = w
+ self.do_postopen()
+ self.vx = self.vy = 0
+ self.scrollbars()
+
+ def getscrollbarvalues(self):
+ return self.vx, self.vy
+
+ def scrollbar_callback(self, which, what, value):
+ if what == '-':
+ delta = -1
+ elif what == '--':
+ delta = -100
+ elif what == '+':
+ delta = 1
+ elif what == '++':
+ delta = 100
+
+ if which == 'x':
+ if value:
+ self.vx = value
+ else:
+ self.vx = self.vx + delta
+ else:
+ if value:
+ self.vy = value
+ else:
+ self.vy = self.vy + delta
+ Win.InvalRect(self.ourrect)
+
+ def do_update(self, wid, event):
+ Qd.EraseRect(self.ourrect)
+ Qd.MoveTo(40, 40)
+ Qd.DrawString("x=%d, y=%d"%(self.vx, self.vy))
+
+class TestSW(Application):
+ def __init__(self):
+ Application.__init__(self)
+ self.num = 0
+ self.listoflists = []
+
+ def makeusermenus(self):
+ self.filemenu = m = Menu(self.menubar, "File")
+ self.newitem = MenuItem(m, "New window...", "O", self.open)
+ self.quititem = MenuItem(m, "Quit", "Q", self.quit)
+
+ def open(self, *args):
+ w = MyWindow(self)
+ w.open('Window %d'%self.num)
+ self.num = self.num + 1
+ self.listoflists.append(w)
+
+ def quit(self, *args):
+ raise self
+
+ def do_about(self, id, item, window, event):
+ EasyDialogs.Message("""Test scrolling FrameWork windows""")
+
+def main():
+ App = TestSW()
+ App.mainloop()
+
+if __name__ == '__main__':
+ main()
+