home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pytho152.zip / emx / lib / python1.5 / lib-stdwin / basewin.py < prev    next >
Text File  |  2000-08-10  |  2KB  |  65 lines

  1. # basewin.py
  2.  
  3. import stdwin
  4. import mainloop
  5. from stdwinevents import *
  6.  
  7. class 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.     
  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))
  65.