(py-outdent-p): new function
[python/dscho.git] / Lib / lib-stdwin / basewin.py
blob7a435369678b80bacd8ef168164ac335b5b4bcb8
1 # basewin.py
3 import stdwin
4 import mainloop
5 from stdwinevents import *
7 class BaseWindow:
9 def __init__(self, title):
10 self.win = stdwin.open(title)
11 self.win.dispatch = self.dispatch
12 mainloop.register(self.win)
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)
33 def popup(self):
34 if self.win is not stdwin.getactive():
35 self.win.setactive()
37 def close(self):
38 mainloop.unregister(self.win)
39 del self.win.dispatch
40 self.win.close()
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()
59 def no_op(self, detail):
60 pass
61 char = command = mouse_down = mouse_move = mouse_up = draw = no_op
63 def refreshall(self):
64 self.win.change((-10, 0), (10000, 30000))