--- 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):