summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>1995-08-17 14:26:23 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>1995-08-17 14:26:23 (GMT)
commitb4e47839eba9787674d0fa2e32d2f3f0fbf0b106 (patch)
tree8823f8639c1ce5effd3bf88c566d358b8377095f
parent8ce4d51068a1bcbdc952559b79819cb132b94cb4 (diff)
downloadcpython-b4e47839eba9787674d0fa2e32d2f3f0fbf0b106.zip
cpython-b4e47839eba9787674d0fa2e32d2f3f0fbf0b106.tar.gz
cpython-b4e47839eba9787674d0fa2e32d2f3f0fbf0b106.tar.bz2
Uses new FrameWork, has multiple windows
-rw-r--r--Mac/Lib/test/tlist.py77
1 files changed, 46 insertions, 31 deletions
diff --git a/Mac/Lib/test/tlist.py b/Mac/Lib/test/tlist.py
index bf483e1..48c8c22 100644
--- a/Mac/Lib/test/tlist.py
+++ b/Mac/Lib/test/tlist.py
@@ -4,6 +4,8 @@
#
# 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
@@ -11,49 +13,35 @@ import Qd
import List
import os
-class TestList(Application):
- def __init__(self):
- os.chdir('Moes:')
- self.makemenubar()
- self.makewindow()
-
- def makewindow(self):
+class ListWindow(Window):
+ def open(self, name, where):
+ self.where = where
r = (40, 40, 400, 300)
- w = Win.NewWindow(r, "List test", 1, 0, -1, 1, 0x55555555)
+ w = Win.NewWindow(r, name, 1, 0, -1, 1, 0x55555555)
r2 = (0, 0, 345, 245)
self.list = List.LNew(r2, (0, 0, 1, 1), (0,0), 0, w, 0, 1, 1, 1)
self.filllist()
w.DrawGrowIcon()
- self.win = w
+ self.wid = w
+ self.do_postopen()
- def makeusermenus(self):
- self.filemenu = m = Menu(self.menubar, "File")
- self.quititem = MenuItem(m, "Quit", "Q", self.quit)
-
- def quit(self, *args):
- raise self
+ def do_activate(self, onoff, evt):
+ self.list.LActivate(onoff)
- def do_about(self, id, item, window, event):
- EasyDialogs.Message("""Test the List Manager interface.
- Double-click on a folder to change directory""")
-
- def do_activateEvt(self, *args):
- self.list.LActivate(1) # XXXX Wrong...
+ def do_rawupdate(self, window, event):
+ window.BeginUpdate()
+ self.do_update(window, event)
+ window.EndUpdate()
def do_update(self, *args):
- print 'LUPDATE'
self.list.LUpdate()
-
- def do_inContent(self, partcode, window, event):
- (what, message, when, where, modifiers) = event
- Qd.SetPort(window)
- local = Qd.GlobalToLocal(where)
- print 'CLICK', where, '->', local
+
+ def do_contentclick(self, local, modifiers, evt):
dclick = self.list.LClick(local, modifiers)
if dclick:
h, v = self.list.LLastClick()
file = self.list.LGetCell(1000, (h, v))
- os.chdir(file)
+ self.where = os.path.join(self.where, file)
self.filllist()
def filllist(self):
@@ -61,8 +49,7 @@ class TestList(Application):
l = self.list
l.LSetDrawingMode(0)
l.LDelRow(0, 0)
- contents = os.listdir(':')
- print contents
+ contents = os.listdir(self.where)
l.LAddRow(len(contents), 0)
for i in range(len(contents)):
l.LSetCell(contents[i], (0, i))
@@ -70,6 +57,34 @@ class TestList(Application):
l.LUpdate()
+class TestList(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):
+ import macfs
+ fss, ok = macfs.GetDirectory()
+ if not ok:
+ return
+ w = ListWindow(self)
+ w.open('Window %d'%self.num, fss.as_pathname())
+ 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 the List Manager interface.
+ Simple inward-only folder browser""")
+
def main():
App = TestList()
App.mainloop()