Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/AbacusActivity.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-05-29 17:24:25 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-05-29 17:24:25 (GMT)
commitd1f977f78f9e162a4552c5fea64c4441ac8d47f2 (patch)
treece4440edcc906df368e6f7a76b7d6a369cfe2ce3 /AbacusActivity.py
parent5a1e185108e3f103d837724d2578f2378e80fccd (diff)
added binary abacus
Diffstat (limited to 'AbacusActivity.py')
-rw-r--r--AbacusActivity.py66
1 files changed, 43 insertions, 23 deletions
diff --git a/AbacusActivity.py b/AbacusActivity.py
index e2a5921..78efdd7 100644
--- a/AbacusActivity.py
+++ b/AbacusActivity.py
@@ -91,6 +91,14 @@ class AbacusActivity(activity.Activity):
toolbar_box.toolbar.insert(self.mayan, -1)
self.mayan.show()
+ # Binary (base 2)
+ self.binary = ToolButton( "Boff" )
+ self.binary.set_tooltip(_('binary'))
+ self.binary.props.sensitive = True
+ self.binary.connect('clicked', self._binary_cb)
+ toolbar_box.toolbar.insert(self.binary, -1)
+ self.binary.show()
+
separator = gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
@@ -136,8 +144,12 @@ class AbacusActivity(activity.Activity):
self._japanese_cb(None)
elif self.metadata['abacus'] == 'schety':
self._russian_cb(None)
- else:
+ elif self.metadata['abacus'] == 'nepohualtzintzin':
self._mayan_cb(None)
+ elif self.metadata['abacus'] == 'binary':
+ self._binary_cb(None)
+ else:
+ self._chinese_cb(None)
except:
pass
try:
@@ -146,58 +158,58 @@ class AbacusActivity(activity.Activity):
except:
pass
- def _chinese_cb(self, button):
- """ Display the suanpan; hide the others """
- self.chinese.set_icon("Con")
+ def _all_off(self):
+ self.chinese.set_icon("Coff")
self.japanese.set_icon("Joff")
self.russian.set_icon("Roff")
self.mayan.set_icon("Moff")
- self.abacus.chinese.show()
+ self.binary.set_icon("Boff")
+ self.abacus.chinese.hide()
self.abacus.japanese.hide()
self.abacus.russian.hide()
self.abacus.mayan.hide()
+ self.abacus.binary.hide()
+
+ def _chinese_cb(self, button):
+ """ Display the suanpan; hide the others """
+ self._all_off()
+ self.chinese.set_icon("Con")
+ self.abacus.chinese.show()
self.abacus.mode = self.abacus.chinese
_logger.debug("Setting mode to %s" % (self.abacus.mode.name))
def _japanese_cb(self, button):
""" Display the soroban; hide the others """
- self.chinese.set_icon("Coff")
+ self._all_off()
self.japanese.set_icon("Jon")
- self.russian.set_icon("Roff")
- self.mayan.set_icon("Moff")
- self.abacus.chinese.hide()
self.abacus.japanese.show()
- self.abacus.russian.hide()
- self.abacus.mayan.hide()
self.abacus.mode = self.abacus.japanese
_logger.debug("Setting mode to %s" % (self.abacus.mode.name))
def _russian_cb(self, button):
""" Display the schety; hide the others """
- self.chinese.set_icon("Coff")
- self.japanese.set_icon("Joff")
+ self._all_off()
self.russian.set_icon("Ron")
- self.mayan.set_icon("Moff")
- self.abacus.chinese.hide()
- self.abacus.japanese.hide()
self.abacus.russian.show()
- self.abacus.mayan.hide()
self.abacus.mode = self.abacus.russian
_logger.debug("Setting mode to %s" % (self.abacus.mode.name))
def _mayan_cb(self, button):
""" Display the nepohualtzintzin; hide the others """
- self.chinese.set_icon("Coff")
- self.japanese.set_icon("Joff")
- self.russian.set_icon("Roff")
+ self._all_off()
self.mayan.set_icon("Mon")
- self.abacus.chinese.hide()
- self.abacus.japanese.hide()
- self.abacus.russian.hide()
self.abacus.mayan.show()
self.abacus.mode = self.abacus.mayan
_logger.debug("Setting mode to %s" % (self.abacus.mode.name))
+ def _binary_cb(self, button):
+ """ Display the binary; hide the others """
+ self._all_off()
+ self.binary.set_icon("Bon")
+ self.abacus.binary.show()
+ self.abacus.mode = self.abacus.binary
+ _logger.debug("Setting mode to %s" % (self.abacus.mode.name))
+
def write_file(self, file_path):
""" Write the bead positions to the Journal """
_logger.debug("Saving current abacus to Journal: %s " % (
@@ -249,3 +261,11 @@ class ProjectToolbar(gtk.Toolbar):
self.activity.mayan.connect('clicked', self.activity._mayan_cb)
self.insert(self.activity.mayan, -1)
self.activity.mayan.show()
+
+ # Binary style
+ self.activity.binary = ToolButton( "Boff" )
+ self.activity.binary.set_tooltip(_('binary'))
+ self.activity.binary.props.sensitive = True
+ self.activity.binary.connect('clicked', self.activity._binary_cb)
+ self.insert(self.activity.binary, -1)
+ self.activity.binary.show()