diff options
author | Oli <olivier.belanger@umontreal.ca> | 2007-07-18 23:04:17 (GMT) |
---|---|---|
committer | Oli <olivier.belanger@umontreal.ca> | 2007-07-18 23:04:17 (GMT) |
commit | 79b3ce7fff88482831a145d7563460389f7de755 (patch) | |
tree | a3520966de0fa53ff48141b24263e374078b4e95 /Util/LoopSettings.py | |
parent | 35b82de22268990060c45d495c7f5561048577e9 (diff) |
loop settings
Diffstat (limited to 'Util/LoopSettings.py')
-rw-r--r-- | Util/LoopSettings.py | 54 |
1 files changed, 45 insertions, 9 deletions
diff --git a/Util/LoopSettings.py b/Util/LoopSettings.py index acbdecf..f953c0c 100644 --- a/Util/LoopSettings.py +++ b/Util/LoopSettings.py @@ -1,15 +1,17 @@ import pygtk pygtk.require('2.0') import gtk +import os from Util.ThemeWidgets import * import Config Tooltips = Config.Tooltips() class LoopSettings( gtk.VBox ): - def __init__( self, popup ): + def __init__( self, popup, playFunction ): gtk.VBox.__init__( self ) self.tooltips = gtk.Tooltips() self.popup = popup + self.playFunction = playFunction self.settingsBox = gtk.HBox() self.pack_start(self.settingsBox) @@ -38,18 +40,31 @@ class LoopSettings( gtk.VBox ): categoryBox = gtk.HBox() categoryMenu = gtk.MenuBar() - menu = gtk.Menu() + cmenu = gtk.Menu() for cat in Config.CATEGORIES: if cat != 'all': entry = gtk.MenuItem(cat) - menu.append(entry) + cmenu.append(entry) entry.connect("activate", self.handleCategory, cat) entry.show() - #categoryBox.pack_start(categoryMenu) self.categoryButton = gtk.Button("Category") - self.categoryButton.connect_object("event", self.categoryBtnPress, menu) + self.categoryButton.connect_object("event", self.categoryBtnPress, cmenu) categoryBox.pack_end(self.categoryButton) self.mainBox.pack_start(categoryBox, False, False, 5) + + registerBox = gtk.HBox() + registerMenu = gtk.MenuBar() + rmenu = gtk.Menu() + self.registerList = ['LOW', 'MID', 'HIGH', 'PUNCH'] + for reg in self.registerList: + entry = gtk.MenuItem(reg) + rmenu.append(entry) + entry.connect("activate", self.handleRegister, self.registerList.index(reg)) + entry.show() + self.registerButton = gtk.Button("Register") + self.registerButton.connect_object("event", self.registerBtnPress, rmenu) + registerBox.pack_end(self.registerButton) + self.mainBox.pack_start(registerBox, False, False, 5) startBox = gtk.VBox() self.startAdjust = gtk.Adjustment( 0.01, 0, 0.5, .01, .01, 0) @@ -88,14 +103,23 @@ class LoopSettings( gtk.VBox ): self.handleDur( self.durAdjust ) durBox.pack_start(self.GUI['durSlider'], True, True, 5) durBox.pack_start(self.durEntry, True, True, 5) - self.controlsBox.pack_start(durBox) + self.controlsBox.pack_start(durBox) - #self.mainBox.pack_start(nameBox) self.mainBox.pack_start(self.controlsBox, False, False, 5) + + previewBox = gtk.VBox() + self.playStopButton = ImageToggleButton(Config.IMAGE_ROOT + 'miniplay.png', Config.IMAGE_ROOT + 'stop.png') + self.playStopButton.connect('button-press-event' , self.handlePlayButton) + previewBox.pack_start(self.playStopButton) + self.mainBox.pack_start(previewBox, False, False, 5) + self.fixed.put( self.mainBox, 0, 0 ) self.show_all() + def set_name(self, name): + self.nameEntry.set_text(name) + def categoryBtnPress(self, widget, event): if event.type == gtk.gdk.BUTTON_PRESS: widget.popup(None, None, None, event.button, event.time) @@ -105,7 +129,16 @@ class LoopSettings( gtk.VBox ): def handleCategory(self, widget, category): self.category = category self.categoryButton.set_label(self.category) - + + def registerBtnPress(self, widget, event): + if event.type == gtk.gdk.BUTTON_PRESS: + widget.popup(None, None, None, event.button, event.time) + return True + return False + + def handleRegister(self, widget, register): + self.register = register + self.registerButton.set_label(self.registerList[self.register]) def handleStart(self, widget, data=None): self.startEntry.set_text(str(self.startAdjust.value)) @@ -114,4 +147,7 @@ class LoopSettings( gtk.VBox ): self.endEntry.set_text(str(self.endAdjust.value)) def handleDur(self, widget, data=None): - self.durEntry.set_text(str(self.durAdjust.value))
\ No newline at end of file + self.durEntry.set_text(str(self.durAdjust.value)) + + def handlePlayButton(self, widget, data=None): + self.playFunction(widget.get_active())
\ No newline at end of file |