annotate gamelib/popupmenu.py @ 69:d4bbb26099cc

Some debug object cleanup.
author Jeremy Thurgood <firxen@gmail.com>
date Mon, 23 Aug 2010 20:50:36 +0200
parents 9048cf43f613
children 213e47dea4d0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
58
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
1 # popmenu.py
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
2 # Copyright Boomslang team (see COPYING file)
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
3 # Popup menu for the game screen
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
4
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
5 from constants import BUTTON_SIZE
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
6
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
7 from albow.menu import Menu
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
8 from albow.resource import get_font
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
9
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
10 class PopupMenu(Menu):
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
11
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
12 def __init__(self, shell):
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
13 self.shell = shell
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
14 items = [
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
15 ('Resume Game', 'hide'),
69
d4bbb26099cc Some debug object cleanup.
Jeremy Thurgood <firxen@gmail.com>
parents: 58
diff changeset
16 ('Quit Game', 'quit'),
58
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
17 ('Exit to Main Menu', 'main_menu'),
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
18 ]
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
19 # albow.menu.Menu ignores title string
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
20 Menu.__init__(self, None, items)
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
21 self.font = get_font(16, 'Vera.ttf')
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
22
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
23 def show_menu(self):
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
24 """Call present, with the correct position"""
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
25 item_height = self.font.get_linesize()
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
26 menu_top = 600 - (len(self.items) * item_height + BUTTON_SIZE)
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
27 item = self.present(self.shell, (0, menu_top))
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
28 if item > -1:
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
29 # A menu item needs to be invoked
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
30 self.invoke_item(item)
9048cf43f613 Popup menu
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
31