tuikit/core/window.py
changeset 90 781774a8d568
parent 89 94f5baef19ac
child 93 c1e79acb9fcb
--- a/tuikit/core/window.py	Wed Mar 19 00:32:38 2014 +0100
+++ b/tuikit/core/window.py	Wed Mar 19 20:42:52 2014 +0100
@@ -1,8 +1,6 @@
 from tuikit.core.buffer import Buffer
 from tuikit.core.signal import Signal
 from tuikit.core.container import Container
-from tuikit.core.coords import Point
-from tuikit.core.theme import default_theme
 
 
 class Window(Container):
@@ -17,40 +15,22 @@
         """New buffer for the window will be created unless given existing
         `buffer` as parameter."""
         Container.__init__(self)
-        self.pos = Point()
         self._buffer = None
-        self.sig_resized = Signal()
         self.buffer = buffer or Buffer()
 
     @property
-    def x(self):
-        return self.pos.x
-
-    @property
-    def y(self):
-        return self.pos.y
-
-    @property
     def buffer(self):
         return self._buffer
 
     @buffer.setter
     def buffer(self, buffer):
-        # disconnect signals from old buffer
-        if self._buffer:
-            self.sig_resized.disconnect(self._buffer.resize)
         # replace the buffer
         self._buffer = buffer
-        # resize buffer when window gets resized
-        self.sig_resized.connect(buffer.resize)
-
-    @property
-    def size(self):
-        return self.buffer.size.readonly()
+        self.size = buffer.size
 
     def resize(self, w, h):
+        """Resize buffer when window gets resized."""
         self.buffer.resize(w, h)
-        self.sig_resized(w, h)
         self.redraw()
 
     def redraw(self):
@@ -63,29 +43,14 @@
         buffer.draw(self.buffer, x, y)
 
 
-class WindowManager:
-
-    def __init__(self, theme=default_theme):
-        self.windows = []
-        self.theme = theme
+class WindowManager(Container):
 
-    def add(self, window):
-        self.windows.append(window)
-        window.set_theme(self.theme)
-
-    def set_theme(self, theme):
-        self.theme = theme
-        for window in self.windows:
-            window.set_theme(theme)
+    def __init__(self, timer):
+        Container.__init__(self)
+        self.timer = timer
 
     def resize(self, w, h):
-        self.windows[0].resize(w, h)
-
-    def draw(self, buffer, x=0, y=0):
-        for window in self.windows:
-            window.draw(buffer,
-                        x + window.x,
-                        y + window.y)
+        self.children[0].resize(w, h)
 
 #    def keypress(self, keyname, char, mod=0):