Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalther Neuper <neuper@neuper.(none)>2009-12-15 16:07:52 (GMT)
committer Walther Neuper <neuper@neuper.(none)>2009-12-15 16:07:52 (GMT)
commit77136766cd4aac09515236e4335e952fdb054a9f (patch)
tree160342698ff8fc938f9fdf8095bdfa859aa4184b
parent9deb3566d5d069a283b99cfc186a599eb6a0201f (diff)
collect_table --> calc; switch coll->sett ok
-rwxr-xr-xReckonPrimer.activity/coach.py10
-rwxr-xr-xReckonPrimer.activity/display.py43
-rwxr-xr-xReckonPrimer.activity/extimesdiv.py3
3 files changed, 38 insertions, 18 deletions
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()