annotate Lib/stdwin/WindowParent.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 f9bbb01388d5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 # A 'WindowParent' is the only module that uses real stdwin functionality.
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 # It is the root of the tree.
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 # It should have exactly one child when realized.
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
4 #
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
5 # There is also an alternative interface to "mainloop" here.
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 import stdwin
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 from stdwinevents import *
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
9 import mainloop
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 from TransParent import ManageOneChild
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
12
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 Error = 'WindowParent.Error' # Exception
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
531
8331076cfe15 New class syntax.
Guido van Rossum <guido@python.org>
parents: 354
diff changeset
15 class WindowParent(ManageOneChild):
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 #
1110
1d06b1499eb9 * Got entirely rid of path.py.
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
17 def create(self, title, size):
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 self.title = title
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 self.size = size # (width, height)
126
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
20 self._reset()
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
21 self.close_hook = WindowParent.delayed_destroy
126
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
22 return self
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
23 #
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
24 def _reset(self):
246
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
25 self.child = None
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
26 self.win = None
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 self.itimer = 0
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 self.do_mouse = 0
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
29 self.do_keybd = 0
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 self.do_timer = 0
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
31 self.do_altdraw = 0
213
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
32 self.pending_destroy = 0
246
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
33 self.close_hook = None
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
34 self.menu_hook = None
126
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
35 #
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
36 def destroy(self):
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
37 mainloop.unregister(self.win)
126
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
38 if self.child: self.child.destroy()
27cc0d823766 Added _reset and destroy methods.
Guido van Rossum <guido@python.org>
parents: 100
diff changeset
39 self._reset()
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 #
213
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
41 def delayed_destroy(self):
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
42 # This interface to be used by 'Close' buttons etc.;
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
43 # destroying a window from within a button hook
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
44 # is not a good idea...
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
45 self.pending_destroy = 1
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
46 #
246
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
47 def close_trigger(self):
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
48 if self.close_hook: self.close_hook(self)
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
49 #
1110
1d06b1499eb9 * Got entirely rid of path.py.
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
50 def menu_trigger(self, menu, item):
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
51 if self.menu_hook:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
52 self.menu_hook(self, menu, item)
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
53 #
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 def need_mouse(self, child): self.do_mouse = 1
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 def no_mouse(self, child): self.do_mouse = 0
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 #
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
57 def need_keybd(self, child):
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
58 self.do_keybd = 1
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
59 self.child.activate()
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
60 def no_keybd(self, child):
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
61 self.do_keybd = 0
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
62 self.child.deactivate()
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
63 #
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 def need_timer(self, child): self.do_timer = 1
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
65 def no_timer(self, child): self.do_timer = 0
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 #
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
67 def need_altdraw(self, child): self.do_altdraw = 1
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
68 def no_altdraw(self, child): self.do_altdraw = 0
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
69 #
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 def realize(self):
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 if self.win:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 raise Error, 'realize(): called twice'
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 if not self.child:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 raise Error, 'realize(): no child'
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
75 # Compute suggested size
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
76 self.size = self.child.getminsize(self.beginmeasuring(), \
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
77 self.size)
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
78 save_defsize = stdwin.getdefwinsize()
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
79 scrwidth, scrheight = stdwin.getscrsize()
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
80 width, height = self.size
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
81 if width > scrwidth:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
82 width = scrwidth * 2/3
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
83 if height > scrheight:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
84 height = scrheight * 2/3
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
85 stdwin.setdefwinsize(width, height)
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
86 self.hbar, self.vbar = stdwin.getdefscrollbars()
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
87 self.win = stdwin.open(self.title)
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
88 stdwin.setdefwinsize(save_defsize)
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
89 self.win.setdocsize(self.size)
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 if self.itimer:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
91 self.win.settimer(self.itimer)
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
92 width, height = self.win.getwinsize()
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
93 if self.hbar:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
94 width = self.size[0]
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
95 if self.vbar:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
96 height = self.size[1]
1110
1d06b1499eb9 * Got entirely rid of path.py.
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
97 self.child.setbounds(((0, 0), (width, height)))
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
98 self.child.realize()
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
99 self.win.dispatch = self.dispatch
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
100 mainloop.register(self.win)
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
101 #
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
102 def fixup(self):
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
103 # XXX This could share code with realize() above
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
104 self.size = self.child.getminsize(self.beginmeasuring(), \
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
105 self.win.getwinsize())
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
106 self.win.setdocsize(self.size)
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
107 width, height = self.win.getwinsize()
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
108 if self.hbar:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
109 width = self.size[0]
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
110 if self.vbar:
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
111 height = self.size[1]
1110
1d06b1499eb9 * Got entirely rid of path.py.
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
112 self.child.setbounds(((0, 0), (width, height)))
246
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
113 # Force a redraw of the entire window:
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
114 self.win.change((0, 0), self.size)
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
115 #
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
116 def beginmeasuring(self):
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
117 # Return something with which a child can measure text
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
118 if self.win:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
119 return self.win.begindrawing()
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
120 else:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 return stdwin
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
122 #
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
123 def begindrawing(self):
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
124 if self.win:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
125 return self.win.begindrawing()
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
126 else:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
127 raise Error, 'begindrawing(): not realized yet'
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
128 #
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
129 def getwindow(self):
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
130 if self.win:
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
131 return self.win
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
132 else:
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
133 raise Error, 'getwindow(): not realized yet'
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
134 #
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
135 def change(self, area):
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
136 if self.win:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
137 self.win.change(area)
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
138 #
1178
f9bbb01388d5 * More changes due to stricter argument passing rules
Guido van Rossum <guido@python.org>
parents: 1110
diff changeset
139 def scroll(self, area, vector):
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
140 if self.win:
1178
f9bbb01388d5 * More changes due to stricter argument passing rules
Guido van Rossum <guido@python.org>
parents: 1110
diff changeset
141 self.win.scroll(area, vector)
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
142 #
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
143 def settimer(self, itimer):
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
144 if self.win:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
145 self.win.settimer(itimer)
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
146 else:
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
147 self.itimer = itimer
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
148 #
213
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
149 # Only call dispatch once we are realized
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
150 #
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
151 def dispatch(self, (type, win, detail)):
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
152 if type == WE_DRAW:
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
153 d = self.win.begindrawing()
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
154 self.child.draw(d, detail)
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
155 del d
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
156 if self.do_altdraw: self.child.altdraw(detail)
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
157 elif type == WE_MOUSE_DOWN:
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
158 if self.do_mouse: self.child.mouse_down(detail)
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
159 elif type == WE_MOUSE_MOVE:
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
160 if self.do_mouse: self.child.mouse_move(detail)
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
161 elif type == WE_MOUSE_UP:
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
162 if self.do_mouse: self.child.mouse_up(detail)
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
163 elif type in (WE_CHAR, WE_COMMAND):
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
164 if self.do_keybd: self.child.keybd(type, detail)
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
165 elif type == WE_TIMER:
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
166 if self.do_timer: self.child.timer()
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
167 elif type == WE_SIZE:
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
168 self.fixup()
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
169 elif type == WE_CLOSE:
246
956fd5c3f040 *** empty log message ***
Guido van Rossum <guido@python.org>
parents: 213
diff changeset
170 self.close_trigger()
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 531
diff changeset
171 elif type == WE_MENU:
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
172 self.menu_trigger(detail)
213
66b55766ba65 Support delayed destroy. Use built-in remove.
Guido van Rossum <guido@python.org>
parents: 192
diff changeset
173 if self.pending_destroy:
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
174 self.destroy()
64
a22df52d7749 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
175 #
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
176
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
177 def MainLoop():
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
178 mainloop.mainloop()
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
179
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
180 def Dispatch(event):
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
181 mainloop.dispatch(event)
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
182
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
183 # Interface used by WindowSched:
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
184
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
185 def CountWindows():
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
186 return mainloop.countwindows()
192
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
187
32ae4a1aab68 Added window list management functionality.
Guido van Rossum <guido@python.org>
parents: 126
diff changeset
188 def AnyWindow():
354
60da7ee9100e minsize->getminsize
Guido van Rossum <guido@python.org>
parents: 246
diff changeset
189 return mainloop.anywindow()