+/**
+ * Moosiques GUI representing a menubar, menus and menuitems
+ *
+ * @author Björn Lanneskog
+ */
+public class MooMenu extends JMenuBar implements ActionListener {
+
+ private JMenu file, edit, playback, music, help;
+ private JFileChooser chooser;
+ private File directory;
+
+ /**
+ * Creates the menu bar.
+ */
+ public MooMenu() {
+ file = createMenu("File", KeyEvent.VK_F);
+ add(file);
+
+ addItem(file, "New", KeyEvent.VK_N, ActionEvent.CTRL_MASK);
+ addItem(file, "Open...", KeyEvent.VK_O, ActionEvent.CTRL_MASK);
+ addItem(file, "Save", KeyEvent.VK_S, ActionEvent.CTRL_MASK);
+ addItem(file, "Save as...");
+ addItem(file, "Exit", KeyEvent.VK_Q, ActionEvent.CTRL_MASK);
+
+ edit = createMenu("Edit", KeyEvent.VK_E);
+ add(edit);
+
+ addItem(edit, "Copy", KeyEvent.VK_C, ActionEvent.CTRL_MASK);
+ addItem(edit, "Cut", KeyEvent.VK_X, ActionEvent.CTRL_MASK);
+ addItem(edit, "Paste", KeyEvent.VK_V, ActionEvent.CTRL_MASK);
+ addItem(edit, "Select all", KeyEvent.VK_E, ActionEvent.CTRL_MASK);
+ addItem(edit, "Invert selection", KeyEvent.VK_I, ActionEvent.CTRL_MASK);
+ edit.addSeparator();
+ addItem(edit, "Preferences...", KeyEvent.VK_P, ActionEvent.CTRL_MASK);
+
+ playback = createMenu("Playback", KeyEvent.VK_P);
+ add(playback);
+
+ addItem(playback, "Play", "F5");
+ addItem(playback, "Pause", "F7");
+ addItem(playback, "Stop", "F6");
+ addItem(playback, "Jump...");
+
+ music = createMenu("Music", KeyEvent.VK_M);
+ add(music);
+
+ addItem(music, "Add track...", KeyEvent.VK_A, ActionEvent.CTRL_MASK);
+ addItem(music, "Delete track...", KeyEvent.VK_D, ActionEvent.CTRL_MASK);
+ addItem(music, "Copy track...", KeyEvent.VK_Y, ActionEvent.CTRL_MASK);
+ addItem(music, "Move track...", KeyEvent.VK_M, ActionEvent.CTRL_MASK);
+ edit.addSeparator();
+ addItem(music, "Insert measure...");
+ addItem(music, "Delete measure...");
+ edit.addSeparator();
+ addItem(music, "Set time signature...");
+ addItem(music, "Set tempo...");
+ addItem(music, "Scale velocity...");
+ addItem(music, "Transpose...");
+
+ help = createMenu("Help", KeyEvent.VK_L);
+ add(help);
+
+ addItem(help, "Contents", "F1");
+ addItem(help, "Getting started");
+ addItem(help, "About");