def __init__(self, controller, settings, callbacks): """Initialise the instance. @type controller: Class derived from ControllerBase @param controller: The current controller @type settings: settings.Setting @param settings: The settings @type inv_model: dict @type callbacks: dict @param callbacks: a dict of callbacks saveGame: called when the user clicks on Save loadGame: called when the user clicks on Load quitGame: called when the user clicks on Quit @return: None""" # TODO: perhaps this should not be hard-coded here self.settings = settings pychan.registerWidget(ActionsBox) xml_file = vfs.VFS.open('gui/hud.xml') self.hud = pychan.loadXML(xml_file) self.controller = controller self.engine = controller.engine self.model = controller.model self.inventory = None self.character_screen = None self.save_game_callback = callbacks['saveGame'] self.load_game_callback = callbacks['loadGame'] self.quit_callback = callbacks['quitGame'] self.box_container = None self.examine_box = None self.context_menu = None self.help_dialog = None self.events_to_map = None self.main_menu = None self.menu_events = None self.quit_window = None self.bottom_panel = self.hud.findChild(name="mainHudWindow") self.actions_box = self.hud.findChild(name="actionsBox") self.menu_displayed = False self.inventory_storage = None self.initializeHud() self.initializeMainMenu() self.initializeContextMenu() self.initializeHelpMenu() self.initializeEvents() self.initializeQuitDialog() self.initializeSettingsMenu()
from fife.extensions import pychan from .inventorygui import EquipmentSlot, InventoryGrid from .spinners import Spinner, IntSpinner from .tabwidget import TabWidget pychan.registerWidget(EquipmentSlot) pychan.registerWidget(InventoryGrid) pychan.registerWidget(Spinner) pychan.registerWidget(IntSpinner) pychan.registerWidget(TabWidget)