diff options
Diffstat (limited to 'ReckonPrimer.activity/learner.py')
-rw-r--r-- | ReckonPrimer.activity/learner.py | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/ReckonPrimer.activity/learner.py b/ReckonPrimer.activity/learner.py index 5df67e2..4c12e29 100644 --- a/ReckonPrimer.activity/learner.py +++ b/ReckonPrimer.activity/learner.py @@ -3,13 +3,16 @@ class Learner: """ All functionality within the learners rights. """ + _learnmode = None + def __init__(self, display, coach): self._display = display self._coach = coach + self._learnmode = self._coach.get_learnmode() self._ex = None self._curr_in = None pass - + def run(self): """ As long as user does exercises. Doing Exercises is terminated by another choice in the menu @@ -20,6 +23,12 @@ class Learner: def start_calcs(self, exercise): self._ex = exercise + + try: self._ex.set_num_intermediate_repetitions(self._learnmode['intermediate_repetitions']) + except Exception: self._ex.set_num_intermediate_repetitions(0) + try: self._ex.set_num_delayed_repetitions(self._learnmode['delayed_repetitions']) + except Exception: self._ex.set_num_delayed_repetitions(0) + self._display.set_curr_exerc(exercise) _calc = self._ex.get_next_calc() _lines, self._input = exercise.format(_calc) @@ -45,4 +54,21 @@ class Learner: # create_entryline sets the callback from gtk to Display except IndexError: self._display.finish_calc() -
\ No newline at end of file + + def calculation_error(self): + self._ex.handle_calculation_error() + #print('in learner.notify, digit-done: _input=', self._input) + (lino, pos, dig, proterr, protok, li) = self._curr_in + self._display.create_entryline((lino, -1, dig, proterr, protok, li)) + self._display.show_progress() + try: # get_next_calc + _calc = self._ex.get_next_calc() + print('in learner.notify: calc=', _calc) + _lines, self._input = self._ex.format(_calc) + self._display.display_calc(_lines) + self._curr_in = self._input.pop() #need _curr_in in notify + self._display.create_entryline(self._curr_in) + # create_entryline sets the callback from gtk to Display + except IndexError: + self._display.finish_calc() + |