]> ruin.nu Git - moosique.git/blob - MooTrackTitle.java
better tracktitle..
[moosique.git] / MooTrackTitle.java
1 import javax.swing.*;
2 import java.awt.*;
3 import java.awt.event.*;
4 import javax.sound.midi.*;
5
6 /**
7  * The title bar for each track with track name, channel, instrument etc.
8  * 
9  * @author  Andersson, Andreen, Lanneskog, Pehrson
10  * @version 1
11  */
12  
13 public class MooTrackTitle extends JPanel {
14
15         private JTextField title;
16         private MooInstrumentList instruments;
17         private JComboBox channel;
18         private JCheckBox mute;
19         private JCheckBox solo;
20         /** 
21          * Creates the title bar.
22          */
23         public MooTrackTitle (Track track) {
24                 setLayout(new GridLayout(4,1));
25                 setBorder(BorderFactory.createLineBorder(Color.black));
26
27                 setPreferredSize(new Dimension(MooTrackView.VIEW_WIDTH,70));
28                 title = new JTextField(); // JTextField(String text, int columns) 
29                 title.setFont(Moosique.getGUI().FONT);
30                 title.addFocusListener(new TitleFocusListener());
31                 add(title);
32
33                 instruments = new MooInstrumentList();
34                 add(instruments);
35
36                 JPanel checkboxes = new JPanel();
37                 checkboxes.setLayout(new GridLayout(1,3));
38
39                 channel = new JComboBox();
40                 channel.setFont(Moosique.getGUI().FONT);
41                 for (int i = 1; i <= 16; i++)
42                         channel.addItem(new Integer(i));
43                 channel.addItemListener(new ItemListener(){
44                                 public void itemStateChanged(ItemEvent e){
45                                         Object ob = channel.getSelectedItem();
46                                         if (ob instanceof Integer){
47                                                 //set channel
48                                         }
49                                 }});
50                 add(channel);
51                 
52
53                 mute = new JCheckBox("Mute");
54                 mute.setFont(Moosique.getGUI().FONT);
55                 mute.addActionListener(new ActionListener(){
56                                 public void actionPerformed(ActionEvent event){
57                                         //setMute
58                                         solo.setSelected(false);
59                                 }});
60                 checkboxes.add(mute);
61
62                 solo = new JCheckBox("Solo");
63                 solo.setFont(Moosique.getGUI().FONT);
64                 solo.addActionListener(new ActionListener(){
65                                 public void actionPerformed(ActionEvent event){
66                                         //setSolo
67                                         mute.setSelected(false);
68                                 }});
69                 checkboxes.add(solo);
70                 add(checkboxes);
71         }
72
73         class TitleFocusListener extends FocusAdapter {
74                 public void focusLost(FocusEvent e) {
75                         // Update the MidiEvent containing the title of this track
76                 }
77         }
78 }