Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolbars.py
diff options
context:
space:
mode:
authorReinier Heeres <reinier@heeres.eu>2008-12-23 21:54:40 (GMT)
committer Reinier Heeres <reinier@heeres.eu>2008-12-23 21:54:40 (GMT)
commit9f74de400fa767209e352d58e47ce66e001223a1 (patch)
treedca62c739f7cb399c88859833d462868994629c6 /toolbars.py
parenta0e9fbc3b98ead538a275a887c056f75b10bbd6e (diff)
Modify toolbars, add plot icon (Gary C Martin)
Diffstat (limited to 'toolbars.py')
-rw-r--r--toolbars.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/toolbars.py b/toolbars.py
index 51545ba..9391ff3 100644
--- a/toolbars.py
+++ b/toolbars.py
@@ -84,20 +84,24 @@ class IconToggleToolButton(ToggleToolButton):
self.callback(but)
class TextToggleToolButton(gtk.ToggleToolButton):
- def __init__(self, items, cb):
+ def __init__(self, items, cb, index=False):
gtk.ToggleToolButton.__init__(self)
self.items = items
self.set_label(items[0])
self.selected = 0
self.connect('clicked', self.toggle_button)
self.callback = cb
+ self.index = index
def toggle_button(self, w):
self.selected = (self.selected + 1) % len(self.items)
but = self.items[self.selected]
self.set_label(but)
if self.callback is not None:
- self.callback(but)
+ if self.index:
+ self.callback(self.selected)
+ else:
+ self.callback(but)
class LineSeparator(gtk.SeparatorToolItem):
def __init__(self):
@@ -229,7 +233,7 @@ class BooleanToolbar(gtk.Toolbar):
self.insert(IconToolButton('boolean-neq', _('Not equals'),
lambda x: calc.button_pressed(calc.TYPE_OP_POST, '!=')), -1)
-class ConstantsToolbar(gtk.Toolbar):
+class MiscToolbar(gtk.Toolbar):
def __init__(self, calc):
gtk.Toolbar.__init__(self)
@@ -240,9 +244,8 @@ class ConstantsToolbar(gtk.Toolbar):
self.insert(IconToolButton('constants-e', _('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(LineSeparator(), -1)
+
el = [
{'icon': 'format-deg', 'desc': _('Degrees'), 'html': 'Deg'},
{'icon': 'format-rad', 'desc': _('Radians'), 'html': 'Rad'},
@@ -250,10 +253,17 @@ class FormatToolbar(gtk.Toolbar):
self.insert(IconToggleToolButton(el,
lambda x: self.update_angle_type(x, calc),
_('Degrees / radians')), -1)
-
+
+ self.insert(LineSeparator(), -1)
+
+ self.insert(IconToolButton('plot', _('Plot'),
+ lambda x: calc.button_pressed(calc.TYPE_FUNCTION, 'plot'),
+ lambda x: calc.button_pressed(calc.TYPE_TEXT, 'help(plot)')), -1)
+
def update_angle_type(self, text, calc):
if text == 'deg':
calc.ml.set_angle_type(MathLib.ANGLE_DEG)
elif text == 'rad':
calc.ml.set_angle_type(MathLib.ANGLE_RAD)
_logger.debug('Angle type: %s', self.ml.angle_scaling)
+