tuikit/core/container.py
author Radek Brich <radek.brich@devl.cz>
Wed, 19 Mar 2014 00:32:38 +0100
changeset 89 94f5baef19ac
parent 87 ee5ea9671f28
child 90 781774a8d568
permissions -rw-r--r--
Add Theme, Button.

from tuikit.core.theme import default_theme


class Container:

    """Container for widgets."""

    def __init__(self):
        #: List of child widgets.
        self.children = []
        self.theme = default_theme

    def add(self, widget, **kwargs):
        """Add widget into container."""
        self.children.append(widget)
        widget.parent = self
        widget.window = self.window if hasattr(self, 'window') else self
        widget.set_theme(self.theme)

    def set_theme(self, theme):
        self.theme = theme
        for child in self.children:
            child.set_theme(theme)

    def draw(self, buffer, x=0, y=0):
        """Draw child widgets."""
        for child in self.children:
            child.draw(buffer,
                       x + child.x,
                       y + child.y)