Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/SynthLab
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-07-29 13:56:53 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2011-07-30 01:19:18 (GMT)
commit75461130fcafb00961b99427a637dd7e0e88dc32 (patch)
treea44fcb0987ddcefd36b115edff287d5937f703d1 /SynthLab
parentca73bb3e0ae508541c43bcf314515f45fa9f990a (diff)
move record buttons onto separate toolbar
Diffstat (limited to 'SynthLab')
-rw-r--r--SynthLab/SynthLabToolbars.py90
1 files changed, 63 insertions, 27 deletions
diff --git a/SynthLab/SynthLabToolbars.py b/SynthLab/SynthLabToolbars.py
index 6a4cad6..b8fc9f4 100644
--- a/SynthLab/SynthLabToolbars.py
+++ b/SynthLab/SynthLabToolbars.py
@@ -7,9 +7,7 @@ from sugar.graphics.radiotoolbutton import RadioToolButton
from gettext import gettext as _
-class mainToolbar(gtk.Toolbar):
- def __init__(self, toolbox, synthLab):
- gtk.Toolbar.__init__(self)
+def main_toolbar_common(toolbar, synthLab):
def _button_factory(name='', toolbar=None, cb=None, arg=None,
tooltip=None, toggle=True):
@@ -30,12 +28,12 @@ class mainToolbar(gtk.Toolbar):
button.set_tooltip(tooltip)
return button
- def _insertSeparator(x=1):
+ def _insertSeparator(toolbar, x=1):
for i in range(x):
- self.separator = gtk.SeparatorToolItem()
- self.separator.set_draw(False)
- self.insert(self.separator, -1)
- self.separator.show()
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(False)
+ toolbar.insert(separator, -1)
+ separator.show()
def _label_factory(label='', toolbar=None):
''' Add a label to a toolbar '''
@@ -65,20 +63,67 @@ class mainToolbar(gtk.Toolbar):
slider.show()
return sliderAdj
- self.toolbox = toolbox
- self.synthLab = synthLab
+ durationSliderLabel = _label_factory(label=_('Duration: '),
+ toolbar=toolbar)
+
+ durationSliderAdj = _slider_factory(toolbar=toolbar,
+ cb=synthLab.handleDuration,
+ tooltip=_('Duration'))
+
+ durationSliderLabelSecond = _label_factory(label=_(' s.'),
+ toolbar=toolbar)
- self.durationSliderLabel = _label_factory(label=_('Duration: '),
- toolbar=self)
+ _insertSeparator(toolbar, 1)
- self.durationSliderAdj = _slider_factory(toolbar=self,
- cb=self.synthLab.handleDuration,
- tooltip=_('Duration'))
+ resetButton = _button_factory(
+ name='sl-reset',
+ toolbar=toolbar,
+ cb=synthLab.handleReset,
+ tooltip=_('Reset the worktable'),
+ toggle=False)
+
+ return durationSliderAdj
+
+
+class mainToolbar(gtk.Toolbar):
+ def __init__(self, toolbox, synthLab):
+ gtk.Toolbar.__init__(self)
+
+ self.durationSliderAdj = main_toolbar_common(self, synthLab)
+
+
+class recordToolbar(gtk.Toolbar):
+ def __init__(self, toolbox, synthLab):
+ gtk.Toolbar.__init__(self)
+
+ def _button_factory(name='', toolbar=None, cb=None, arg=None,
+ tooltip=None, toggle=True):
+ ''' Add a toggle button to a toolbar '''
+ if toggle:
+ button = ToggleToolButton(name)
+ else:
+ button = ToolButton(name)
+ if cb is not None:
+ if arg is None:
+ button.connect('clicked', cb)
+ else:
+ button.connect('clicked', cb, arg)
+ if toolbar is not None:
+ toolbar.insert(button, -1)
+ button.show()
+ if tooltip is not None:
+ button.set_tooltip(tooltip)
+ return button
- self.durationSliderLabelSecond = _label_factory(label=_(' s.'),
- toolbar=self)
+ def _insertSeparator(x=1):
+ for i in range(x):
+ self.separator = gtk.SeparatorToolItem()
+ self.separator.set_draw(False)
+ self.insert(self.separator, -1)
+ self.separator.show()
- _insertSeparator(1)
+ self.toolbox = toolbox
+ self.synthLab = synthLab
if Config.FEATURES_LAB:
self.synthRecButtons = []
@@ -101,15 +146,6 @@ class mainToolbar(gtk.Toolbar):
cb=self.synthLab.recordOgg,
tooltip=_('Record to ogg'))
- _insertSeparator(1)
-
- self.resetButton = _button_factory(
- name='sl-reset',
- toolbar=self,
- cb=self.synthLab.handleReset,
- tooltip=_('Reset the worktable'),
- toggle=False)
-
class presetToolbar(gtk.Toolbar):
def __init__(self,toolbox, synthLab):