Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolbars.py
diff options
context:
space:
mode:
authorMiguel Angel Alvarez Bernardo <miguel@miguel-ubuntu.(none)>2007-07-11 19:06:44 (GMT)
committer Miguel Angel Alvarez Bernardo <miguel@miguel-ubuntu.(none)>2007-07-11 19:06:44 (GMT)
commit60134cc71bb5aeedecbfa9aa7499016a31da0bb6 (patch)
tree0dbb32af602f036b18121f37cf1c148c40f9d015 /toolbars.py
Initial Commit
Diffstat (limited to 'toolbars.py')
-rw-r--r--toolbars.py123
1 files changed, 123 insertions, 0 deletions
diff --git a/toolbars.py b/toolbars.py
new file mode 100644
index 0000000..bb70af2
--- /dev/null
+++ b/toolbars.py
@@ -0,0 +1,123 @@
+import pygtk
+pygtk.require('2.0')
+import gtk
+
+from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics.toggletoolbutton import ToggleToolButton
+
+class TextToolButton(gtk.ToolButton):
+ def __init__(self, text, cb):
+ gtk.ToolButton.__init__(self)
+ self.set_label(text)
+ self.connect('clicked', cb)
+
+class IconToolButton(ToolButton):
+ def __init__(self, text, cb):
+ ToolButton.__init__(self, text)
+ self.connect('clicked', cb)
+
+class TextToggleToolButton(gtk.ToggleToolButton):
+ def __init__(self, text, cb):
+ gtk.ToggleToolButton.__init__(self)
+ self.set_label(text)
+ self.connect('clicked', cb)
+
+class IconToggleToolButton(ToggleToolButton):
+ def __init__(self, text, cb):
+ ToggleToolButton.__init__(self, text)
+ self.connect('clicked', cb)
+
+class LineSeparator(gtk.SeparatorToolItem):
+ def __init__(self):
+ gtk.SeparatorToolItem.__init__(self)
+ self.set_draw(True)
+
+class EditToolbar(gtk.Toolbar):
+ def __init__(self, calc):
+ gtk.Toolbar.__init__(self)
+
+class AlgebraToolbar(gtk.Toolbar):
+ def __init__(self, calc):
+ gtk.Toolbar.__init__(self)
+
+ self.insert(TextToolButton('square',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '^2')), -1)
+
+ self.insert(TextToolButton('sqrt',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'sqrt')), -1)
+
+ self.insert(LineSeparator(), -1)
+
+ self.insert(TextToolButton('exp',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, 'exp')), -1)
+
+ self.insert(TextToolButton('ln',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'ln')), -1)
+
+ self.insert(LineSeparator(), -1)
+
+ self.insert(TextToolButton('fac',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '!')), -1)
+
+class TrigonometryToolbar(gtk.Toolbar):
+ def __init__(self, calc):
+ gtk.Toolbar.__init__(self)
+
+ self.insert(TextToolButton('sin',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'sin')), -1)
+
+ self.insert(TextToolButton('cos',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'cos')), -1)
+
+ self.insert(TextToolButton('tan',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'tan')), -1)
+
+ self.insert(LineSeparator(), -1)
+
+ self.insert(TextToolButton('sinh',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'sinh')), -1)
+
+ self.insert(TextToolButton('cosh',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'cosh')), -1)
+
+ self.insert(TextToolButton('tanh',
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'tanh')), -1)
+
+class BooleanToolbar(gtk.Toolbar):
+ def __init__(self, calc):
+ gtk.Toolbar.__init__(self)
+
+ self.insert(TextToolButton('and',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '&')), -1)
+
+ self.insert(TextToolButton('or',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '|')), -1)
+
+ self.insert(TextToolButton('xor',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '^')), -1)
+
+ self.insert(LineSeparator(), -1)
+
+ self.insert(TextToolButton('eq',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '=')), -1)
+
+ self.insert(TextToolButton('neq',
+ lambda x: calc.button_pressed(calc.TYPE_OP_POST, '!=')), -1)
+
+class ConstantsToolbar(gtk.Toolbar):
+ def __init__(self, calc):
+ gtk.Toolbar.__init__(self)
+
+ self.insert(TextToolButton('pi',
+ lambda x: calc.button_pressed(calc.TYPE_TEXT, 'pi')), -1)
+
+ self.insert(TextToolButton('e',
+ lambda x: calc.button_pressed(calc.TYPE_TEXT, 'e')), -1)
+
+class FormatToolbar(gtk.Toolbar):
+ def __init__(self, calc):
+ gtk.Toolbar.__init__(self)
+
+ self.insert(TextToggleToolButton('rad/deg',
+ lambda x: True), -1)
+