X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooTrackTitle.java;h=26c9f32d025300d69b4b09864350ad74758b02f9;hb=c2519798b66989ebdc44b257b038a9a85cee0785;hp=0eb3128db8ccd4f5980cd198afe20840d87ccf3f;hpb=e51ef43d65b5f80706a8f3a470c04ef826641ee4;p=moosique.git diff --git a/MooTrackTitle.java b/MooTrackTitle.java index 0eb3128..26c9f32 100644 --- a/MooTrackTitle.java +++ b/MooTrackTitle.java @@ -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(202,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 + } } }