diff options
author | Miguel 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) |
commit | 60134cc71bb5aeedecbfa9aa7499016a31da0bb6 (patch) | |
tree | 0dbb32af602f036b18121f37cf1c148c40f9d015 /toolbars.py |
Initial Commit
Diffstat (limited to 'toolbars.py')
-rw-r--r-- | toolbars.py | 123 |
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) + |