Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ReckonPrimer.activity/expassten.py
diff options
context:
space:
mode:
Diffstat (limited to 'ReckonPrimer.activity/expassten.py')
-rwxr-xr-xReckonPrimer.activity/expassten.py219
1 files changed, 118 insertions, 101 deletions
diff --git a/ReckonPrimer.activity/expassten.py b/ReckonPrimer.activity/expassten.py
index 4e387d4..3a3622a 100755
--- a/ReckonPrimer.activity/expassten.py
+++ b/ReckonPrimer.activity/expassten.py
@@ -1,4 +1,7 @@
# -*- coding: utf-8 -*-
+#(c) Markus Ehrenreich 2009
+#(c) Christian Hain 2009
+
from Exercise import Exercise
import random
import copy
@@ -34,6 +37,7 @@ class ExPassTen(Exercise):
'shuffle_inner': False, # shuffle only 1st (inner) iteration
'cut-max' : True # cut set of all calcs down to MAX
}
+ self._calcs = self._generate_calcs()
def format(self, (cs, ms, linepos)):
"""format the calc for display, prepare overlays for input"""
@@ -215,101 +219,110 @@ class ExPassTen(Exercise):
return _calcs
def define_buttons(self):
- """ See comment in Exercies.define_buttons. """
-
- self.toggle_plus = gtk.ToggleButton("+")
- self.toggle_label = self.toggle_plus.get_child()
- self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_plus.connect("toggled", self.toggle_plus_callback)
- self._display.settings_table.attach(self.toggle_plus, 1, 2, 10, 11 )
- self.toggle_plus.show()
-
- self.toggle_minus = gtk.ToggleButton("-")
- self.toggle_label = self.toggle_minus.get_child()
- self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_minus.connect("toggled", self.toggle_minus_callback)
- self._display.settings_table.attach(self.toggle_minus, 1, 2, 9, 10 )
+ """ See comment in Exercies.define_buttons. """
+ self.toggle_plus = gtk.ToggleButton("+")
+ self.toggle_label = self.toggle_plus.get_child()
+ self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_plus.connect("toggled", self.toggle_plus_callback)
+ self._display.settings_table.attach(self.toggle_plus, 1, 2, 10, 11 )
+ self.toggle_plus.show()
+
+ self.toggle_minus = gtk.ToggleButton("-")
+ self.toggle_label = self.toggle_minus.get_child()
+ self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_minus.connect("toggled", self.toggle_minus_callback)
+ self._display.settings_table.attach(self.toggle_minus, 1, 2, 9, 10 )
self.toggle_minus.show()
- self.label0 = gtk.Label("3")
- self.label0.modify_font(pango.FontDescription("sans 12"))
- self._display.settings_table.attach(self.label0, 2, 3, 10, 11 )
+ self.label0 = gtk.Label("3")
+ self.label0.modify_font(pango.FontDescription("sans 12"))
+ self._display.settings_table.attach(self.label0, 2, 3, 10, 11 )
self.label0.show()
- self.label1 = gtk.Label("=")
- self.label1.modify_font(pango.FontDescription("sans 12"))
- self._display.settings_table.attach(self.label1, 3, 4, 10, 11 )
+ self.label1 = gtk.Label("=")
+ self.label1.modify_font(pango.FontDescription("sans 12"))
+ self._display.settings_table.attach(self.label1, 3, 4, 10, 11 )
self.label1.show()
- self.label2 = gtk.Label("12")
- self.label2.modify_font(pango.FontDescription("sans 12"))
- self._display.settings_table.attach(self.label2, 4, 5, 10, 11 )
+ self.label2 = gtk.Label("12")
+ self.label2.modify_font(pango.FontDescription("sans 12"))
+ self._display.settings_table.attach(self.label2, 4, 5, 10, 11 )
self.label2.show()
- self.label3 = gtk.Label("1 + 2")
- self.label3.modify_font(pango.FontDescription("sans 12"))
- self._display.settings_table.attach(self.label3, 2, 3, 11, 12 )
+ self.label3 = gtk.Label("1 + 2")
+ self.label3.modify_font(pango.FontDescription("sans 12"))
+ self._display.settings_table.attach(self.label3, 2, 3, 11, 12 )
self.label3.show()
- self.toggle_newline = gtk.ToggleButton("<")
- self.toggle_label = self.toggle_newline.get_child()
- self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_newline.connect("toggled", self.toggle_newline_callback)
- self._display.settings_table.attach(self.toggle_newline, 5, 6, 11, 12)
- self.toggle_newline.show()
+ self.label6 = gtk.Label(self._display._sett['MAX'])
+ self.label6.modify_font(pango.FontDescription("sans 12"))
+ self._display.settings_table.attach(self.label6, 5, 6, 1, 2 )
+ self.label6.show()
- self.toggle_shuffle_all = gtk.ToggleButton("@")
- self.toggle_shuffle_all_label = self.toggle_shuffle_all.get_child()
- self.toggle_shuffle_all_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_shuffle_all.connect("toggled", self.toggle_shuffle_all_callback)
- self._display.settings_table.attach(self.toggle_shuffle_all, 0, 1, 13, 14 )
- self.toggle_shuffle_all.show()
+ #self.label7 = gtk.Label(self._display._sess._gen.count((self._display._key, self._display._sett)))
+ #self.label7.modify_font(pango.FontDescription("sans 12"))
+ #self._display.settings_table.attach(self.label7, 5, 6, 2, 3 )
+ #self.label7.show()
- self.toggle_shuffle_inner = gtk.ToggleButton("@")
- self.toggle_shuffle_inner_label = self.toggle_shuffle_inner.get_child()
- self.toggle_shuffle_inner_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_shuffle_inner.connect("toggled", self.toggle_shuffle_inner_callback)
- self._display.settings_table.attach(self.toggle_shuffle_inner, 2, 3, 13, 14 )
- self.toggle_shuffle_inner.show()
+ self.toggle_newline = gtk.ToggleButton("<")
+ self.toggle_label = self.toggle_newline.get_child()
+ self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_newline.connect("toggled", self.toggle_newline_callback)
+ self._display.settings_table.attach(self.toggle_newline, 5, 6, 11, 12)
+ self.toggle_newline.show()
- self.toggle_pos3 = gtk.ToggleButton("--")
- self.toggle_label = self.toggle_pos3.get_child()
- self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_pos3.connect("toggled", self.toggle_pos3_callback)
- self._display.settings_table.attach(self.toggle_pos3, 2, 3, 12, 13 )
- self.toggle_pos3.show()
+ self.toggle_shuffle_all = gtk.ToggleButton("@")
+ self.toggle_shuffle_all_label = self.toggle_shuffle_all.get_child()
+ self.toggle_shuffle_all_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_shuffle_all.connect("toggled", self.toggle_shuffle_all_callback)
+ self._display.settings_table.attach(self.toggle_shuffle_all, 0, 1, 13, 14 )
+ self.toggle_shuffle_all.show()
- self.toggle_pos5 = gtk.ToggleButton("--")
- self.toggle_label = self.toggle_pos5.get_child()
- self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle_pos5.connect("toggled", self.toggle_pos5_callback)
- self._display.settings_table.attach(self.toggle_pos5, 4, 5, 12, 13 )
+ self.toggle_shuffle_inner = gtk.ToggleButton("@")
+ self.toggle_shuffle_inner_label = self.toggle_shuffle_inner.get_child()
+ self.toggle_shuffle_inner_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_shuffle_inner.connect("toggled", self.toggle_shuffle_inner_callback)
+ self._display.settings_table.attach(self.toggle_shuffle_inner, 2, 3, 13, 14 )
+ self.toggle_shuffle_inner.show()
+
+ self.toggle_pos3 = gtk.ToggleButton("--")
+ self.toggle_label = self.toggle_pos3.get_child()
+ self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_pos3.connect("toggled", self.toggle_pos3_callback)
+ self._display.settings_table.attach(self.toggle_pos3, 2, 3, 12, 13 )
+ self.toggle_pos3.show()
+
+ self.toggle_pos5 = gtk.ToggleButton("--")
+ self.toggle_label = self.toggle_pos5.get_child()
+ self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle_pos5.connect("toggled", self.toggle_pos5_callback)
+ self._display.settings_table.attach(self.toggle_pos5, 4, 5, 12, 13 )
self.toggle_pos5.show()
- self.number_butts = []
-
- for i in range(1,9+1):
- self.toggle = gtk.ToggleButton(str(i))
- self.toggle_label = self.toggle.get_child()
- self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
- self.toggle.connect("toggled", self.toggle_number_callback, i)
- self._display.settings_table.attach(self.toggle, 0, 1, 1+i, 2+i)
- self.toggle.show()
+ self.number_butts = []
+
+ for i in range(1,9+1):
+ self.toggle = gtk.ToggleButton(str(i))
+ self.toggle_label = self.toggle.get_child()
+ self.toggle_label.modify_font(pango.FontDescription("sans %d" % style.zoom(12)))
+ self.toggle.connect("toggled", self.toggle_number_callback, i)
+ self._display.settings_table.attach(self.toggle, 0, 1, 1+i, 2+i)
+ self.toggle.show()
self.number_butts.append(self.toggle)
def set_buttons(self, sett):
""" See comment in Exercies.set_buttons. """
- for i in range(sett['min'],sett['max']+1):
+ for i in range(sett['min'],sett['max']+1):
self.number_butts[i-1].set_active(True)
-
- if (sett['+'] == True):
- self.toggle_plus.set_active(True)
- else:
- self.toggle_plus.set_active(False)
-
- if (sett['-'] == True):
- self.toggle_minus.set_active(True)
- else:
+
+ if (sett['+'] == True):
+ self.toggle_plus.set_active(True)
+ else:
+ self.toggle_plus.set_active(False)
+
+ if (sett['-'] == True):
+ self.toggle_minus.set_active(True)
+ else:
self.toggle_minus.set_active(False)
if (sett['newline'] == True):
@@ -327,34 +340,34 @@ class ExPassTen(Exercise):
else:
self.toggle_shuffle_inner.set_active(False)
- for i in sett['input']:
- if( i == 1 ):
- self.toggle_pos1.set_active(True)
-
- if ( i == 3 ):
- self.toggle_pos3.set_active(True)
-
- if ( i == 5 ):
+ for i in sett['input']:
+ if( i == 1 ):
+ self.toggle_pos1.set_active(True)
+
+ if ( i == 3 ):
+ self.toggle_pos3.set_active(True)
+
+ if ( i == 5 ):
self.toggle_pos5.set_active(True)
#**** callbacks ********************************************************
def toggle_newline_callback(self, widget):
- if widget.get_active():
+ if widget.get_active():
self._display._sett['newline'] = True
else:
self._display._sett['newline'] = False
def toggle_shuffle_all_callback(self, widget):
- if widget.get_active():
+ if widget.get_active():
self._display._sett['shuffle_all'] = True
self.toggle_shuffle_inner.set_active(True)
else:
self._display._sett['shuffle_all'] = False
def toggle_shuffle_inner_callback(self, widget):
- if widget.get_active():
+ if widget.get_active():
self._display._sett['shuffle_inner'] = True
else:
if(self.toggle_shuffle_all.get_active()):
@@ -363,7 +376,7 @@ class ExPassTen(Exercise):
self._display._sett['shuffle_inner'] = False
def toggle_pos3_callback(self, widget):
- if widget.get_active():
+ if widget.get_active():
self._display._sett['input'] = list(set(self._display._sett['input']) | set([3]))
else:
if(self.toggle_pos5.get_active()):
@@ -372,27 +385,31 @@ class ExPassTen(Exercise):
widget.set_active(True)
def toggle_pos5_callback(self, widget):
- if widget.get_active():
- self._display._sett['input'] = list(set(self._display._sett['input']) | set([5]))
+ if widget.get_active():
+ self._display._sett['input'] = list(set(self._display._sett['input']) | set([5]))
else:
if(self.toggle_pos3.get_active()):
self._display._sett['input'] = list(set(self._display._sett['input']) - set([5]))
else:
widget.set_active(True)
- def toggle_plus_callback(self, widget):
- if widget.get_active():
- self._display._sett['+'] = True
- else:
- self._display._sett['+'] = False
-
- def toggle_minus_callback(self, widget):
- if widget.get_active():
- self._display._sett['-'] = True
- else:
- if( self.toggle_plus.get_active() ):
- self._display._sett['-'] = False
- else:
+ def toggle_plus_callback(self, widget):
+ if widget.get_active():
+ self._display._sett['+'] = True
+
+ else:
+ if( self.toggle_minus.get_active() ):
+ self._display._sett['+'] = False
+ else:
+ widget.set_active(True)
+
+ def toggle_minus_callback(self, widget):
+ if widget.get_active():
+ self._display._sett['-'] = True
+ else:
+ if( self.toggle_plus.get_active() ):
+ self._display._sett['-'] = False
+ else:
widget.set_active(True)
def toggle_number_callback(self, widget, i):