+import javax.swing.*;
+import java.awt.*;
+import javax.sound.midi.*;
+
+/*
+ * The add dialog that pops up if the user clicks on the add track menuitem
+ *
+ * @author Björn Lanneskog
+ */
+
+public class MooDialog extends JDialog {
+
+ private JLabel name, whichtoedit;
+ private JTextField textfield;
+ private JComboBox trackList, trackLust;
+ private JButton okbutton, cancelbutton;
+ public static final int ADD_TRACK = 1, DELETE_TRACK = 2, COPY_TRACK = 3, MOVE_TRACK = 4;
+
+ /*
+ * Creates the add dialog
+ */
+ public MooDialog(int type) {
+ super(Moosique.getGUI(), "Add track", false);
+
+ Container pane = getContentPane();
+ pane.setLayout(null);
+
+ Track[] tracks = Moosique.getSequence().getTracks();
+
+ switch (type) {
+ case ADD_TRACK:
+
+ name = new JLabel("Name of track", JLabel.CENTER);
+ pane.add(name);
+ textfield = new JTextField();
+ pane.add(textfield);
+ whichtoedit = new JLabel("Add after", JLabel.CENTER);
+ pane.add(whichtoedit);
+ trackList = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
+ pane.add(trackList);
+ cancelbutton = new JButton("Cancel");
+ pane.add(cancelbutton);
+ okbutton = new JButton("OK");
+ pane.add(okbutton);
+
+ name.setBounds(50, 10, 100, 20);
+ textfield.setBounds(40, 35, 120, 20);
+ whichtoedit.setBounds(50, 70, 100, 20);
+ trackList.setBounds(40, 95, 120, 20);
+ cancelbutton.setBounds(10, 150, 80, 30);
+ okbutton.setBounds(120, 150, 60, 30);
+
+ setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
+ (Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
+ setResizable(false);
+ pack();
+ setSize(200,220);
+ setVisible(true);
+ break;
+
+ case DELETE_TRACK:
+
+ whichtoedit = new JLabel("Delete track", JLabel.CENTER);
+ pane.add(whichtoedit);
+ trackList = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
+ pane.add(trackList);
+ cancelbutton = new JButton("Cancel");
+ pane.add(cancelbutton);
+ okbutton = new JButton("OK");
+ pane.add(okbutton);
+
+ whichtoedit.setBounds(50, 10, 100, 20);
+ trackList.setBounds(40, 35, 120, 20);
+ cancelbutton.setBounds(10, 90, 80, 30);
+ okbutton.setBounds(120, 90, 60, 30);
+
+ setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
+ (Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
+ setResizable(false);
+ pack();
+ setSize(200,165);
+ setVisible(true);
+ break;
+
+ case COPY_TRACK:
+
+ name = new JLabel("Track to copy", JLabel.CENTER);
+ pane.add(name);
+ trackLust = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackLust.addItem("Track " + i);
+ pane.add(trackLust);
+ whichtoedit = new JLabel("Insert after", JLabel.CENTER);
+ pane.add(whichtoedit);
+ trackList = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
+ pane.add(trackList);
+ cancelbutton = new JButton("Cancel");
+ pane.add(cancelbutton);
+ okbutton = new JButton("OK");
+ pane.add(okbutton);
+
+ name.setBounds(50, 10, 100, 20);
+ trackLust.setBounds(40, 35, 120, 20);
+ whichtoedit.setBounds(50, 70, 100, 20);
+ trackList.setBounds(40, 95, 120, 20);
+ cancelbutton.setBounds(10, 150, 80, 30);
+ okbutton.setBounds(120, 150, 60, 30);
+
+ setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
+ (Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
+ setResizable(false);
+ pack();
+ setSize(200,220);
+ setVisible(true);
+ break;
+
+ case MOVE_TRACK:
+
+ name = new JLabel("Track to move", JLabel.CENTER);
+ pane.add(name);
+ trackLust = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackLust.addItem("Track " + i);
+ pane.add(trackLust);
+ whichtoedit = new JLabel("Insert after", JLabel.CENTER);
+ pane.add(whichtoedit);
+ trackList = new JComboBox();
+ for (int i = 1; i <= tracks.length; i++) trackList.addItem("Track " + i);
+ pane.add(trackList);
+ cancelbutton = new JButton("Cancel");
+ pane.add(cancelbutton);
+ okbutton = new JButton("OK");
+ pane.add(okbutton);
+
+ name.setBounds(40, 10, 120, 20);
+ trackLust.setBounds(40, 35, 120, 20);
+ whichtoedit.setBounds(50, 70, 100, 20);
+ trackList.setBounds(40, 95, 120, 20);
+ cancelbutton.setBounds(10, 150, 80, 30);
+ okbutton.setBounds(120, 150, 60, 30);
+
+ setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth()) / 2,
+ (Toolkit.getDefaultToolkit().getScreenSize().height - this.getHeight()) / 2);
+ setResizable(false);
+ pack();
+ setSize(200,220);
+ setVisible(true);
+ break;
+ }
+
+
+
+
+
+ }
+
+}