diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2011-10-10 05:37:48 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2011-10-10 05:37:48 (GMT) |
commit | 632fd55ccb858cd027c57980abb2320aa42b6542 (patch) | |
tree | 261b83c25de214d51ec6212e5365b6b7f543c17a /activity.py | |
parent | ad862f35cf74a23b1e7895c26fdfc541a369c326 (diff) |
Initial resources support
Diffstat (limited to 'activity.py')
-rw-r--r-- | activity.py | 50 |
1 files changed, 40 insertions, 10 deletions
diff --git a/activity.py b/activity.py index 6ce672f..6f1fc87 100644 --- a/activity.py +++ b/activity.py @@ -30,12 +30,13 @@ from sugar.graphics.toggletoolbutton import ToggleToolButton from sugar.graphics.icon import Icon from model import GameModel +from resources import CollectResourcesWin from questions import PrepareQuestionsWin PLAY_MODE = 0 EDIT_MODE = 1 -EDIT_INFORMATION_ACTION = 1 +EDIT_RESOURCES_ACTION = 1 EDIT_QUESTIONS_ACTION = 2 EDIT_MAP_ACTION = 3 EDIT_DESCRIPTIONS_ACTION = 4 @@ -67,9 +68,10 @@ class IngeniumMachinaActivity(activity.Activity): tool_group = None - self._collect_button = self._insert_radio(tool_group, 'action_1', + self._resources_button = self._insert_radio(tool_group, 'action_1', _('Collect information')) - tool_group = self._collect_button + self._resources_button.connect('clicked', self.__resources_button_cb) + tool_group = self._resources_button self._questions_button = self._insert_radio(tool_group, 'action_2', _('Prepare questions')) @@ -77,9 +79,12 @@ class IngeniumMachinaActivity(activity.Activity): self._map_button = self._insert_radio(tool_group, 'action_3', _('Construct map')) + self._map_button.connect('clicked', self.__map_button_cb) self._descriptions_button = self._insert_radio(tool_group, 'action_4', _('Write descriptions')) + self._descriptions_button.connect('clicked', + self.__descriptions_button_cb) self.toolbar_box.toolbar.insert(gtk.SeparatorToolItem(), -1) @@ -105,11 +110,12 @@ class IngeniumMachinaActivity(activity.Activity): self.toolbar_box.show_all() # init edition windows + self.collect_resources_win = None self.prepare_questions_win = None # init game self.mode = PLAY_MODE - self.action = None + self.action = EDIT_RESOURCES_ACTION self.update_buttons_state() self.main_notebook = gtk.Notebook() # fake temporal game cointainer (Manu will replace it) @@ -122,9 +128,13 @@ class IngeniumMachinaActivity(activity.Activity): def __change_mode_cb(self, button): if button.get_active(): self.mode = EDIT_MODE - if self.action == EDIT_QUESTIONS_ACTION: - self.main_notebook.set_current_page( - self._questions_button.page) + if self.action == EDIT_RESOURCES_ACTION: + self.__resources_button_cb(self._resources_button) + elif self.action == EDIT_QUESTIONS_ACTION: + self.__questions_button_cb(self._questions_button) + else: + self.main_notebook.set_current_page(0) + else: self.mode = PLAY_MODE self.main_notebook.set_current_page(0) @@ -133,17 +143,21 @@ class IngeniumMachinaActivity(activity.Activity): def __add_cb(self, button): if self.action is None: return - if self.action == EDIT_QUESTIONS_ACTION: + if self.action == EDIT_RESOURCES_ACTION: + self.collect_resources_win.add_resource() + elif self.action == EDIT_QUESTIONS_ACTION: self.prepare_questions_win.add_question() def __remove_cb(self, button): if self.action is None: return - if self.action == EDIT_QUESTIONS_ACTION: + if self.action == EDIT_RESOURCES_ACTION: + self.collect_resources_win.del_resource() + elif self.action == EDIT_QUESTIONS_ACTION: self.prepare_questions_win.del_question() def update_buttons_state(self): - self._collect_button.set_sensitive(self.mode == EDIT_MODE) + self._resources_button.set_sensitive(self.mode == EDIT_MODE) self._questions_button.set_sensitive(self.mode == EDIT_MODE) self._map_button.set_sensitive(self.mode == EDIT_MODE) self._descriptions_button.set_sensitive(self.mode == EDIT_MODE) @@ -166,6 +180,22 @@ class IngeniumMachinaActivity(activity.Activity): self.main_notebook.set_current_page(button.page) self.action = EDIT_QUESTIONS_ACTION + def __resources_button_cb(self, button): + if self.collect_resources_win is None: + self.collect_resources_win = CollectResourcesWin(self.model) + button.page = self.main_notebook.get_n_pages() + self.main_notebook.append_page(self.collect_resources_win) + self.main_notebook.set_current_page(button.page) + self.action = EDIT_RESOURCES_ACTION + + def __map_button_cb(self, button): + self.main_notebook.set_current_page(0) + self.action = EDIT_MAP_ACTION + + def __descriptions_button_cb(self, button): + self.main_notebook.set_current_page(0) + self.action = EDIT_DESCRIPTIONS_ACTION + def read_file(self, file_path): '''Read file from Sugar Journal.''' logging.error('READING FILE %s', file_path) |