From 77136766cd4aac09515236e4335e952fdb054a9f Mon Sep 17 00:00:00 2001 From: Walther Neuper Date: Tue, 15 Dec 2009 16:07:52 +0000 Subject: collect_table --> calc; switch coll->sett ok --- diff --git a/ReckonPrimer.activity/coach.py b/ReckonPrimer.activity/coach.py index ae86d12..b561a9c 100755 --- a/ReckonPrimer.activity/coach.py +++ b/ReckonPrimer.activity/coach.py @@ -23,17 +23,21 @@ class Coach: """ This preliminary version just lets the Learner select. """ #print("in coach.request_exercise") self._dis.offer_coll_to_learner(self._collect) - # calls back with notify('exerc-selected'... + # calls back with notify('exerc-selected'... OR 'switch-to-setts' def notify(self, (msg, data)): """called by the observed objects""" - #print("in coach.notify: msg=, data=", (msg, data)) + print("in coach.notify: msg=, data=", (msg, data)) if msg == 'setting-done': # from display self._ex.update_setting(data) self._learner.notify(('start-calcs', self._ex)) elif msg == 'exerc-selected': # from collection self._ex = self._collect.select(data) print('in coach.notify(exerc-selected), _sett=',self._ex._sett) - #WN091215 self._dis.offer_setting(self._ex) self._learner.notify(('start-calcs', self._ex)) + elif msg == 'switch-to-setts': # from display + self._ex = self._collect.select(data) + self._dis.offer_setting(self._ex) + else: + raise Error() diff --git a/ReckonPrimer.activity/display.py b/ReckonPrimer.activity/display.py index 88b9e9e..267f3ec 100755 --- a/ReckonPrimer.activity/display.py +++ b/ReckonPrimer.activity/display.py @@ -87,9 +87,9 @@ class Display: self.scrolled_window.show() # 3 tables as overlays with same 15 lines and 6 columns - self.settings_table = gtk.Table(15, 6, True) + self.settings_table = gtk.Table (15, 6, True) self.collection_table = gtk.Table(15, 6, True) - self.feedback_table = gtk.Table(15, 6, True) + self.feedback_table = gtk.Table (15, 6, True) # Insert the 3 tables into the right half of the screen self.table.attach(self.settings_table, 1, 2, 0, 5) @@ -116,14 +116,15 @@ class Display: self.stopwatch_label.queue_draw() return True - def settings_table_show(self): + def settings_table_show(self): # rename to init_.. + """ Initialize all permanent gui-elements in settings_table. """ self.see_butt = gtk.Button(None, gtk.STOCK_GO_FORWARD) self.see_butt.connect("clicked", self.release_sett_callback) - self.feedback_table.attach(self.see_butt, 0, 5, 14, 15) + self.settings_table.attach(self.see_butt, 0, 5, 14, 15) self.see_alignment = self.see_butt.get_children()[0] self.see_hbox = self.see_alignment.get_children()[0] self.see_image, self.see_label = self.see_hbox.get_children() - self.see_label.set_label("feedback_table") + self.see_label.set_label("settings_table") self.see_butt.show() @@ -197,7 +198,7 @@ class Display: self.sfb_butt = gtk.Button(None, gtk.STOCK_STOP) self.sfb_butt.connect("clicked", self.release_feedb_callback) - self.feedback_table.attach(self.sfb_butt, 0, 5, 14, 15) + self.feedback_table.attach(self.sfb_butt, 0, 6, 14, 15) self.sfb_alignment = self.sfb_butt.get_children()[0] self.sfb_hbox = self.sfb_alignment.get_children()[0] self.sfb_image, self.sfb_label = self.sfb_hbox.get_children() @@ -221,20 +222,22 @@ class Display: self._sett = self._ex.get_setting() #WN.LV make _sett local self.current_exercise = ex #WN.LV either drop this or self._ex - #print('in display.offer_setting, self._sett=', self._sett) + print('in display.offer_setting, topic=', self._sett['topic']) self.current_exercise.define_buttons() self.current_exercise.set_buttons(self._sett) + self.settings_table.show() def release_feedb_callback(self, widget): """ """ self.protocol('----------------------------------------', 0, 'OK') - print('in dsiplay.clicked_start_callback') + print('in display.release_feedb_callback') self.calc_table.destroy() self.feedback_table_hide() self.collection_table.show() # from here the next user-interactions def release_sett_callback(self, widget): """ Start calcs with these settings (probably updated). """ + print('in display.release_sett_callback') self._co.notify(('setting-done', self._ex._sett)) self.settings_table.hide() #self.collection_table.hide() @@ -354,7 +357,7 @@ class Display: """TODO: get the users choice from buttons above the settings""" collect.define_coll_gui() collect.set_coll_gui(collect) # sets callbacks - self.set_finish_learner_coll() # set finish_learner_coll_butt + callb + self.set_coll_to_learner() # set finish_learner_coll_butt + callb def switch_exercise(self): """ Another exercise has been selected. """ @@ -374,18 +377,25 @@ class Display: print('in display.set_select_exerc_semaphore, coll_key', self._coll_key) self._coll_key = coll_key - def set_finish_learner_coll(self): - """ Set the button switching from collect_table to calcs""" - print('in display.set_finish_learner_coll') + def set_coll_to_learner(self): + """ Set the permanent gui-elements for collection_table. """ + print('in display.set_coll_to_learner') + # button switching from collect_table to calcs self.flc_butt = gtk.Button(None, gtk.STOCK_GO_FORWARD) self.flc_butt.connect("clicked", self.finish_learner_coll_callback) self.collection_table.attach(self.flc_butt, 0, 5, 14, 15) self.flc_alignment = self.flc_butt.get_children()[0] self.flc_hbox = self.flc_alignment.get_children()[0] self.flc_image, self.flc_label = self.flc_hbox.get_children() - self.flc_label.set_label("finish_learner_coll") + self.flc_label.set_label("to calcs") self.flc_butt.show() - pass + + # button switching from collect_table to settings_table + self.sts_butt = gtk.Button("") + self.sts_butt.connect("clicked", self.switch_learner_to_setts) + self.collection_table.attach(self.sts_butt, 5, 6, 14, 15) + self.sts_alignment = self.sts_butt.get_children()[0] + self.sts_butt.show() def finish_learner_coll_callback(self, widget): """ Callback on flc_butt; uses self._coll_key as semaphore @@ -396,6 +406,11 @@ class Display: self.collection_table.hide() self.feedback_table_show() + def switch_learner_to_setts(self, widget): + """ Callback on sts_butt. asks the Coach if allowed. """ + self._co.notify(('switch-to-setts', self._coll_key)) + self.collection_table.hide() + def set_curr_exerc(self, exerc): """ self._ex is needed for feedback_table etc. """ self._ex = exerc diff --git a/ReckonPrimer.activity/extimesdiv.py b/ReckonPrimer.activity/extimesdiv.py index 8d63ce2..3383810 100755 --- a/ReckonPrimer.activity/extimesdiv.py +++ b/ReckonPrimer.activity/extimesdiv.py @@ -201,7 +201,8 @@ class ExTimesDiv(Exercise): self.toggle_times = gtk.ToggleButton("<") self.toggle_times_label = self.toggle_times.get_child() - self.toggle_times_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12))) + self.toggle_times_label.modify_font(pango.FontDescription( + "sans %d" % style.zoom(12))) self.toggle_times.connect("toggled", self.toggle_times_callback) self._display.settings_table.attach(self.toggle_times, 7, 8, 9, 10 ) self.toggle_times.show() -- cgit v0.9.1