Mercurial > cpython-lru_cache-weakref
annotate Mac/Lib/test/ttedit.py @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | c5d30a5643be |
| children |
| rev | line source |
|---|---|
|
3498
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 # Test TE module. |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 # Draw a window in which the user can type. |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 # |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 # This test expects Win, Evt and FrameWork (and anything used by those) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 # to work. |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 # |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 # Actually, it is more a test of FrameWork by now.... |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
8 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
9 from FrameWork import * |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
10 import Win |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
11 import Qd |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
12 import TE |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
13 import os |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
14 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
15 class TEWindow(Window): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
16 def open(self, name): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
17 r = (40, 40, 400, 300) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
18 w = Win.NewWindow(r, name, 1, 0, -1, 1, 0x55555555) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
19 r2 = (0, 0, 345, 245) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
20 Qd.SetPort(w) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
21 self.ted = TE.TENew(r2, r2) |
|
3511
c5d30a5643be
Fixed ttedit to actually work
Jack Jansen <jack.jansen@cwi.nl>
parents:
3498
diff
changeset
|
22 self.ted.TEAutoView(1) |
|
3498
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
23 w.DrawGrowIcon() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
24 self.wid = w |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
25 self.do_postopen() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
26 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
27 def do_idle(self): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
28 self.ted.TEIdle() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
29 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
30 def do_activate(self, onoff, evt): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
31 if onoff: |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
32 self.ted.TEActivate() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
33 else: |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
34 self.ted.TEDeactivate() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
35 |
|
3511
c5d30a5643be
Fixed ttedit to actually work
Jack Jansen <jack.jansen@cwi.nl>
parents:
3498
diff
changeset
|
36 def do_update(self, wid, event): |
|
c5d30a5643be
Fixed ttedit to actually work
Jack Jansen <jack.jansen@cwi.nl>
parents:
3498
diff
changeset
|
37 Qd.EraseRect(wid.GetWindowPort().portRect) |
|
c5d30a5643be
Fixed ttedit to actually work
Jack Jansen <jack.jansen@cwi.nl>
parents:
3498
diff
changeset
|
38 self.ted.TEUpdate(wid.GetWindowPort().portRect) |
|
3498
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
39 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
40 def do_contentclick(self, local, modifiers, evt): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
41 shifted = (modifiers & 0x200) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
42 self.ted.TEClick(local, shifted) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
43 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
44 def do_char(self, ch, event): |
|
3511
c5d30a5643be
Fixed ttedit to actually work
Jack Jansen <jack.jansen@cwi.nl>
parents:
3498
diff
changeset
|
45 self.ted.TEKey(ord(ch)) |
|
3498
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
46 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
47 class TestList(Application): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
48 def __init__(self): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
49 Application.__init__(self) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
50 self.num = 0 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
51 self.listoflists = [] |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
52 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
53 def makeusermenus(self): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
54 self.filemenu = m = Menu(self.menubar, "File") |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
55 self.newitem = MenuItem(m, "New window...", "O", self.open) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
56 self.quititem = MenuItem(m, "Quit", "Q", self.quit) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
57 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
58 def open(self, *args): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
59 w = TEWindow(self) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
60 w.open('Window %d'%self.num) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
61 self.num = self.num + 1 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
62 self.listoflists.append(w) |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
63 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
64 def quit(self, *args): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
65 raise self |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
66 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
67 def do_about(self, id, item, window, event): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
68 EasyDialogs.Message("""Test the TextEdit interface. |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
69 Simple window in which you can type""") |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
70 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
71 def do_idle(self, *args): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
72 for l in self.listoflists: |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
73 l.do_idle() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
74 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
75 def main(): |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
76 App = TestList() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
77 App.mainloop() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
78 |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
79 if __name__ == '__main__': |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
80 main() |
|
cdea3f27cf7c
TextEdit sample code (not yet complete)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
81 |
