Rework layouts: Layout is now normal Container which places its children upon resize event.
Drop TopWindow, top is now any subclass of Container.
Add floater concept: floaters are widgets drawn over normal widgets, not clipped by parent.
Add HScrollbar and Scrollbar abstract base class.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import locale
locale.setlocale(locale.LC_ALL, '')
from tuikit import Application, TextEdit
class MyApplication(Application):
def __init__(self):
Application.__init__(self)
self.text = ''
self.textedit = TextEdit(self.text)
self.top.add(self.textedit, halign='fill', valign='fill')
editbox = self.textedit.editbox
editbox.add_handler('keypress', self.on_any_input)
editbox.add_handler('mousedown', self.on_any_input)
editbox.add_handler('mouseup', self.on_any_input)
editbox.add_handler('mousewheel', self.on_any_input)
editbox.add_handler('mousemove', self.on_any_input)
def on_any_input(self, ev):
if ev.event_name == 'keypress' and ev.char == 'q':
self.terminate()
self.text += ''.join((ev.event_name.ljust(10), ' : ', repr(ev), '\n'))
self.textedit.settext(self.text)
self.textedit.scrolltoend()
return True
if __name__ == '__main__':
app = MyApplication()
app.start()