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>2007-07-15 17:20:33 (GMT)
committer Reinier Heeres <reinier@heeres.eu>2007-07-15 17:20:33 (GMT)
commitc3aeeab1593f4a72c33639add8da40fe8f7c5c56 (patch)
treef707f55ced176d9ddba00528cfbea1a40b6f0fb6 /toolbars.py
parentc736b57378384a400250c28dbcdec83d75ae7a66 (diff)
Fixed toggle buttons (variable/history view working)
Diffstat (limited to 'toolbars.py')
-rw-r--r--toolbars.py29
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)