view mamba/widgets/base.py @ 23:d0e8940df703

Widgets -> base
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 11 Sep 2011 14:06:58 +0200
parents
children 30d4f3e62bcf
line wrap: on
line source

import pygame


class Widget(object):

    def __init__(self, rect):
        self.rect = pygame.Rect(rect)

    def do_event(self, event):
        "Override me"
        pass

    def do_draw(self, surface):
        "Override me"
        pass


class Container(object):

    def __init__(self):
        self.children = []

    def event(self, event):
        for child in self.children:
            # TODO mouse events
            if issubclass(child, Container):
                child.event(event)
            else:
                child.do_event(event)

    def add(self, widget):
        self.children.append(widget)

    def draw(self, surface):
        self.do_draw(surface)
        for child in self.children:
            if issubclass(child, Container):
                child.draw(surface)
            else:
                child.do_draw(surface)