diff options
author | Reinier Heeres <reinier@heeres.eu> | 2007-07-15 17:20:33 (GMT) |
---|---|---|
committer | Reinier Heeres <reinier@heeres.eu> | 2007-07-15 17:20:33 (GMT) |
commit | c3aeeab1593f4a72c33639add8da40fe8f7c5c56 (patch) | |
tree | f707f55ced176d9ddba00528cfbea1a40b6f0fb6 /toolbars.py | |
parent | c736b57378384a400250c28dbcdec83d75ae7a66 (diff) |
Fixed toggle buttons (variable/history view working)
Diffstat (limited to 'toolbars.py')
-rw-r--r-- | toolbars.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/toolbars.py b/toolbars.py index 2946107..3b426e4 100644 --- a/toolbars.py +++ b/toolbars.py @@ -27,17 +27,23 @@ class TextToggleToolButton(gtk.ToggleToolButton): self.items = items self.set_label(items[0]) self.selected = 0 - self.connect('clicked', cb) + self.connect('clicked', self.toggle_button) + self.callback = cb - @staticmethod - def toggle_button(button): - button.selected = (button.selected + 1) % len(button.items) - button.set_label(button.items[button.selected]) + def toggle_button(self, w): + self.selected = (self.selected + 1) % len(self.items) + self.set_label(self.items[self.selected]) + if self.callback is not None: + self.callback(self.items[self.selected]) class IconToggleToolButton(ToggleToolButton): def __init__(self, text, cb): ToggleToolButton.__init__(self, text) - self.connect('clicked', cb) + self.connect('clicked', self.toggle_button) + + def toggle_button(self, w): + if self.callback is not None: + self.callback(self.items[self.selected]) class LineSeparator(gtk.SeparatorToolItem): def __init__(self): @@ -141,14 +147,11 @@ class FormatToolbar(gtk.Toolbar): def __init__(self, calc): gtk.Toolbar.__init__(self) el = ['deg', 'rad'] - self.insert(TextToggleToolButton(el, lambda b: FormatToolbar.update_angle_type(b, calc)), - -1) + self.insert(TextToggleToolButton(el, self.update_angle_type), -1) - @staticmethod - def update_angle_type(b, calc): - TextToggleToolButton.toggle_button(b) - if b.items[b.selected] == 'deg': + def update_angle_type(self, text): + if text == 'deg': calc.ml.set_angle_type(MathLib.ANGLE_DEG) - elif b.items[b.selected] == 'rad': + elif text == 'rad': calc.ml.set_angle_type(MathLib.ANGLE_RAD) _logger.debug('Angle type: %s', calc.ml.angle_scaling) |