]> ruin.nu Git - moosique.git/blobdiff - MooTrackTitle.java
Fixed the scrolling on play!!!
[moosique.git] / MooTrackTitle.java
index 0eb3128db8ccd4f5980cd198afe20840d87ccf3f..7e749f213539d3bc7dd67dc05380669c1e849944 100644 (file)
@@ -1,6 +1,7 @@
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
+import javax.sound.midi.*;
 
 /**
  * The title bar for each track with track name, channel, instrument etc.
@@ -9,32 +10,69 @@ import java.awt.event.*;
  * @version 1
  */
  
-public class MooTrackTitle extends JPanel{
+public class MooTrackTitle extends JPanel {
 
+       private JTextField title;
        private MooInstrumentList instruments;
-       //private JSpinner channel;
+       private JComboBox channel;
        private JCheckBox mute;
        private JCheckBox solo;
        /** 
         * Creates the title bar.
         */
-       public MooTrackTitle () {
-               setLayout(new GridLayout(1,3));
+       public MooTrackTitle (Track track) {
+               setLayout(new GridLayout(4,1));
+               setBorder(BorderFactory.createLineBorder(Color.black));
+
+               setPreferredSize(new Dimension(MooTrackView.VIEW_WIDTH,70));
+               title = new JTextField(); // JTextField(String text, int columns) 
+               title.setFont(Moosique.getGUI().FONT);
+               title.addFocusListener(new TitleFocusListener());
+               add(title);
+
                instruments = new MooInstrumentList();
                add(instruments);
+
+               JPanel checkboxes = new JPanel();
+               checkboxes.setLayout(new GridLayout(1,3));
+
+               channel = new JComboBox();
+               channel.setFont(Moosique.getGUI().FONT);
+               for (int i = 1; i <= 16; i++)
+                       channel.addItem(new Integer(i));
+               channel.addItemListener(new ItemListener(){
+                               public void itemStateChanged(ItemEvent e){
+                                       Object ob = channel.getSelectedItem();
+                                       if (ob instanceof Integer){
+                                               //set channel
+                                       }
+                               }});
+               add(channel);
+               
+
                mute = new JCheckBox("Mute");
+               mute.setFont(Moosique.getGUI().FONT);
                mute.addActionListener(new ActionListener(){
                                public void actionPerformed(ActionEvent event){
                                        //setMute
                                        solo.setSelected(false);
                                }});
-               add(mute);
+               checkboxes.add(mute);
+
                solo = new JCheckBox("Solo");
+               solo.setFont(Moosique.getGUI().FONT);
                solo.addActionListener(new ActionListener(){
                                public void actionPerformed(ActionEvent event){
                                        //setSolo
                                        mute.setSelected(false);
                                }});
-               add(solo);
+               checkboxes.add(solo);
+               add(checkboxes);
+       }
+
+       class TitleFocusListener extends FocusAdapter {
+               public void focusLost(FocusEvent e) {
+                       // Update the MidiEvent containing the title of this track
+               }
        }
 }