Mercurial > cpython-lru_cache-weakref
annotate Lib/lib-stdwin/basewin.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 | 560ec7030817 |
| children |
| rev | line source |
|---|---|
| 622 | 1 # basewin.py |
| 2 | |
| 3 import stdwin | |
| 4 import mainloop | |
| 5 from stdwinevents import * | |
| 6 | |
| 7 class BaseWindow: | |
| 8 | |
|
1435
560ec7030817
* Mass change: get rid of all init() methods, in favor of __init__()
Guido van Rossum <guido@python.org>
parents:
622
diff
changeset
|
9 def __init__(self, title): |
| 622 | 10 self.win = stdwin.open(title) |
| 11 self.win.dispatch = self.dispatch | |
| 12 mainloop.register(self.win) | |
| 13 | |
| 14 # def reopen(self): | |
| 15 # title = self.win.gettitle() | |
| 16 # winpos = self.win.getwinpos() | |
| 17 # winsize = self.win.getwinsize() | |
| 18 # origin = self.win.getorigin() | |
| 19 # docsize = self.win.getdocsize() | |
| 20 # mainloop.unregister(self.win) | |
| 21 # del self.win.dispatch | |
| 22 # self.win.close() | |
| 23 # stdwin.setdefwinpos(winpos) | |
| 24 # stdwin.setdefwinsize(winsize) | |
| 25 # self.win = stdwin.open(title) | |
| 26 # stdwin.setdefwinpos(0, 0) | |
| 27 # stdwin.setdefwinsize(0, 0) | |
| 28 # self.win.setdocsize(docsize) | |
| 29 # self.win.setorigin(origin) | |
| 30 # self.win.dispatch = self.dispatch | |
| 31 # mainloop.register(self.win) | |
| 32 | |
| 33 def popup(self): | |
| 34 if self.win is not stdwin.getactive(): | |
| 35 self.win.setactive() | |
| 36 | |
| 37 def close(self): | |
| 38 mainloop.unregister(self.win) | |
| 39 del self.win.dispatch | |
| 40 self.win.close() | |
| 41 | |
| 42 def dispatch(self, event): | |
| 43 type, win, detail = event | |
| 44 if type == WE_CHAR: | |
| 45 self.char(detail) | |
| 46 elif type == WE_COMMAND: | |
| 47 self.command(detail) | |
| 48 elif type == WE_MOUSE_DOWN: | |
| 49 self.mouse_down(detail) | |
| 50 elif type == WE_MOUSE_MOVE: | |
| 51 self.mouse_move(detail) | |
| 52 elif type == WE_MOUSE_UP: | |
| 53 self.mouse_up(detail) | |
| 54 elif type == WE_DRAW: | |
| 55 self.draw(detail) | |
| 56 elif type == WE_CLOSE: | |
| 57 self.close() | |
| 58 | |
| 59 def no_op(self, detail): | |
| 60 pass | |
| 61 char = command = mouse_down = mouse_move = mouse_up = draw = no_op | |
| 62 | |
| 63 def refreshall(self): | |
| 64 self.win.change((-10, 0), (10000, 30000)) |
