blob: 7a435369678b80bacd8ef168164ac335b5b4bcb8 [file] [log] [blame]
Guido van Rossumbabe2bf1992-01-22 22:21:31 +00001# basewin.py
2
3import stdwin
4import mainloop
5from stdwinevents import *
6
7class BaseWindow:
8
Guido van Rossum7bc817d1993-12-17 15:25:27 +00009 def __init__(self, title):
Guido van Rossumbabe2bf1992-01-22 22:21:31 +000010 self.win = stdwin.open(title)
11 self.win.dispatch = self.dispatch
12 mainloop.register(self.win)
Guido van Rossumbabe2bf1992-01-22 22:21:31 +000013
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))