view mamba/habitats/mainmenu.py @ 91:ebd8f46cc553

Text Button
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 11 Sep 2011 19:05:20 +0200
parents fc4b7db1d832
children a4eb3f7c0233
line wrap: on
line source

"""Main menu."""

from pygame.constants import K_RETURN
from pygame.locals import MOUSEMOTION, KEYDOWN, QUIT
import pygame.event

from mamba.constants import ESCAPE_KEYS
from mamba.engine import Habitat
from mamba.widgets.text import TextButton


class MainMenu(Habitat):
    def __init__(self):
        super(MainMenu, self).__init__()
        hello = TextButton((100, 100), "Hello", color='white')
        self.container.add(hello)
        quit = TextButton((100, 200), "Quit", color='white')
        quit.add_callback(KEYDOWN, self.quit_keydown_event)
        self.container.add(quit)
        self.container.add_callback(KEYDOWN, self.keydown_event)

    def keydown_event(self, ev, widget):
        if ev.key in ESCAPE_KEYS:
            pygame.event.post(pygame.event.Event(QUIT))
            return True

    def quit_keydown_event(self, ev, widget):
        if ev.key == K_RETURN:
            pygame.event.post(pygame.event.Event(QUIT))
            return True