--- a/tuikit/core/application.py Mon Mar 17 23:44:18 2014 +0100
+++ b/tuikit/core/application.py Tue Mar 18 22:39:21 2014 +0100
@@ -1,4 +1,4 @@
-from tuikit.core.window import Window
+from tuikit.core.window import WindowManager, Window
import logging
@@ -17,13 +17,15 @@
self.log = logging.getLogger('tuikit')
# Driver
self.driver = None
- # root Buffer and Window
+ # Window Manager and root Window
+ self.window_manager = WindowManager()
self.root_window = Window()
# flags
self._started = False
self._quit = False
# find and initialize driver
self.use_driver(driver)
+ self.window_manager.add(self.root_window)
def use_driver(self, driver_name):
"""Select driver to be used for rendering and input.
@@ -49,21 +51,19 @@
def main_loop(self):
"""The main loop."""
self._started = True
- self.root_window.resize(*self.driver.size)
+ self.window_manager.handle_event('resize', *self.driver.size)
# timer = self._timer
- self.root_window.buffer.frame()
while not self._quit:
- self.root_window.draw(self.driver)
+ self.window_manager.draw(self.driver)
self.driver.flush()
#timeout = timer.nearest_timeout()
events = self.driver.getevents()#timeout)
- self._quit = True
#timer.process_timeouts()
-# for event in events:
- # self._top.emit(event[0], *event[1:])
+ for event in events:
+ self.window_manager.handle_event(event[0], *event[1:])
self._started = False
self.log.info('=== quit ===')