Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Jam/Picker.py
diff options
context:
space:
mode:
authoramartin <olpc@xo-05-28-21.localdomain>2007-08-01 11:26:00 (GMT)
committer amartin <olpc@xo-05-28-21.localdomain>2007-08-01 11:26:00 (GMT)
commit29e22f05090827be14e2d9cfd29c73a5d0ec9239 (patch)
treeae55826ea3c9c0ee0d09a96a7bde00e865e0fa18 /Jam/Picker.py
parent65f1c3491a68fcf892987d8cba6485054694f4f7 (diff)
Jam Desktop
Diffstat (limited to 'Jam/Picker.py')
-rw-r--r--Jam/Picker.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/Jam/Picker.py b/Jam/Picker.py
new file mode 100644
index 0000000..5c1627b
--- /dev/null
+++ b/Jam/Picker.py
@@ -0,0 +1,51 @@
+
+import pygtk
+pygtk.require( '2.0' )
+import gtk
+
+import Jam.Block as Block
+
+class Picker( gtk.HBox ):
+
+ INSTRUMENTS = 0
+ LOOPS = 1
+ DRUMKITS = 2
+
+ def __init__( self, owner, type, filter = None ):
+ gtk.HBox.__init__( self )
+
+ self.owner = owner
+
+ self.type = type
+ self.filter = filter
+
+ self.desktop = owner.getDesktop()
+
+ # temp
+ dummy = gtk.Button("dummy")
+ dummy.add_events(gtk.gdk.BUTTON_MOTION_MASK)
+ dummy.connect( "button-press-event", self.button_press )
+ dummy.connect( "button-release-event", self.button_release )
+ dummy.connect( "motion-notify-event", self.motion_notify )
+
+ self.pack_start( dummy, False, False )
+
+ def button_press( self, widget, event ):
+ alloc = widget.get_allocation()
+ if self.type == Picker.INSTRUMENTS:
+ blockClass = Block.Instrument
+ blockData = []
+ loc = ( alloc.x + event.x - blockClass.WIDTH_DIV2, -1 )
+ elif self.type == Picker.LOOPS:
+ pass
+ elif self.type == Picker.DRUMKITS:
+ pass
+ self.desktop.addBlock( blockClass, blockData, loc, True )
+
+ def button_release( self, widget, event ):
+ self.desktop.button_release( widget, event )
+
+ def motion_notify( self, widget, event ):
+ self.desktop.motion_notify( widget, event )
+
+