# HG changeset patch # User Jeremy Thurgood # Date 1316252051 -7200 # Node ID 03db0d517ac3611ccacb7e0e3fcfda5fd431abe7 # Parent 12d67f69e6b2f3c98ec2bc62165cc043648f6609 Little bit of refactoring. diff -r 12d67f69e6b2 -r 03db0d517ac3 mamba/habitats/mainmenu.py --- a/mamba/habitats/mainmenu.py Sat Sep 17 11:28:18 2011 +0200 +++ b/mamba/habitats/mainmenu.py Sat Sep 17 11:34:11 2011 +0200 @@ -13,21 +13,11 @@ class MainMenu(Habitat): def __init__(self): super(MainMenu, self).__init__() - start = TextButton((100, 100), "Play game") - start.add_callback('clicked', self.start_event) - self.container.add(start) - edit = TextButton((100, 200), "Edit level") - edit.add_callback('clicked', self.edit_event) - self.container.add(edit) - quit = TextButton((100, 300), "Quit") - quit.add_callback('clicked', self.quit_keydown_event) - self.container.add(quit) - userlevels = TextButton((100, 400), "User Levels") - userlevels.add_callback('clicked', self.userlevels_event) - self.container.add(userlevels) - networklevels = TextButton((100, 500), "Network Levels") - networklevels.add_callback('clicked', self.networklevels_event) - self.container.add(networklevels) + self.add_button((100, 100), "Play game", self.start_event) + self.add_button((100, 200), "Edit level", self.edit_event) + self.add_button((100, 300), "Quit", self.quit_keydown_event) + self.add_button((100, 400), "User Levels", self.userlevels_event) + self.add_button((100, 500), "Network Levels", self.networklevels_event) self.container.add_callback(KEYDOWN, self.keydown_event) # Just for debugging cascading containers... @@ -38,6 +28,13 @@ c.add(TextButton((400, 200), "4")) self.container.add(c) + def add_button(self, pos, text, clicked): + button = TextButton(pos, text) + if clicked is not None: + button.add_callback('clicked', clicked) + self.container.add(button) + return button + def start_event(self, ev, widget): from mamba.habitats.levelmenu import LevelMenu NewHabitatEvent.post(LevelMenu())