tuikit/core/application.py
changeset 88 90d00354dc70
parent 86 0978fb755d31
child 89 94f5baef19ac
--- 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 ===')