Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Edit/EditToolbars.py
diff options
context:
space:
mode:
Diffstat (limited to 'Edit/EditToolbars.py')
-rw-r--r--Edit/EditToolbars.py221
1 files changed, 221 insertions, 0 deletions
diff --git a/Edit/EditToolbars.py b/Edit/EditToolbars.py
new file mode 100644
index 0000000..67bf1ce
--- /dev/null
+++ b/Edit/EditToolbars.py
@@ -0,0 +1,221 @@
+#!/usr/bin/env python
+
+import gtk
+import Config
+
+from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics.toggletoolbutton import ToggleToolButton
+from sugar.graphics.palette import Palette
+from sugar.graphics.icon import Icon
+from Util.ThemeWidgets import *
+from gettext import gettext as _
+
+class mainToolbar(gtk.Toolbar):
+ def __init__(self,toolbox, edit):
+ gtk.Toolbar.__init__(self)
+
+ def _insertSeparator(x = 1):
+ for i in range(x):
+ self.separator = gtk.SeparatorToolItem()
+ self.separator.set_draw(True)
+ self.insert(self.separator,-1)
+ self.separator.show()
+
+ self.toolbox = toolbox
+ self.edit = edit
+
+ self.tooltips = gtk.Tooltips()
+
+ #Play button
+ self._playPalette = playPalette(_('Play / Stop'), self.edit)
+ self.playButton = ToggleToolButton('play')
+ self.playButton.set_palette(self._playPalette)
+ #self.playButton.connect(None)
+ self.insert(self.playButton, -1)
+ self.playButton.show()
+
+ #Rewind button
+ self.rewindButton = ToggleToolButton('rewind')
+ #self.rewindButton.connect(None)
+ self.insert(self.rewindButton, -1)
+ self.rewindButton.show()
+
+ #Record button
+ self._generationPalette = generationPalette(_('Generation'), self.edit)
+ self.recordButton = ToggleToolButton('record')
+ #self.recordButton.connect(None)
+ self.recordButton.set_palette(self._generationPalette)
+ self.insert(self.recordButton, -1)
+ self.recordButton.show()
+
+ _insertSeparator(2)
+
+ #Pencil button
+ self._pencilPalette = pencilPalette(_('Draw Tool'), self.edit)
+ self.pencilButton = ToggleToolButton('pencil')
+ self.pencilButton.set_palette(self._pencilPalette)
+ #self.pencilButton.connect(None)
+ self.insert(self.pencilButton, -1)
+ self.pencilButton.show()
+
+ _insertSeparator(4)
+
+ #Volume / Tempo button
+ self._volumeTempoPalette = volumeTempoPalette(_('Volume / Tempo'), self.edit)
+ self.volumeTempoButton = ToggleToolButton('voltemp')
+ self.volumeTempoButton.set_palette(self._volumeTempoPalette)
+ #self.volumeTempoButton.connect(None)
+ self.insert(self.volumeTempoButton, -1)
+ self.volumeTempoButton.show()
+
+ #Properties button
+ self._propsPalette = propsPalette(_('Properties'), self.edit)
+ self.propsButton = ToggleToolButton('props')
+ self.propsButton.set_palette(self._propsPalette)
+ #self.propsButton.connect(None)
+ self.insert(self.propsButton, -1)
+ self.propsButton.show()
+
+class playPalette(Palette):
+ def __init__(self, label, edit):
+ Palette.__init__(self, label)
+
+ self.edit = edit
+
+class pencilPalette(Palette):
+ def __init__(self, label, edit):
+ Palette.__init__(self, label)
+
+ self.edit = edit
+
+ self.pencilBox = gtk.VBox()
+
+ self.checkbox = gtk.CheckButton(label = _('Non-continuous'))
+
+ self.timeSigHBox = gtk.HBox()
+ self.timeSigImage = gtk.Image()
+ self.timeSigImage.set_from_file(Config.TAM_TAM_ROOT + '/icons/notedur.svg')
+ self.timeSigBox = gtk.combo_box_new_text()
+ self.timeSigBox.append_text(_('1/2'))
+ self.timeSigBox.append_text(_('1/4'))
+ self.timeSigBox.append_text(_('1/8'))
+ self.timeSigBox.append_text(_('1/16'))
+ self.timeSigBox.append_text(_('1/32'))
+ self.timeSigBox.set_active(0)
+ self.timeSigHBox.pack_start(self.timeSigImage, False, False, padding = 5)
+ self.timeSigHBox.pack_start(self.timeSigBox, False, False, padding = 5)
+
+ self.pencilBox.pack_start(self.checkbox, False, False, padding = 5)
+ self.pencilBox.pack_start(self.timeSigHBox, False, False, padding = 5)
+ self.pencilBox.show_all()
+
+ self.set_content(self.pencilBox)
+
+
+class volumeTempoPalette(Palette):
+ def __init__(self, label, edit):
+ Palette.__init__(self, label)
+
+ self.edit = edit
+
+ self.volumeTempoBox = gtk.VBox()
+
+ self.volumeSliderBox = gtk.HBox()
+ self.volumeSliderLabel = gtk.Label(_('Volume'))
+ self.volumeSliderAdj = gtk .Adjustment(value=0, lower=0, upper=1, step_incr=0.1, page_incr=0, page_size=0)
+ self.volumeSlider = gtk.HScale(adjustment = self.volumeSliderAdj)
+ self.volumeSlider.set_size_request(250,15)
+ self.volumeSlider.set_inverted(False)
+ self.volumeSlider.set_draw_value(False)
+ self.volumeSliderBox.pack_start(self.volumeSliderLabel, False, False, padding = 5)
+ self.volumeSliderBox.pack_end(self.volumeSlider, False, False, padding = 5)
+
+ self.tempoSliderBox = gtk.HBox()
+ self.tempoSliderLabel = gtk.Label(_('Tempo'))
+ self.tempoSliderAdj = gtk.Adjustment(value=0, lower=0, upper=1, step_incr=0.1, page_incr=0, page_size=0)
+ self.tempoSlider = gtk.HScale(adjustment = self.tempoSliderAdj)
+ self.tempoSlider.set_size_request(250,15)
+ self.tempoSlider.set_inverted(False)
+ self.tempoSlider.set_draw_value(False)
+ self.tempoSliderBox.pack_start(self.tempoSliderLabel, False, False, padding = 5)
+ self.tempoSliderBox.pack_end(self.tempoSlider, False, False, padding = 5)
+
+ self.volumeTempoBox.pack_start(self.volumeSliderBox, padding = 5)
+ self.volumeTempoBox.pack_start(self.tempoSliderBox, padding = 5)
+ self.volumeTempoBox.show_all()
+
+ self.set_content(self.volumeTempoBox)
+
+class propsPalette(Palette):
+ def __init__(self, label, edit):
+ Palette.__init__(self, label)
+
+ self.edit = edit
+
+class generationPalette(Palette):
+ def __init__(self, label, edit):
+ Palette.__init__(self, label)
+
+ self.edit = edit
+
+ self.mainBox = gtk.VBox()
+ self.slidersBox = gtk.HBox()
+ self.scaleModeBox = gtk.HBox()
+ self.decisionBox = gtk.HBox()
+
+ self.XYSliderBox1 = RoundFixed(fillcolor = '#CCCCCC', bordercolor = '#000000')
+ self.XYSliderBox1.set_size_request(200,200)
+ self.XYButton1 = ImageToggleButton( Config.TAM_TAM_ROOT + '/icons/XYBut.svg', Config.TAM_TAM_ROOT + '/icons/XYButDown.svg')
+ self.XAdjustment1 = gtk.Adjustment( 1, 0, 100, 1, 1, 1 )
+ self.YAdjustment1 = gtk.Adjustment( 1, 0, 100, 1, 1, 1 )
+ self.XYSlider1 = XYSlider( self.XYSliderBox1, self.XYButton1, self.XAdjustment1, self.YAdjustment1, False, True )
+
+ self.XYSliderBox2 = RoundFixed(fillcolor = '#CCCCCC', bordercolor = '#000000')
+ self.XYSliderBox2.set_size_request(200,200)
+ self.XYButton2 = ImageToggleButton( Config.TAM_TAM_ROOT + '/icons/XYBut.svg', Config.TAM_TAM_ROOT + '/icons/XYButDown.svg')
+ self.XAdjustment2 = gtk.Adjustment( 1, 0, 100, 1, 1, 1 )
+ self.YAdjustment2 = gtk.Adjustment( 1, 0, 100, 1, 1, 1 )
+ self.XYSlider2 = XYSlider( self.XYSliderBox2, self.XYButton2, self.XAdjustment2, self.YAdjustment2, False, True )
+
+ self.XYSliderBox3 = RoundFixed(fillcolor = '#CCCCCC', bordercolor = '#000000')
+ self.XYSliderBox3.set_size_request(200,200)
+ self.XYButton3 = ImageToggleButton( Config.TAM_TAM_ROOT + '/icons/XYBut.svg', Config.TAM_TAM_ROOT + '/icons/XYButDown.svg')
+ self.XAdjustment3 = gtk.Adjustment( 1, 0, 100, 1, 1, 1 )
+ self.YAdjustment3 = gtk.Adjustment( 1, 0, 100, 1, 1, 1 )
+ self.XYSlider3 = XYSlider( self.XYSliderBox3, self.XYButton3, self.XAdjustment3, self.YAdjustment3, False, True )
+
+ self.slidersBox.pack_start(self.XYSlider1, False, False, padding = 5)
+ self.slidersBox.pack_start(self.XYSlider2, False, False, padding = 5)
+ self.slidersBox.pack_start(self.XYSlider3, False, False, padding = 5)
+
+ self.scaleBoxLabel = gtk.Label(_('Scale: '))
+ self.scaleBox = gtk.combo_box_new_text()
+ for scale in [_('Major scale'), _('Harmonic minor scale'), _('Natural minor scale'), _('Phrygian scale'), _('Dorian scale'), _('Lydian scale'), _('Myxolidian scale')]:
+ self.scaleBox.append_text(scale)
+ self.scaleBox.set_active(0)
+
+ self.modeBoxLabel = gtk.Label(_('Mode: '))
+ self.modeBox = gtk.combo_box_new_text()
+ for mode in [_('Drunk'), _('Drone and Jump'), _('Repeater'), _('Loop segments')]:
+ self.modeBox.append_text(mode)
+ self.modeBox.set_active(0)
+
+ self.scaleModeBox.pack_start(self.scaleBoxLabel, False, False, padding = 10)
+ self.scaleModeBox.pack_start(self.scaleBox, False, False, padding = 10)
+ self.scaleModeBox.pack_start(self.modeBoxLabel, False, False, padding = 10)
+ self.scaleModeBox.pack_start(self.modeBox, False, False, padding = 10)
+
+ self.acceptButton = Icon('stock-accept')
+ self.cancelButton = Icon('activity-stop')
+ self.decisionBox.pack_start(self.cancelButton, False, False, padding = 5)
+ self.decisionBox.pack_start(self.acceptButton, False, False, padding = 5)
+
+ self.mainBox.pack_start(self.slidersBox, False, False, padding = 5)
+ self.mainBox.pack_start(self.scaleModeBox, False, False, padding = 5)
+ self.mainBox.pack_start(self.decisionBox, False, False, padding = 5)
+ self.mainBox.show_all()
+
+
+ self.set_content(self.mainBox)
+
+