Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2013-01-15 13:03:20 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2013-01-18 19:59:59 (GMT)
commit54958856d3f85349b750d0f81aac890cfbb02c0d (patch)
tree4d54b2176590b3b6274c76791dee0caca932c00f
parent9ba0c8dc8ecb965894cdc9d12dfb9b83e8992fa8 (diff)
Ported some TamTamEdit toolbars to Gtk3. Fixed part of the TrackInterface
Signed-off-by: Aaron Gordon <aaronsgordon@yahoo.com>
-rw-r--r--Edit/EditToolbars.py86
-rw-r--r--Edit/MainWindow.py56
-rw-r--r--Edit/TrackInterface.py25
-rw-r--r--common/Util/ThemeWidgets.py67
4 files changed, 120 insertions, 114 deletions
diff --git a/Edit/EditToolbars.py b/Edit/EditToolbars.py
index 70cd0b7..9d7eb46 100644
--- a/Edit/EditToolbars.py
+++ b/Edit/EditToolbars.py
@@ -117,7 +117,7 @@ class mainToolbar(Gtk.Toolbar):
self.edit = edit
- #self.tooltips = gtk.Tooltips()
+ #self.tooltips = Gtk.Tooltips()
common_buttons(self, self.edit)
@@ -128,7 +128,7 @@ class generateToolbar(Gtk.Toolbar):
self.edit = edit
- #self.tooltips = gtk.Tooltips()
+ #self.tooltips = Gtk.Tooltips()
# BigGeneration button
self.bigGenerationButton = ToolButton('diceB')
@@ -152,7 +152,7 @@ class recordToolbar(Gtk.Toolbar):
self.edit = edit
- #self.tooltips = gtk.Tooltips()
+ #self.tooltips = Gtk.Tooltips()
# Record button
self.recordButton = ToggleToolButton('recordK')
@@ -176,7 +176,7 @@ class toolsToolbar(Gtk.Toolbar):
self.edit = edit
- #self.tooltips = gtk.Tooltips()
+ #self.tooltips = Gtk.Tooltips()
# Volume / Tempo button
self._volumeTempoPalette = volumeTempoPalette(_('Volume / Tempo'), self.edit)
@@ -353,8 +353,8 @@ class volumeTempoPalette(Palette):
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.pack_start(self.volumeSliderBox, False, False, padding = 5)
+ self.volumeTempoBox.pack_start(self.tempoSliderBox, False, False, padding = 5)
self.volumeTempoBox.show_all()
self.set_content(self.volumeTempoBox)
@@ -391,14 +391,14 @@ class generationPalette(Palette):
self.YSlider1Img = Gtk.Image()
self.YSlider1Img.set_from_file(Config.TAM_TAM_ROOT + '/icons/updownR.svg')
self.YSlider1BottomLabel = Gtk.Label(_('Regularity'))
- self.XYSliderBox1 = RoundFixed(fillcolor = '#CCCCCC', bordercolor = '#000000')
- self.XYSliderBox1.set_size_request(200,200)
+ #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(self.rythmDensity[0] * 100, 0, 100, 1, 1, 1)
self.XAdjustment1.connect("value-changed", self.handleXAdjustment1)
self.YAdjustment1 = Gtk.Adjustment(self.rythmRegularity[0] * 100, 0, 100, 1, 1, 1)
self.YAdjustment1.connect("value-changed", self.handleYAdjustment1)
- self.XYSlider1 = XYSlider( self.XYSliderBox1, self.XYButton1, self.XAdjustment1, self.YAdjustment1, False, True )
+ #self.XYSlider1 = XYSlider( self.XYSliderBox1, self.XYButton1, self.XAdjustment1, self.YAdjustment1, False, True )
self.XSlider1BottomLabelBox.pack_start(self.XSlider1Img, False, False, padding = 5)
self.XSlider1BottomLabelBox.pack_start(self.XSlider1BottomLabel, False, False, padding = 5)
self.YSlider1BottomLabelBox.pack_start(self.YSlider1Img, False, False, padding = 5)
@@ -418,14 +418,14 @@ class generationPalette(Palette):
self.YSlider2Img = Gtk.Image()
self.YSlider2Img.set_from_file(Config.TAM_TAM_ROOT + '/icons/updownR.svg')
self.YSlider2BottomLabel = Gtk.Label(_('Maximum step'))
- self.XYSliderBox2 = RoundFixed(fillcolor = '#CCCCCC', bordercolor = '#000000')
- self.XYSliderBox2.set_size_request(200,200)
+ #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(self.pitchRegularity[0] * 100, 0, 100, 1, 1, 1)
self.XAdjustment2.connect("value-changed", self.handleXAdjustment2)
self.YAdjustment2 = Gtk.Adjustment(self.pitchStep[0] * 100, 0, 100, 1, 1, 1)
self.YAdjustment2.connect("value-changed", self.handleYAdjustment2)
- self.XYSlider2 = XYSlider( self.XYSliderBox2, self.XYButton2, self.XAdjustment2, self.YAdjustment2, False, True )
+ #self.XYSlider2 = XYSlider( self.XYSliderBox2, self.XYButton2, self.XAdjustment2, self.YAdjustment2, False, True )
self.XSlider2BottomLabelBox.pack_start(self.XSlider2Img, False, False, padding = 5)
self.XSlider2BottomLabelBox.pack_start(self.XSlider2BottomLabel, False, False, padding = 5)
self.YSlider2BottomLabelBox.pack_start(self.YSlider2Img, False, False, padding = 5)
@@ -445,14 +445,14 @@ class generationPalette(Palette):
self.YSlider3Img = Gtk.Image()
self.YSlider3Img.set_from_file(Config.TAM_TAM_ROOT + '/icons/updownR.svg')
self.YSlider3BottomLabel = Gtk.Label(_('Silence density'))
- self.XYSliderBox3 = RoundFixed(fillcolor = '#CCCCCC', bordercolor = '#000000')
- self.XYSliderBox3.set_size_request(200,200)
+ #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(self.duration[0] * 100, 0, 100, 1, 1, 1)
self.XAdjustment3.connect("value-changed", self.handleXAdjustment3)
self.YAdjustment3 = Gtk.Adjustment(self.silence[0] * 100, 0, 100, 1, 1, 1)
self.YAdjustment3.connect("value-changed", self.handleYAdjustment3)
- self.XYSlider3 = XYSlider( self.XYSliderBox3, self.XYButton3, self.XAdjustment3, self.YAdjustment3, False, True )
+ #self.XYSlider3 = XYSlider( self.XYSliderBox3, self.XYButton3, self.XAdjustment3, self.YAdjustment3, False, True )
self.XSlider3BottomLabelBox.pack_start(self.XSlider3Img, False, False, padding = 5)
self.XSlider3BottomLabelBox.pack_start(self.XSlider3BottomLabel, False, False, padding = 5)
self.YSlider3BottomLabelBox.pack_start(self.YSlider3Img, False, False, padding = 5)
@@ -822,7 +822,7 @@ class propertiesPalette(Palette):
self.gridDivisionSlider.set_digits(0)
self.gridDivisionSlider.connect('button-release-event', self.handleBeat)
self.gridDivisionSlider.set_size_request(200,-1)
- self.gridDivisionSlider.set_value_pos(Gtk.POS_RIGHT)
+ self.gridDivisionSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.gridDivisionBox.pack_start(self.gridDivisionLabel, False, False, padding = 5)
self.gridDivisionBox.pack_end(self.gridDivisionSlider, False, False, padding = 52)
@@ -876,7 +876,7 @@ class propertiesPalette(Palette):
self.panSliderAdj.connect('value-changed', self.handlePan)
self.panSlider = Gtk.HScale(adjustment = self.panSliderAdj)
self.panSlider.set_size_request(200,-1)
- #self.panSlider.set_value_pos(Gtk.POS_RIGHT)
+ self.panSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.panSlider.set_digits(2)
#self.panSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
self.panCheckButton = Gtk.CheckButton()
@@ -892,7 +892,7 @@ class propertiesPalette(Palette):
self.reverbSliderAdj.connect("value-changed", self.handleReverb)
self.reverbSlider = Gtk.HScale(adjustment = self.reverbSliderAdj)
self.reverbSlider.set_size_request(200,-1)
- #self.reverbSlider.set_value_pos(Gtk.POS_RIGHT)
+ self.reverbSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.reverbSlider.set_digits(2)
#self.reverbSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
self.reverbCheckButton = Gtk.CheckButton()
@@ -908,9 +908,9 @@ class propertiesPalette(Palette):
self.attackDurSliderAdj.connect('value-changed', self.handleAttack)
self.attackDurSlider = Gtk.HScale(adjustment = self.attackDurSliderAdj)
self.attackDurSlider.set_size_request(200,-1)
- #self.attackDurSlider.set_value_pos(gtk.POS_RIGHT)
+ self.attackDurSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.attackDurSlider.set_digits(2)
- #self.attackDurSlider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
+ #self.attackDurSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
self.attackDurCheckButton = Gtk.CheckButton()
self.attackDurCheckButton.connect('toggled', self.handleGeneCheckButton)
self.geneCheckButtonDic['attack'] = self.attackDurCheckButton
@@ -924,9 +924,9 @@ class propertiesPalette(Palette):
self.decayDurSliderAdj.connect('value-changed', self.handleDecay)
self.decayDurSlider = Gtk.HScale(adjustment = self.decayDurSliderAdj)
self.decayDurSlider.set_size_request(200,-1)
- #self.decayDurSlider.set_value_pos(gtk.POS_RIGHT)
+ self.decayDurSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.decayDurSlider.set_digits(2)
- #self.decayDurSlider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
+ #self.decayDurSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
self.decayDurCheckButton = Gtk.CheckButton()
self.decayDurCheckButton.connect('toggled', self.handleGeneCheckButton)
self.geneCheckButtonDic['decay'] = self.decayDurCheckButton
@@ -936,12 +936,12 @@ class propertiesPalette(Palette):
self.filterTypeBox = Gtk.HBox()
self.filterTypeLabel = Gtk.Label(_('Filter Type: '))
- #self.filterTypeComboBox = BigComboBox()
- #for filtertype in self.filterTypes:
- # self.filterTypeComboBox.append_item(self.filterTypes.index(filtertype), filtertype)
- # self.filterTypeComboBox.connect('changed', self.handleFilterTypes)
- #self.filterTypeBox.pack_start(self.filterTypeLabel, False, False, padding = 5)
- #self.filterTypeBox.pack_end(self.filterTypeComboBox, False, False, padding = 55)
+ self.filterTypeComboBox = BigComboBox()
+ for filtertype in self.filterTypes:
+ self.filterTypeComboBox.append_item(self.filterTypes.index(filtertype), filtertype)
+ self.filterTypeComboBox.connect('changed', self.handleFilterTypes)
+ self.filterTypeBox.pack_start(self.filterTypeLabel, False, False, padding = 5)
+ self.filterTypeBox.pack_end(self.filterTypeComboBox, False, False, padding = 55)
self.filterCutoffBox = Gtk.HBox()
self.filterCutoffLabel = \
@@ -950,9 +950,9 @@ class propertiesPalette(Palette):
self.filterCutoffSliderAdj.connect('value-changed', self.handleFilter)
self.filterCutoffSlider = Gtk.HScale(adjustment = self.filterCutoffSliderAdj)
self.filterCutoffSlider.set_size_request(200,-1)
- s#elf.filterCutoffSlider.set_value_pos(gtk.POS_RIGHT)
+ self.filterCutoffSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.filterCutoffSlider.set_digits(0)
- #self.filterCutoffSlider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
+ #self.filterCutoffSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
self.filterCutoffCheckButton = Gtk.CheckButton()
self.filterCutoffCheckButton.connect('toggled', self.handleGeneCheckButton)
self.geneCheckButtonDic['filter'] = self.filterCutoffCheckButton
@@ -966,13 +966,13 @@ class propertiesPalette(Palette):
self.generationTypeBox = Gtk.HBox()
self.generationTypeLabel = Gtk.Label(_('Type') + ': ')
- #self.generationTypeComboBox = BigComboBox()
- #for genetype in self.geneTypes:
- # self.generationTypeComboBox.append_item(self.geneTypes.index(genetype), genetype)
- #self.generationTypeComboBox.connect('changed', self.handleGeneTypes)
- #self.generationTypeComboBox.set_active(0)
- #self.generationTypeBox.pack_start(self.generationTypeLabel, False, False, padding = 5)
- #self.generationTypeBox.pack_end(self.generationTypeComboBox, False, False, padding = 55)
+ self.generationTypeComboBox = BigComboBox()
+ for genetype in self.geneTypes:
+ self.generationTypeComboBox.append_item(self.geneTypes.index(genetype), genetype)
+ self.generationTypeComboBox.connect('changed', self.handleGeneTypes)
+ self.generationTypeComboBox.set_active(0)
+ self.generationTypeBox.pack_start(self.generationTypeLabel, False, False, padding = 5)
+ self.generationTypeBox.pack_end(self.generationTypeComboBox, False, False, padding = 55)
self.minimumBox = Gtk.HBox()
self.minimumLabel = Gtk.Label(_('Minimum') + ': ')
@@ -980,8 +980,8 @@ class propertiesPalette(Palette):
self.minimumSliderAdj.connect('value-changed', self.handleMinimum)
self.minimumSlider = Gtk.HScale(adjustment = self.minimumSliderAdj)
self.minimumSlider.set_size_request(200,-1)
- #self.minimumSlider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
- #self.minimumSlider.set_value_pos(gtk.POS_RIGHT)
+ #self.minimumSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
+ self.minimumSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.minimumSlider.set_digits(0)
self.minimumBox.pack_start(self.minimumLabel, False, False, padding = 5)
self.minimumBox.pack_end(self.minimumSlider, False, False, padding = 52)
@@ -992,8 +992,8 @@ class propertiesPalette(Palette):
self.maximumSliderAdj.connect('value-changed', self.handleMaximum)
self.maximumSlider = Gtk.HScale(adjustment = self.maximumSliderAdj)
self.maximumSlider.set_size_request(200,-1)
- #self.maximumSlider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
- #self.maximumSlider.set_value_pos(gtk.POS_RIGHT)
+ #self.maximumSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
+ self.maximumSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.maximumSlider.set_digits(0)
self.maximumBox.pack_start(self.maximumLabel, False, False, padding = 5)
self.maximumBox.pack_end(self.maximumSlider, False, False, padding = 52)
@@ -1004,8 +1004,8 @@ class propertiesPalette(Palette):
self.randomSliderAdj.connect('value-changed', self.handleRandom)
self.randomSlider = Gtk.HScale(adjustment = self.randomSliderAdj)
self.randomSlider.set_size_request(200,-1)
- #self.randomSlider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
- #self.randomSlider.set_value_pos(gtk.POS_RIGHT)
+ #self.randomSlider.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
+ self.randomSlider.set_value_pos(Gtk.PositionType.RIGHT)
self.randomSlider.set_digits(0)
self.randomBox.pack_start(self.randomLabel, False, False, padding = 5)
self.randomBox.pack_end(self.randomSlider, False, False, padding = 52)
diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py
index 7f15e09..9269a19 100644
--- a/Edit/MainWindow.py
+++ b/Edit/MainWindow.py
@@ -11,11 +11,11 @@ from common.Util import ControlStream
from common.Util.CSoundClient import new_csound_client
from common.Util.CSoundNote import CSoundNote
from common.Config import imagefile
-#from EditToolbars import common_buttons
-#from EditToolbars import mainToolbar
-#from EditToolbars import recordToolbar
-#from EditToolbars import generateToolbar
-#from EditToolbars import toolsToolbar
+from EditToolbars import common_buttons
+from EditToolbars import mainToolbar
+from EditToolbars import recordToolbar
+from EditToolbars import generateToolbar
+from EditToolbars import toolsToolbar
from gettext import gettext as _
from subprocess import Popen
from sugar3.graphics.palette import Palette, Invoker
@@ -294,7 +294,6 @@ class MainWindow(Gtk.EventBox):
#------------------------------------------------------------------------
# tune interface
- # Commented out by Aaron
if 1: # + tune interface
self.GUI["2tuneScrolledWindow"] = HScrolledBox()
self.tuneInterface = TuneInterface( self.noteDB, self, self.GUI["2tuneScrolledWindow"].get_adjustment() )
@@ -407,18 +406,17 @@ class MainWindow(Gtk.EventBox):
# Toolbar
if Config.HAVE_TOOLBOX:
- pass
#from sugar.graphics.toolbarbox import ToolbarButton
- #common_buttons(self.activity.toolbox.toolbar, self)
- #self._activity_toolbar = self.activity.toolbox.toolbar
- #self._play_button = self.activity.toolbox.toolbar.playButton
- #self._stop_button = self.activity.toolbox.toolbar.stopButton
+ common_buttons(self.activity.toolbox.toolbar, self)
+ self._activity_toolbar = self.activity.toolbox.toolbar
+ self._play_button = self.activity.toolbox.toolbar.playButton
+ self._stop_button = self.activity.toolbox.toolbar.stopButton
- #separator = Gtk.SeparatorToolItem()
- #separator.props.draw = True
- #separator.set_expand(False)
- #self.activity.toolbox.toolbar.insert(separator, -1)
+ separator = Gtk.SeparatorToolItem()
+ separator.props.draw = True
+ separator.set_expand(False)
+ self.activity.toolbox.toolbar.insert(separator, -1)
#self._generateToolbar = generateToolbar(self)
#self._generateToolbar.show()
@@ -428,27 +426,27 @@ class MainWindow(Gtk.EventBox):
#generate_toolbar_button.show()
#self.activity.toolbox.toolbar.insert(generate_toolbar_button, -1)
- #self._recordToolbar = recordToolbar(self)
- #self._recordToolbar.show()
- #record_toolbar_button = ToolbarButton(label=_('Record'),
- # page=self._recordToolbar,
- # icon_name='media-record')
- #record_toolbar_button.show()
- #self.activity.toolbox.toolbar.insert(record_toolbar_button, -1)
- #self._record_button = self._recordToolbar.recordButton
+ self._recordToolbar = recordToolbar(self)
+ self._recordToolbar.show()
+ record_toolbar_button = ToolbarButton(label=_('Record'),
+ page=self._recordToolbar,
+ icon_name='media-record')
+ record_toolbar_button.show()
+ self.activity.toolbox.toolbar.insert(record_toolbar_button, -1)
+ self._record_button = self._recordToolbar.recordButton
#self._toolsToolbar = toolsToolbar(self)
#self._toolsToolbar.show()
#tools_toolbar_button = ToolbarButton(label=_('Tools'),
- # page=self._toolsToolbar,
- # icon_name='preferences-system')
+ # page=self._toolsToolbar,
+ # icon_name='preferences-system')
#tools_toolbar_button.show()
#self.activity.toolbox.toolbar.insert(tools_toolbar_button, -1)
- #separator = Gtk.SeparatorToolItem()
- #separator.props.draw = False
- #separator.set_expand(True)
- #self.activity.toolbox.toolbar.insert(separator, -1)
+ separator = Gtk.SeparatorToolItem()
+ separator.props.draw = False
+ separator.set_expand(True)
+ self.activity.toolbox.toolbar.insert(separator, -1)
else:
pass
#self._mainToolbar = mainToolbar(self)
diff --git a/Edit/TrackInterface.py b/Edit/TrackInterface.py
index fbf8084..d7ee42b 100644
--- a/Edit/TrackInterface.py
+++ b/Edit/TrackInterface.py
@@ -134,11 +134,14 @@ class TrackInterface( Gtk.EventBox ):
self.image = {}
- def prepareDrawable( name, width = -1 ):
- #pix = cairo.ImageSurface.create_from_png(imagefile(name + '.png'))
- path = "common/Resources/Images/"
- pix = cairo.ImageSurface.create_from_png(path + name + '.png')
+ def prepareDrawable( name, width ):
+ pix = cairo.ImageSurface.create_from_png(imagefile(name + '.png'))
self.image[name] = pix
+ #surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, pix.get_height())
+ #cxt = cairo.Context(surface)
+ #cxt.scale(1 , 1)
+ # cxt.set_source_surface(pix, 0, 0)
+ #self.image[name] = surface
#if width != -1:
# pix = pix.scale_simple(width, pix.get_height(), gtk.gdk.INTERP_BILINEAR)
#self.image[name] = gtk.gdk.Pixmap( win, pix.get_width(), pix.get_height() )
@@ -1219,12 +1222,14 @@ class TrackInterface( Gtk.EventBox ):
# draw background
if self.owner.getTrackSelected( i ):
- cxt.set_source_surface(self.image["trackBGSelected"], 0, 0)
- cxt.paint()
+ cxt.set_source_surface(self.image["trackBGSelected"], 0, self.trackLimits[i][0])
+ cxt.rectangle(0, self.trackLimits[i][0], self.trackFullWidth, self.trackFullHeight)
+ cxt.fill()
#pixmap.draw_drawable( self.gc, self.image["trackBGSelected"], 0, 0, 0, self.trackLimits[i][0], self.trackFullWidth, self.trackFullHeight )
else:
- cxt.set_source_surface(self.image["trackBG"], 0, 0)
- cxt.paint()
+ cxt.set_source_surface(self.image["trackBG"], 0, self.trackLimits[i][0])
+ cxt.rectangle(0, self.trackLimits[i][0], self.trackFullWidth, self.trackFullHeight)
+ cxt.fill()
#pixmap.draw_drawable( self.gc, self.image["trackBG"], 0, 0, 0, self.trackLimits[i][0], self.trackFullWidth, self.trackFullHeight )
# draw beat lines
@@ -1260,11 +1265,11 @@ class TrackInterface( Gtk.EventBox ):
if resume[1] == 0:
# draw background
if self.owner.getTrackSelected( self.drumIndex ):
- cxt.set_source_surface(self.image["trackBGDrumSelected"], 0, 0)
+ cxt.set_source_surface(self.image["trackBGDrumSelected"], 0, self.trackLimits[self.drumIndex][0])
cxt.paint()
#pixmap.draw_drawable( self.gc, self.image["trackBGDrumSelected"], 0, 0, 0, self.trackLimits[self.drumIndex][0], self.trackFullWidth, self.trackFullHeightDrum )
else:
- cxt.set_source_surface(self.image["trackBGDrum"], 0, 0)
+ cxt.set_source_surface(self.image["trackBGDrum"], 0, self.trackLimits[self.drumIndex][0])
cxt.paint()
#pixmap.draw_drawable( self.gc, self.image["trackBGDrum"], 0, 0, 0, self.trackLimits[self.drumIndex][0], self.trackFullWidth, self.trackFullHeightDrum )
diff --git a/common/Util/ThemeWidgets.py b/common/Util/ThemeWidgets.py
index 4ddcd0f..8d7f5b5 100644
--- a/common/Util/ThemeWidgets.py
+++ b/common/Util/ThemeWidgets.py
@@ -8,6 +8,8 @@ from common.Config import imagefile
from sugar3.graphics.combobox import ComboBox
from sugar3.graphics.palette import Palette, WidgetInvoker
+def gdk_color_to_cairo(color):
+ return (color.red/65536.0, color.green/65536.0, color.blue/65536.0)
class ITYPE:
PIXBUF = 0
@@ -615,11 +617,10 @@ class RoundFixed( Gtk.Fixed ):
self.radius = radius
- colormap = self.get_colormap()
- self.fillcolor = colormap.alloc_color(fillcolor,True,True)
- self.bordercolor = colormap.alloc_color(bordercolor,True,True)
+ self.fillcolor = Gdk.Color.parse(fillcolor)
+ self.bordercolor = Gdk.Color.parse(bordercolor)
- self.connect( "expose-event", self.expose )
+ self.connect( "draw", self.expose )
self.connect( "size-allocate", self.size_allocate )
def update_constants( self ):
@@ -669,49 +670,48 @@ class RoundFixed( Gtk.Fixed ):
self.update_constants()
def set_fill_color( self, color ):
- colormap = self.get_colormap()
- self.fillcolor = colormap.alloc_color(color,True,True)
+ self.fillcolor = Gdk.Color.parse(color)
def set_border_color( self, color ):
- colormap = self.get_colormap()
- self.bordercolor = colormap.alloc_color(color,True,True)
+ self.bordercolor = Gdk.Color.parse(color)
- def expose( self, widget, event ):
+ def expose( self, widget, cr ):
if self.alloc == None: return
#TP.ProfileBegin( "Round*Box::expose" )
+ area = widget.get_allocation()
+ startX = area.x - self.alloc.x
+ startY = area.y - self.alloc.y
+ stopX = startX + area.width
+ stopY = startY + area.height
- style = self.get_style()
- gc = style.fg_gc[gtk.STATE_NORMAL]
-
- startX = event.area.x - self.alloc.x
- startY = event.area.y - self.alloc.y
- stopX = startX + event.area.width
- stopY = startY + event.area.height
-
- saveForeground = gc.foreground
+ #saveForeground = gc.foreground
# Note: could maybe do some optimization to fill only areas that are within the dirty rect, but drawing
# seems to be quite fast compared to python code, so just leave it at clipping by each geometry feature
- gc.foreground = self.bordercolor
+ cr.set_source_rgb(*gdk_color_to_cairo(self.bordercolor))
if self.borderW:
if stopY > self.corner and startY < self.heightMINcorner:
if startX < self.borderW: # draw left border
- self.window.draw_rectangle( gc, True, self.alloc.x, self.yPLUcorner, self.borderW, self.heightMINcornerMUL2 )
+ cr.rectangle(self.alloc.x, self.yPLUcorner, self.borderW, self.heightMINcornerMUL2)
+ cr.fill()
if stopX > self.widthMINborderW: # draw right border
- self.window.draw_rectangle( gc, True, self.xPLUwidthMINborderW, self.yPLUcorner, self.borderW, self.heightMINcornerMUL2 )
+ cr.rectangle(self.xPLUwidthMINborderW, self.yPLUcorner, self.borderW, self.heightMINcornerMUL2)
+ cr.fill()
if stopX > self.corner and startX < self.widthMINcorner:
if startY < self.borderW: # draw top border
- self.window.draw_rectangle( gc, True, self.xPLUcorner, self.alloc.y, self.widthMINcornerMUL2, self.borderW )
+ cr.rectangle(self.xPLUcorner, self.alloc.y, self.widthMINcornerMUL2, self.borderW)
+ cr.fill()
if stopY > self.heightMINborderW: # draw bottom border
- self.window.draw_rectangle( gc, True, self.xPLUcorner, self.yPLUheightMINborderW, self.widthMINcornerMUL2, self.borderW )
+ cr.rectangle(self.xPLUcorner, self.yPLUheightMINborderW, self.widthMINcornerMUL2, self.borderW )
+ cr.fill()
if startX < self.corner:
if startY < self.corner: # draw top left corner
- self.window.draw_rectangle( gc, True, self.alloc.x, self.alloc.y, self.corner, self.corner )
+ cr.rectangle(self.alloc.x, self.alloc.y, self.corner, self.corner )
gc.foreground = self.fillcolor
self.window.draw_arc( gc, True, self.roundX1, self.roundY1, self.roundD, self.roundD, self.rightAngle, self.rightAngle )
gc.foreground = self.bordercolor
@@ -1295,9 +1295,12 @@ class keyButton(Gtk.Button):
class BigComboBox(Gtk.ComboBox):
def __init__(self):
Gtk.ComboBox.__init__(self)
- self._model = Gtk.ListStore(int, str, GdkPixbuf.Pixbuf, bool)
- self.set_model(self._model)
-
+ self.model = Gtk.ListStore(int, str)
+ self.set_model(self.model)
+ self.text_renderer = Gtk.CellRendererText()
+ self.pack_start(self.text_renderer, True)
+ self.add_attribute(self.text_renderer, "text", 1)
+
def append_item(self, action_id, text, icon_name=None, size=None, pixbuf=None):
if (icon_name or pixbuf):
@@ -1310,10 +1313,10 @@ class BigComboBox(Gtk.ComboBox):
self.pack_start(self._icon_renderer, False)
self.add_attribute(self._icon_renderer, 'pixbuf', 2)
- if text:
- self._text_renderer = Gtk.CellRendererText()
- self.pack_end(self._text_renderer, True)
- self.add_attribute(self._text_renderer, 'text', 1)
+ #if text:
+ #self._text_renderer = Gtk.CellRendererText()
+ #self.pack_start(self._text_renderer, True)
+ #self.add_attribute(self._text_renderer, 'text', 1)
if not pixbuf:
if icon_name:
@@ -1328,4 +1331,4 @@ class BigComboBox(Gtk.ComboBox):
else:
pixbuf = None
- self._model.append([action_id, text, pixbuf, False])
+ self.model.append([action_id, text])