| author | Radek Brich <radek.brich@devl.cz> | 
| Sun, 15 Feb 2015 12:52:46 +0100 | |
| changeset 115 | b4ff7392003a | 
| parent 106 | abcadb7e2ef1 | 
| child 117 | 8680c2333546 | 
| permissions | -rwxr-xr-x | 
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 1 | #!/usr/bin/env python3 | 
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 2 | |
| 96 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 3 | import demobase | 
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 4 | |
| 96 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 5 | from tuikit.core.application import Application | 
| 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 6 | #from tuikit.scrollview import ScrollView | 
| 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 7 | from tuikit.widgets.textbox import TextBox | 
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 8 | |
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 9 | |
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 10 | class MyApplication(Application): | 
| 106 
abcadb7e2ef1
Use Point for mouse events, add them to Container and Widget.
 Radek Brich <radek.brich@devl.cz> parents: 
96diff
changeset | 11 | |
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 12 | def __init__(self): | 
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 13 | Application.__init__(self) | 
| 115 
b4ff7392003a
GridLayout: basic implementation.
 Radek Brich <radek.brich@devl.cz> parents: 
106diff
changeset | 14 | self.window_manager.sig_keypress.connect(self.on_wm_keypress) | 
| 96 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 15 |         #self.top.add_handler('keypress', self.on_top_keypress)
 | 
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 16 | |
| 96 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 17 |         t = open('../tuikit/core/widget.py').read()
 | 
| 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 18 | editbox = TextBox(t) | 
| 76 
fa5301e58eca
Update demo_input, demo_editor. Update ScrollView: show/hide scrollbars as needed on child size requests.
 Radek Brich <radek.brich@devl.cz> parents: 
62diff
changeset | 19 | |
| 96 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 20 | #scroll = ScrollView() | 
| 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 21 | #scroll.add(editbox) | 
| 76 
fa5301e58eca
Update demo_input, demo_editor. Update ScrollView: show/hide scrollbars as needed on child size requests.
 Radek Brich <radek.brich@devl.cz> parents: 
62diff
changeset | 22 | |
| 96 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 23 | self.root_window.add(editbox) | 
| 
68c562e0eb1f
Add TextBox, text editor demo. Update demobase.
 Radek Brich <radek.brich@devl.cz> parents: 
76diff
changeset | 24 | #self.root_window.add(scroll, halign='fill', valign='fill') | 
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 25 | |
| 115 
b4ff7392003a
GridLayout: basic implementation.
 Radek Brich <radek.brich@devl.cz> parents: 
106diff
changeset | 26 | def on_wm_keypress(self, ev): | 
| 41 
37b7dfc3eae6
Update Emitter: All event handlers now have exactly one argument: object inherited from Event class, which carries any data.
 Radek Brich <radek.brich@devl.cz> parents: 
34diff
changeset | 27 | if ev.keyname == 'escape': | 
| 115 
b4ff7392003a
GridLayout: basic implementation.
 Radek Brich <radek.brich@devl.cz> parents: 
106diff
changeset | 28 | self.stop() | 
| 45 
43b2279b06e1
Clean up Emitter class, simplify event handling. Fix Container.focusnext() method. Add events test (handler auto-registration, order).
 Radek Brich <radek.brich@devl.cz> parents: 
41diff
changeset | 29 | return True | 
| 2 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 30 | |
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 31 | |
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 32 | if __name__ == '__main__': | 
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 33 | app = MyApplication() | 
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 34 | app.start() | 
| 
684cdc352562
Menu, Window and other improvements.
 Radek Brich <radek.brich@devl.cz> parents: diff
changeset | 35 |