diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 1995-08-17 14:27:08 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 1995-08-17 14:27:08 (GMT) |
commit | 2f21246c9643e820a3a9a161d6913771370334fa (patch) | |
tree | 696f32cb1a4d0562704fbac3e95d7e80fc5fcb0b /Mac/Lib/test/tlist_dialog.py | |
parent | b4e47839eba9787674d0fa2e32d2f3f0fbf0b106 (diff) | |
download | cpython-2f21246c9643e820a3a9a161d6913771370334fa.zip cpython-2f21246c9643e820a3a9a161d6913771370334fa.tar.gz cpython-2f21246c9643e820a3a9a161d6913771370334fa.tar.bz2 |
Test of list in dialog
Diffstat (limited to 'Mac/Lib/test/tlist_dialog.py')
-rw-r--r-- | Mac/Lib/test/tlist_dialog.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/Mac/Lib/test/tlist_dialog.py b/Mac/Lib/test/tlist_dialog.py new file mode 100644 index 0000000..1d34ed3 --- /dev/null +++ b/Mac/Lib/test/tlist_dialog.py @@ -0,0 +1,82 @@ +import addpack +addpack.addpack(':Tools:bgen:evt') + +from Dlg import * +from Events import * +from Evt import * +from List import * +from Qd import * +import Res +import string +import MacOS + +ID = 513 + +def dodialog(items): + print 'This is to create a window' + # + # Create the dialog + # + d = GetNewDialog(ID, -1) + # + # Create the list and fill it + # + tp, h, rect = d.GetDialogItem(2) + rect = rect[0], rect[1], rect[2]-15, rect[3]-15 # Space for scrollbars + length = (len(items)+1) / 2 + list = LNew(rect, (0, 0, 2, length), (0, 0), 0, d, 0, 1, 1, 1) + for i in range(len(items)): + list.LSetCell(items[i], (i%2, i/2)) + # + # Draw it. + # + list.LSetDrawingMode(1) + list.LUpdate() + # + # Do the (modeless) dialog + # + while 1: + ok, ev = WaitNextEvent(0xffff, 10) + if not ok: + # No event. + continue + (what, message, when, where, modifiers) = ev + if what == updateEvt: + # XXXX We just always update our list (sigh...) + SetPort(window) + list.LUpdate() + if IsDialogEvent(ev): + # It is a dialog event. See if it's ours. + ok, window, item = DialogSelect(ev) + if ok: + if window == d: + # Yes, it is ours. + if item == 1: # OK button + break + elif item == 2: # List + (what, message, when, where, modifiers) = ev + SetPort(window) + if what == mouseDown: + local = GlobalToLocal(where) + list.LClick(local, modifiers) + else: + print 'Unexpected item hit' + else: + print 'Unexpected dialog hit' + else: + MacOS.HandleEvent(ev) + sel = [] + for i in range(len(items)): + ok, dummycell = list.LGetSelect(0, (i%2, i/2)) + if ok: + sel.append(list.LGetCell(256, (i%2, i/2))) + print 'Your selection:', sel + +def test(): + import os, sys + Res.OpenResFile('tlist_dialog.rsrc') + dodialog(os.listdir(':')) + sys.exit(1) + +if __name__ == '__main__': + test() |