| # Test TE module. |
| # Draw a window in which the user can type. |
| # |
| # This test expects Win, Evt and FrameWork (and anything used by those) |
| # to work. |
| # |
| # Actually, it is more a test of FrameWork by now.... |
| |
| from FrameWork import * |
| import Win |
| import Qd |
| import TE |
| import os |
| |
| class TEWindow(Window): |
| def open(self, name): |
| r = (40, 40, 400, 300) |
| w = Win.NewWindow(r, name, 1, 0, -1, 1, 0x55555555) |
| r2 = (0, 0, 345, 245) |
| Qd.SetPort(w) |
| self.ted = TE.TENew(r2, r2) |
| self.ted.TEAutoView(1) |
| w.DrawGrowIcon() |
| self.wid = w |
| self.do_postopen() |
| |
| def do_idle(self): |
| self.ted.TEIdle() |
| |
| def do_activate(self, onoff, evt): |
| if onoff: |
| self.ted.TEActivate() |
| else: |
| self.ted.TEDeactivate() |
| |
| def do_update(self, wid, event): |
| Qd.EraseRect(wid.GetWindowPort().portRect) |
| self.ted.TEUpdate(wid.GetWindowPort().portRect) |
| |
| def do_contentclick(self, local, modifiers, evt): |
| shifted = (modifiers & 0x200) |
| self.ted.TEClick(local, shifted) |
| |
| def do_char(self, ch, event): |
| self.ted.TEKey(ord(ch)) |
| |
| class TestList(Application): |
| def __init__(self): |
| Application.__init__(self) |
| self.num = 0 |
| self.listoflists = [] |
| |
| def makeusermenus(self): |
| self.filemenu = m = Menu(self.menubar, "File") |
| self.newitem = MenuItem(m, "New window...", "O", self.open) |
| self.quititem = MenuItem(m, "Quit", "Q", self.quit) |
| |
| def open(self, *args): |
| w = TEWindow(self) |
| w.open('Window %d'%self.num) |
| self.num = self.num + 1 |
| self.listoflists.append(w) |
| |
| def quit(self, *args): |
| raise self |
| |
| def do_about(self, id, item, window, event): |
| EasyDialogs.Message("""Test the TextEdit interface. |
| Simple window in which you can type""") |
| |
| def do_idle(self, *args): |
| for l in self.listoflists: |
| l.do_idle() |
| |
| def main(): |
| App = TestList() |
| App.mainloop() |
| |
| if __name__ == '__main__': |
| main() |
| |