From d9c50468c3f5f5e430b4d490f14c3c35c226c81a Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Wed, 17 Dec 2008 04:12:05 +0000 Subject: adapt to non-XO resolution --- diff --git a/TamTamEdit.activity/Edit/MainWindow.py b/TamTamEdit.activity/Edit/MainWindow.py index bb81391..952a799 100644 --- a/TamTamEdit.activity/Edit/MainWindow.py +++ b/TamTamEdit.activity/Edit/MainWindow.py @@ -138,11 +138,14 @@ class MainWindow( gtk.EventBox ): #------------------------------------------------------------------------ # page self.GUI["2page"] = gtk.HBox() - self.GUI["2main"].pack_start( self.GUI["2page"], False ) + self.scrollWin = gtk.ScrolledWindow() + self.scrollWin.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC) + self.scrollWin.add_with_viewport(self.GUI["2page"]) + self.GUI["2main"].pack_start( self.scrollWin, True ) + if 1: # + instrument panel self.GUI["2instrumentPanel"] = gtk.VBox() - self.GUI["2instrumentPanel"].set_size_request( 132, -1 ) - self.GUI["2page"].pack_start( self.GUI["2instrumentPanel"], False ) + self.GUI["2page"].pack_start( self.GUI["2instrumentPanel"], True ) # + + instrument 1 box self.GUI["2instrument1Box"] = formatRoundBox( RoundHBox(), Config.BG_COLOR ) self.GUI["2instrument1Box"].set_size_request( -1, 132 ) @@ -259,12 +262,13 @@ class MainWindow( gtk.EventBox ): self.GUI["2drumButton"].connect('button-release-event',self.GUI["2drumPalette"].setBlock) self.GUI["2drumBox"].pack_start( self.GUI["2drumButton"] ) self.GUI["2instrumentPanel"].pack_start( self.GUI["2drumBox"] ) - self.GUI["2page"].pack_start( self.GUI["2instrumentPanel"], False ) + self.GUI["2page"].pack_start( self.GUI["2instrumentPanel"], True ) # + track interface - self.trackInterface = TrackInterface( self.noteDB, self, self.getScale ) + tracks_width = gtk.gdk.screen_width() - 140 + self.trackInterface = TrackInterface( self.noteDB, self, self.getScale, tracks_width ) self.noteDB.addListener( self.trackInterface, TrackInterfaceParasite, True ) - self.trackInterface.set_size_request( 1068, 693 ) - self.GUI["2page"].pack_start( self.trackInterface, False, False ) + self.trackInterface.set_size_request( tracks_width, -1 ) + self.GUI["2page"].pack_start( self.trackInterface, False ) #------------------------------------------------------------------------ # tune interface @@ -289,7 +293,8 @@ class MainWindow( gtk.EventBox ): self.GUI["2tuneScrollRightButton"].set_size_request( 25, -1 ) self.GUI["2tuneScrollRightButton"].connect( "clicked", lambda a1:self.scrollTune( 1 ) ) self.GUI["2tuneHBox"].pack_start( self.GUI["2tuneScrollRightButton"], False, False ) - self.GUI["2main"].pack_start( self.GUI["2tuneHBox"] ) + self.GUI["2tuneHBox"].set_size_request(-1, 100) + self.GUI["2main"].pack_start( self.GUI["2tuneHBox"], False, True ) # set tooltips for key in self.GUI: diff --git a/TamTamEdit.activity/Edit/TrackInterface.py b/TamTamEdit.activity/Edit/TrackInterface.py index 34883c0..996c731 100644 --- a/TamTamEdit.activity/Edit/TrackInterface.py +++ b/TamTamEdit.activity/Edit/TrackInterface.py @@ -44,7 +44,7 @@ class TrackInterfaceParasite: class TrackInterface( gtk.EventBox ): - def __init__( self, noteDB, owner, getScaleFunction ): + def __init__( self, noteDB, owner, getScaleFunction, width ): gtk.EventBox.__init__( self ) self.noteDB = noteDB @@ -127,14 +127,16 @@ class TrackInterface( gtk.EventBox ): win = gtk.gdk.get_default_root_window() self.gc = gtk.gdk.GC( win ) - def prepareDrawable( name ): + def prepareDrawable( name, width = -1 ): pix = gtk.gdk.pixbuf_new_from_file( Config.IMAGE_ROOT+name+".png" ) + 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() ) self.image[name].draw_pixbuf( self.gc, pix, 0, 0, 0, 0, pix.get_width(), pix.get_height(), gtk.gdk.RGB_DITHER_NONE ) def preparePixbuf( name ): self.image[name] = gtk.gdk.pixbuf_new_from_file( Config.IMAGE_ROOT+name+".png" ) - prepareDrawable( "trackBG" ) + prepareDrawable( "trackBG", width ) prepareDrawable( "trackBGSelected" ) prepareDrawable( "trackBGDrum" ) prepareDrawable( "trackBGDrumSelected" ) @@ -144,7 +146,7 @@ class TrackInterface( gtk.EventBox ): preparePixbuf( "hitSelected" ) # define dimensions - self.width = self.trackFullWidth = self.image["trackBG"].get_size()[0] + self.width = self.trackFullWidth = width self.trackWidth = self.width - Config.TRACK_SPACING self.trackFullHeight = self.image["trackBG"].get_size()[1] self.trackHeight = self.trackFullHeight - Config.TRACK_SPACING diff --git a/TamTamMini.activity/Mini/InstrumentPanel.py b/TamTamMini.activity/Mini/InstrumentPanel.py index 103c6f4..1b80347 100644 --- a/TamTamMini.activity/Mini/InstrumentPanel.py +++ b/TamTamMini.activity/Mini/InstrumentPanel.py @@ -10,6 +10,7 @@ import common.Config as Config from common.Util.ThemeWidgets import * from common.Util import InstrumentDB +InstrumentSize = 110 Tooltips = Config.Tooltips class InstrumentPanel( gtk.EventBox ): @@ -31,13 +32,16 @@ class InstrumentPanel( gtk.EventBox ): self.loadStage = [0,0,0] if force_load: self.load() - def configure( self, setInstrument = None, playInstrument = None, enterMode = False, micRec = None, synthRec = None, rowLen = 8 ): + def configure( self, setInstrument = None, playInstrument = None, enterMode = False, micRec = None, synthRec = None, rowLen = 8, width = -1 ): self.setInstrument = setInstrument self.playInstrument = playInstrument self.enterMode = enterMode self.micRec = micRec + if width != -1: + rowLen = width / InstrumentSize + if self.rowLen != rowLen: self.rowLen = rowLen self.prepareInstrumentTable( self.category ) diff --git a/TamTamMini.activity/Mini/miniTamTamMain.py b/TamTamMini.activity/Mini/miniTamTamMain.py index 395bd7d..a71463a 100644 --- a/TamTamMini.activity/Mini/miniTamTamMain.py +++ b/TamTamMini.activity/Mini/miniTamTamMain.py @@ -88,7 +88,6 @@ class miniTamTamMain(gtk.EventBox): self.masterVBox = gtk.VBox() self.mainWindowBox = gtk.HBox() self.leftBox = gtk.VBox() - self.leftBox.set_size_request(948,-1) self.rightBox = gtk.VBox() self.mainWindowBox.pack_start(self.rightBox,True,True) self.mainWindowBox.pack_start(self.leftBox,False,False) @@ -174,7 +173,7 @@ class miniTamTamMain(gtk.EventBox): self.geneAdjustment = gtk.Adjustment(value=self.regularity, lower=0, upper=1, step_incr=0.01, page_incr=0, page_size=0) self.geneSlider = ImageVScale( Config.IMAGE_ROOT + "sliderbutbleu.png", self.geneAdjustment, 5 ) self.geneSlider.set_inverted(False) - self.geneSlider.set_size_request(15,305) + self.geneSlider.set_size_request(15,-1) self.geneAdjustment.connect("value_changed" , self.handleGenerationSlider) self.geneSlider.connect("button-release-event", self.handleGenerationSliderRelease) geneSliderBox.pack_start(self.geneSliderBoxImgTop, False, padding=10) @@ -187,7 +186,7 @@ class miniTamTamMain(gtk.EventBox): self.beatAdjustment = gtk.Adjustment(value=self.beat, lower=2, upper=12, step_incr=1, page_incr=0, page_size=0) self.beatSlider = ImageVScale( Config.IMAGE_ROOT + "sliderbutjaune.png", self.beatAdjustment, 5, snap = 1 ) self.beatSlider.set_inverted(True) - self.beatSlider.set_size_request(15,305) + self.beatSlider.set_size_request(15,-1) self.beatAdjustment.connect("value_changed" , self.handleBeatSlider) self.beatSlider.connect("button-release-event", self.handleBeatSliderRelease) beatSliderBox.pack_start(self.beatSliderBoxImgTop, False, padding=10) @@ -203,7 +202,7 @@ class miniTamTamMain(gtk.EventBox): self.tempoAdjustment = gtk.Adjustment(value=self.tempo, lower=Config.PLAYER_TEMPO_LOWER, upper=Config.PLAYER_TEMPO_UPPER, step_incr=1, page_incr=1, page_size=1) tempoSlider = ImageVScale( Config.IMAGE_ROOT + "sliderbutvert.png", self.tempoAdjustment, 5) tempoSlider.set_inverted(True) - tempoSlider.set_size_request(15,305) + tempoSlider.set_size_request(15,-1) self.tempoAdjustmentHandler = self.tempoAdjustment.connect("value_changed" , self.handleTempoSliderChange) tempoSlider.connect("button-press-event", self.handleTempoSliderPress) tempoSlider.connect("button-release-event", self.handleTempoSliderRelease) @@ -217,7 +216,7 @@ class miniTamTamMain(gtk.EventBox): self.volumeAdjustment = gtk.Adjustment(value=self.volume, lower=0, upper=200, step_incr=1, page_incr=1, page_size=1) volumeSlider = ImageVScale( Config.IMAGE_ROOT + "sliderbutbleu.png", self.volumeAdjustment, 5) volumeSlider.set_inverted(True) - volumeSlider.set_size_request(15,305) + volumeSlider.set_size_request(15,-1) self.volumeAdjustment.connect("value_changed" , self.handleVolumeSlider) #volumeSlider.connect("button-release-event", self.handleVolumeSliderRelease) volumeSliderBox.pack_start(self.volumeSliderBoxImgTop, False, padding=10) @@ -246,7 +245,6 @@ class miniTamTamMain(gtk.EventBox): generateBtn = ImageButton(Config.IMAGE_ROOT + 'dice.png', clickImg_path = Config.IMAGE_ROOT + 'diceblur.png') generateBtn.connect('button-press-event', self.handleGenerateBtn) generateBtnSub.pack_start(generateBtn) - slidersBox.pack_start(generateBtnSub) self.tooltips.set_tip(generateBtn,Tooltips.GEN) #Generation Button Box @@ -270,6 +268,7 @@ class miniTamTamMain(gtk.EventBox): generationDrumBtn5 = ImageRadioButton(group = generationDrumBtn1 , mainImg_path = Config.IMAGE_ROOT + 'drum5kit.png' , altImg_path = Config.IMAGE_ROOT + 'drum5kitselgen.png') generationDrumBtn5.connect('clicked' , self.handleGenerationDrumBtn , 'drum5kit') geneMidBox.pack_start(generationDrumBtn5, True) + geneVBox.pack_start(generateBtnSub, True) geneVBox.pack_start(geneTopBox, True) geneVBox.pack_start(geneMidBox, True) geneVBox.pack_start(geneLowBox, True) @@ -281,7 +280,12 @@ class miniTamTamMain(gtk.EventBox): self.tooltips.set_tip(generationDrumBtn5,Tooltips.BRES) self.rightBox.pack_start(slidersBox, True) - self.rightBox.pack_start(geneButtonBox, True) + self.rightBox.pack_start(geneButtonBox, False) + + drum_size = generationDrumBtn1.get_size_request() + geneButtonBox.set_size_request(-1, drum_size[1]*3 + + max(generateBtn.get_size_request()[1], self.playButton.get_size_request()[1])) + self.rightBox.set_size_request(drum_size[0]*3, -1) def loopSettingsChannel(self, channel, value): self.csnd.setChannel(channel, value) @@ -307,7 +311,8 @@ class miniTamTamMain(gtk.EventBox): self.leftBox.pack_start(self.instrumentPanelBox,True,True,6) def setInstrumentPanel( self, instrumentPanel ): - instrumentPanel.configure( self.setInstrument,self.playInstrumentNote, False, self.micRec ) + width = gtk.gdk.screen_width() - self.rightBox.get_size_request()[0] + instrumentPanel.configure( self.setInstrument,self.playInstrumentNote, False, self.micRec, width = width ) self.instrumentPanel = instrumentPanel self.instrumentPanelBox.pack_start( instrumentPanel ) diff --git a/TamTamSynthLab.activity/SynthLab/SynthLabMain.py b/TamTamSynthLab.activity/SynthLab/SynthLabMain.py index 9bc56c3..6e1b918 100644 --- a/TamTamSynthLab.activity/SynthLab/SynthLabMain.py +++ b/TamTamSynthLab.activity/SynthLab/SynthLabMain.py @@ -25,6 +25,7 @@ from SynthLab.SynthLabToolbars import mainToolbar from SynthLab.SynthLabToolbars import presetToolbar from common.Util.Trackpad import Trackpad from sugar.datastore import datastore +from sugar.graphics import style as_window = False @@ -124,8 +125,7 @@ class SynthLabMain(gtk.EventBox): self.drawingBox.set_border_width(0) self.infoBox = RoundVBox( 10, Config.TOOLBAR_BCK_COLOR, Config.TOOLBAR_BCK_COLOR ) self.infoBox.set_border_width(Config.PANEL_SPACING) - self.infoBox.set_size_request(300, 750) - self.subBox.pack_start(self.drawingBox, True, True) + self.subBox.pack_start(self.drawingBox, False, True) self.subBox.pack_start(self.infoBox, True, True) self.mainBox.pack_start(self.subBox) @@ -183,7 +183,7 @@ class SynthLabMain(gtk.EventBox): self.slider1.connect("enter-notify-event", self.handleSliderEnter, 1) self.slider1.set_digits(slider1Snap) self.slider1.set_inverted(True) - self.slider1.set_size_request(55, sliderHeight) + self.slider1.set_size_request(-1, sliderHeight) self.slider1.modify_fg(gtk.STATE_NORMAL, sliderTextColor) slidersBox.pack_start(self.slider1, True, False) @@ -195,7 +195,7 @@ class SynthLabMain(gtk.EventBox): self.slider2.connect("enter-notify-event", self.handleSliderEnter, 2) self.slider2.set_digits(slider2Snap) self.slider2.set_inverted(True) - self.slider2.set_size_request(55, sliderHeight) + self.slider2.set_size_request(-1, sliderHeight) self.slider2.modify_fg(gtk.STATE_NORMAL, sliderTextColor) slidersBox.pack_start(self.slider2, True, False) @@ -207,7 +207,7 @@ class SynthLabMain(gtk.EventBox): self.slider3.connect("enter-notify-event", self.handleSliderEnter, 3) self.slider3.set_digits(slider3Snap) self.slider3.set_inverted(True) - self.slider3.set_size_request(55, sliderHeight) + self.slider3.set_size_request(-1, sliderHeight) self.slider3.modify_fg(gtk.STATE_NORMAL, sliderTextColor) slidersBox.pack_start(self.slider3, True, False) @@ -219,19 +219,17 @@ class SynthLabMain(gtk.EventBox): self.slider4.connect("enter-notify-event", self.handleSliderEnter, 4) self.slider4.set_digits(2) self.slider4.set_inverted(True) - self.slider4.set_size_request(55, sliderHeight) + self.slider4.set_size_request(-1, sliderHeight) self.slider4.modify_fg(gtk.STATE_NORMAL, sliderTextColor) slidersBox.pack_start(self.slider4, True, False) self.infoBox.pack_start(slidersBox, False, False, 5) self.infoText = 'ADSR envelope apply on the overall signal' - textBox = gtk.HBox() text_color = gtk.gdk.color_parse(Config.WHITE_COLOR) text_bg_color = gtk.gdk.color_parse(Config.TOOLBAR_BCK_COLOR) textScroller = gtk.ScrolledWindow() textScroller.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) - textScroller.set_size_request(270, 301) self.textBuf = gtk.TextBuffer(None) self.textBuf.set_text(self.infoText) self.textViewer = gtk.TextView(self.textBuf) @@ -250,16 +248,16 @@ class SynthLabMain(gtk.EventBox): self.textViewer.set_pixels_above_lines(7) self.textViewer.set_justification(gtk.JUSTIFY_LEFT) textScroller.add(self.textViewer) - textBox.pack_start(textScroller, False, False, 10) - self.infoBox.pack_start(textBox, False, False, 5) + self.infoBox.pack_start(textScroller, True, True, 5) self.infoLabel = gtk.Label() - self.infoBox.pack_end(self.infoLabel, False, False, 20) + self.infoLabel.set_size_request(-1, style.FONT_NORMAL_H*2) + self.infoBox.pack_end(self.infoLabel, False, False, 5) textColor = gtk.gdk.color_parse(Config.WHITE_COLOR) self.infoLabel.set_justify(gtk.JUSTIFY_LEFT) self.infoLabel.modify_fg(gtk.STATE_NORMAL, textColor) - self.drawingAreaWidth = 900 + self.drawingAreaWidth = gtk.gdk.screen_width() - 250 self.drawingAreaHeight = 750 self.separatorY = 660 @@ -299,7 +297,12 @@ class SynthLabMain(gtk.EventBox): self.drawingArea.connect( "button-release-event", self.handleButtonRelease ) self.drawingArea.connect( "motion-notify-event", self.handleMotion ) self.drawingArea.connect("expose-event", self.draw) - self.drawingBox.pack_start(self.drawingArea, False, False, 0) + + self.scrollWin = gtk.ScrolledWindow() + self.scrollWin.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC) + self.scrollWin.add_with_viewport(self.drawingArea) + + self.drawingBox.pack_start(self.scrollWin, True, True, 0) tempFile = 'synthTemp' if tempFile in os.listdir(Config.TMP_DIR): @@ -319,14 +322,17 @@ class SynthLabMain(gtk.EventBox): def select(self, i): self.sliderGate = False + + self.invalidate_rect( self.bounds[i][0], self.bounds[i][1]-2, SynthLabConstants.PIC_SIZE, SynthLabConstants.PIC_SIZE_HIGHLIGHT ) if i == self.instanceID: return + self.new = False - if self.instanceID > 0: + if self.instanceID != 12: self.invalidate_rect( self.bounds[self.instanceID][0], self.bounds[self.instanceID][1]-2, SynthLabConstants.PIC_SIZE, SynthLabConstants.PIC_SIZE_HIGHLIGHT ) self.instanceID = i - self.invalidate_rect( self.bounds[i][0], self.bounds[i][1]-2, SynthLabConstants.PIC_SIZE, SynthLabConstants.PIC_SIZE_HIGHLIGHT ) + self.objComboBox.set_active(-1) if self.instanceID / 4 != self.objectType: self.objectType = self.instanceID / 4 self.objComboBox.remove_all() @@ -346,6 +352,8 @@ class SynthLabMain(gtk.EventBox): self.sliderGate = True def changeObject(self, widget): + if widget.get_active() == -1: + return self.choosenType = widget.props.value if self.sliderGate: self.new = True self.resize() -- cgit v0.9.1