blob: f896fe2a059ee434416ad24bfaa14bacfe3d4cbd [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
9 def init(self, title):
10 self.win = stdwin.open(title)
11 self.win.dispatch = self.dispatch
12 mainloop.register(self.win)
13 return self
14
15# def reopen(self):
16# title = self.win.gettitle()
17# winpos = self.win.getwinpos()
18# winsize = self.win.getwinsize()
19# origin = self.win.getorigin()
20# docsize = self.win.getdocsize()
21# mainloop.unregister(self.win)
22# del self.win.dispatch
23# self.win.close()
24# stdwin.setdefwinpos(winpos)
25# stdwin.setdefwinsize(winsize)
26# self.win = stdwin.open(title)
27# stdwin.setdefwinpos(0, 0)
28# stdwin.setdefwinsize(0, 0)
29# self.win.setdocsize(docsize)
30# self.win.setorigin(origin)
31# self.win.dispatch = self.dispatch
32# mainloop.register(self.win)
33
34 def popup(self):
35 if self.win is not stdwin.getactive():
36 self.win.setactive()
37
38 def close(self):
39 mainloop.unregister(self.win)
40 del self.win.dispatch
41 self.win.close()
42
43 def dispatch(self, event):
44 type, win, detail = event
45 if type == WE_CHAR:
46 self.char(detail)
47 elif type == WE_COMMAND:
48 self.command(detail)
49 elif type == WE_MOUSE_DOWN:
50 self.mouse_down(detail)
51 elif type == WE_MOUSE_MOVE:
52 self.mouse_move(detail)
53 elif type == WE_MOUSE_UP:
54 self.mouse_up(detail)
55 elif type == WE_DRAW:
56 self.draw(detail)
57 elif type == WE_CLOSE:
58 self.close()
59
60 def no_op(self, detail):
61 pass
62 char = command = mouse_down = mouse_move = mouse_up = draw = no_op
63
64 def refreshall(self):
65 self.win.change((-10, 0), (10000, 30000))