Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AbacusActivity.py4
-rw-r--r--abacus_window.py32
2 files changed, 19 insertions, 17 deletions
diff --git a/AbacusActivity.py b/AbacusActivity.py
index 254e3ae..718f192 100644
--- a/AbacusActivity.py
+++ b/AbacusActivity.py
@@ -168,7 +168,7 @@ class AbacusActivity(activity.Activity):
_abacus_toolbar)
self.fraction = _button_factory("Foff", _('Fraction'),
self._fraction_cb, _abacus_toolbar)
- self.caacupe = _button_factory("Foff", _('Caacupe'),
+ self.caacupe = _button_factory("Foff", _('Caacupé'),
self._caacupe_cb, _abacus_toolbar)
self._rods_label = _label_factory(_("Rods:")+" ", _custom_toolbar)
@@ -240,7 +240,7 @@ class AbacusActivity(activity.Activity):
pass
try:
self.abacus.mode.set_value(self.metadata['value'])
- self.abacus.mode.label(self.abacus.mode.value())
+ self.abacus.mode.label(self.abacus.generate_label())
except:
pass
diff --git a/abacus_window.py b/abacus_window.py
index b5af173..665d954 100644
--- a/abacus_window.py
+++ b/abacus_window.py
@@ -338,7 +338,20 @@ class Abacus():
if self.press.type == 'bead':
self.mode.move_bead(self.press, y-self.dragpos)
self.press = None
- # The complexity below is to make the label as simple as possible
+ self.mode.label(self.generate_label())
+ return True
+
+ def _expose_cb(self, win, event):
+ """ Callback to handle window expose events """
+ self.sprites.redraw_sprites()
+ return True
+
+ def _destroy_cb(self, win, event):
+ """ Callback to handle quit """
+ gtk.main_quit()
+
+ def generate_label(self):
+ """ The complexity below is to make the label as simple as possible """
sum = ""
multiple_rods = False
for x in self.mode.get_rod_values():
@@ -357,7 +370,7 @@ class Abacus():
multiple_rods = True
sum += " – %s" % (rod_value)
if sum == "":
- self.mode.label("")
+ return ""
else:
abacus_value = float(self.mode.value())
if abacus_value == 0:
@@ -379,20 +392,9 @@ class Abacus():
if value == "":
value = "0"
if multiple_rods:
- self.mode.label(sum + " = " + value)
+ return sum + " = " + value
else:
- self.mode.label(value)
- return True
-
- def _expose_cb(self, win, event):
- """ Callback to handle window expose events """
- self.sprites.redraw_sprites()
- return True
-
- def _destroy_cb(self, win, event):
- """ Callback to handle quit """
- gtk.main_quit()
-
+ return value
class AbacusGeneric():
""" A generic abacus: a frame, rods, and beads. """