def __init__(self, game, settings, map_settings): super(ViewWidget, self).__init__() self.game = game #self.map_widget = GameWidget(game, map_settings) #self.map_widget.setParentItem(self) #self.map_widget.hide() self.game_widget = GameWidget(game, settings) self.game_widget.setParentItem(self) self.active = self.game_widget self.levels = [self.game_widget.level]#, self.map_widget.level] self._info = InfoWidget() self.setWidget('top_right', self._info) self._info.resize_event.connect(self._onInfoResizeEvent) self._info.gained_focus.connect(self._onWidgetGainedFocus) self._info.lost_focus.connect(self._onWidgetLostFocus) self._question = InputWidget(self) self.setWidget('middle_left', self._question) self._question.finished.connect(self._onAnswerRecieved) self._question.canceled.connect(self._onAnswerRecieved) self._stats = StatsWidget() self.setWidget('bottom_left', self._stats) self._log = LogWidget() self.setWidget('top_left', self._log) game.events['action_happened_in_game'].connect(self._log.appendDungeonMessage) game.events['game_started'].connect(self._onGameStarted) game.events['turn_finished'].connect(self._onTurnFinished) for group, commands in game.commands.items(): for command in commands.values(): parent = self if group in self.game_widget.menu_names else self.game_widget.level action = Action( parent, command.desc, [command.key], self.game_widget._onAction, args=(group, command.name) ) parent.addAction(action) for name in self.game_widget.settings.keys(self._settings_group): action = Action(self, name, ['Ctrl+' + name[0]], self._onSettingsChanged, args=('settings', name)) action.setCheckable(True) action.setChecked(settings[self._settings_group, name]) self.addAction(action) self._onSettingsChanged('settings', name)