]> ruin.nu Git - moosique.git/blobdiff - MooGUI.java
Fixed some errors, updated the menu and toolbar.
[moosique.git] / MooGUI.java
index 17a69c3b10035ee71cd3e0dcbd4f2d621a279794..f0c108ae7a800831ecc371584081433c34fc29d6 100644 (file)
@@ -12,33 +12,41 @@ import java.awt.event.*;
 public class MooGUI extends JFrame implements WindowListener {
 
        private Sequence seq;
+
+       private JPanel trackPanel;
+       private MooTrackView[] trackViews;
        private JLabel statusBar;
-       // private MooView view;
+
+       public static Font standardFont = new Font("Helvetica", Font.PLAIN, 10);
        
        /** 
         * Creates the GUI.
         */
        public MooGUI(Sequence seq) {
                super("Moosique");
+
+               this.seq = seq;
+               
+               Container pane = getContentPane();
+               pane.setLayout(new BorderLayout());
                
                // Adds menu bar.
                setJMenuBar(new MooMenu());
 
                // Adds toolbar.
-               getContentPane().add(new MooToolbar(), BorderLayout.NORTH);
-               addWindowListener(this);
-               
-               // Adds one track.
-               getContentPane().add(new MooTrackView(), BorderLayout.CENTER);
+               pane.add(new MooToolbar(), BorderLayout.NORTH);
                addWindowListener(this);
-               
-               // Adds main view.
-               // view = new MooView();
+
+               // Adds tracks.
+               trackPanel = new JPanel(true);
+               createTrackViews();
+               pane.add(trackPanel, BorderLayout.CENTER);
 
                // Adds status bar.
                statusBar = new JLabel("Welcome to Moosique!", JLabel.CENTER);
-               getContentPane().add(statusBar, BorderLayout.SOUTH);
+               pane.add(statusBar, BorderLayout.SOUTH);
 
+               addWindowListener(this);
                pack();
                Dimension bounds = new Dimension(400,300);
                setSize(bounds.width,bounds.height);
@@ -55,6 +63,7 @@ public class MooGUI extends JFrame implements WindowListener {
         */
        public void setSequence(Sequence sequence) {
                seq = sequence;
+               createTrackViews();
        }
 
        /** 
@@ -64,6 +73,16 @@ public class MooGUI extends JFrame implements WindowListener {
        public void setStatus(String text) {
                statusBar.setText(text);
        }
+       
+       private void createTrackViews() {
+               trackPanel.removeAll();
+               Track[] tracks = seq.getTracks();
+               trackViews = new MooTrackView[tracks.length];
+               for (int i = 0; i < tracks.length; i++) {
+                       trackViews[i] = new MooTrackView(tracks[i]);
+                       trackPanel.add(new MooTrackView(tracks[i]));
+               }
+       }
 
        public void windowOpened(WindowEvent e) {}
        public void windowClosing(WindowEvent e) {Moosique.quit();}