Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ReckonPrimer.activity
diff options
context:
space:
mode:
authorWalther Neuper <wneuper@localhost.(none)>2010-06-08 15:30:26 (GMT)
committer Walther Neuper <wneuper@localhost.(none)>2010-06-08 15:30:26 (GMT)
commitc822c7526502023da6251506104fbb90934b9c30 (patch)
tree3e9fef50a94c73a863e68da9f63e7bc49a2d2428 /ReckonPrimer.activity
parentaf878eb3856f97683a6d56398e8c37b9b90c5a92 (diff)
exaddsub.py butts WORK except +-10
Diffstat (limited to 'ReckonPrimer.activity')
-rw-r--r--ReckonPrimer.activity/exercises/exaddsub.py88
-rw-r--r--ReckonPrimer.activity/exercises/exmult.py2
2 files changed, 63 insertions, 27 deletions
diff --git a/ReckonPrimer.activity/exercises/exaddsub.py b/ReckonPrimer.activity/exercises/exaddsub.py
index 7c65226..9816576 100644
--- a/ReckonPrimer.activity/exercises/exaddsub.py
+++ b/ReckonPrimer.activity/exercises/exaddsub.py
@@ -25,6 +25,7 @@ class ExAddSub(Exercise):
# 'MAX' : 10, # maximum of calcs generated.
# 'MIN' : 10, # minimum of calcs generated UNUSED
# 'length' : 3, # maximal number of digits of summands
+ # FIXXXME _max_length = 7
# 'args' : 2, # FIXED due to constraints in
# # _generate_calcs and format
# 'carry' : False,# the calculation might involve carries
@@ -263,13 +264,15 @@ class ExAddSub(Exercise):
self._display.settings_table.attach(self.label, 4+i, 5+i, 8, 9)
self.label.show()
self.numbers.append(self.label)
- self.toggle_plus = gtk.ToggleButton('--10-->')
- self.toggle_label = self.toggle_plus.get_child()
+
+ # carry Button
+ self.toggle_carry = gtk.ToggleButton('--10-->')
+ self.toggle_label = self.toggle_carry.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, 4, 9, 10)
- self.toggle_plus.show()
+ self.toggle_carry.connect("toggled", self.toggle_carry_callback)
+ self._display.settings_table.attach(self.toggle_carry, 1, 4, 9, 10)
+ self.toggle_carry.show()
# + Button
self.toggle_plus = gtk.ToggleButton("+")
@@ -291,14 +294,16 @@ class ExAddSub(Exercise):
def set_buttons(self, sett):
#print("#####exaddsub.set_buttons, sett=", sett)
- for i in range(sett['length']):
- #print("#####exaddsub.set_buttons, i=", i)
- self.arrow_butts[i].set_active(True)
+ _max_length = 7 #FIXXXME ExAddSub._max_length !
+ for i in range(_max_length):
+ if i < _max_length - self._sett['length']:
+ self.arrow_butts[i].set_active(False)
+ else:
+ self.arrow_butts[i].set_active(True)
for i in range(2):
- self.dice_butts[i].set_active(True)
- #if (sett[i] == False):
- #self.toggle_dice_butts[i].set_active(True)
+ self.dice_butts[i].set_active(False)
+ #TODO for higher columns
if ('+' in sett['ops']):
self.toggle_plus.set_active(True)
@@ -313,30 +318,61 @@ class ExAddSub(Exercise):
#**** callbacks ***********************************************
- def toggle_arrow_callback(self, widget, i):
- #print("###toggle_arrow_callback :self._sett=",self._sett)
- if widget.get_active():
- if(i > self._sett['max_pos']):
- self._sett['max_pos'] = i
- self.set_buttons(self._sett)
-
- else:
- if(i == self._sett['max_pos']):
- if(self._sett['min_pos'] == self._sett['max_pos']):
+ def toggle_arrow_callback(self, widget, clickno):
+ _max_length = 7 #FIXXXME class variable of ExAddSub
+ if widget.get_active(): #gtk made just active
+ if(_max_length - clickno > self._sett['length']):
+ #print('exmult.set_len1_callback, le-cl > fact1')
+ self._sett['length'] = _max_length - clickno
+ elif(_max_length - clickno < 2):
+ #print('exmult.set_len1_callback, le-cl < 2')
+ pass # not less then "1" button
+ else: #gtk made just inactive (before was active)
+ #print('exmult.set_len1_callback,.get_active()=False')
+ if(_max_length - clickno == self._sett['length']):
+ #print('exmult.set_len1_callback, le-cl == fact1')
+ if(_max_length - clickno < 2):
+ #print('exmult.set_len1_callback, le-cl < 2')
widget.set_active(True)
else:
- self._sett['max_pos'] = i-1
- self.set_buttons(self._sett)
-
+ #print('exmult.set_len1_callback, le-cl >= 2')
+ self._sett['length'] = _max_length - clickno-1
else:
+ #print('exmult.set_len1_callback, le-cl != fact1')
widget.set_active(True)
+ self.set_buttons(self._sett)
+# #print("###toggle_arrow_callback :self._sett=",self._sett)
+# if widget.get_active():
+# if(i > self._sett['max_pos']):
+# self._sett['max_pos'] = i
+# self.set_buttons(self._sett)
+#
+# else:
+# if(i == self._sett['max_pos']):
+# if(self._sett['min_pos'] == self._sett['max_pos']):
+# widget.set_active(True)
+# else:
+# self._sett['max_pos'] = i-1
+# self.set_buttons(self._sett)
+#
+# else:
+# widget.set_active(True)
def toggle_dice_callback(self, widget, i):
+ self.dice_butts[i].set_active(False)
+ #TODO for higher columns
- if widget.get_active():
- widget.set_active(True)
# callbacks updating the settings
+ def toggle_carry_callback(self, widget):
+ if widget.get_active():
+ self._sett['+'] = True
+ else:
+ if( self.toggle_minus.get_active() ):
+ self._sett['+'] = False
+ else:
+ widget.set_active(True)
+
def toggle_plus_callback(self, widget):
if widget.get_active():
self._sett['+'] = True
diff --git a/ReckonPrimer.activity/exercises/exmult.py b/ReckonPrimer.activity/exercises/exmult.py
index 8e0248c..5240c6a 100644
--- a/ReckonPrimer.activity/exercises/exmult.py
+++ b/ReckonPrimer.activity/exercises/exmult.py
@@ -194,7 +194,7 @@ class ExMult(Exercise):
def set_buttons(self, sett): #FIXME remove sett
#print('---exmult set_buttons')
- _max_length = 6 #FIXXXME Display._max_length !
+ _max_length = 6 #FIXXXME ExMult._max_length !
for i in range(_max_length):
if i < _max_length - self._sett['fact1']:
self.len1_butts[i].set_active(False)