]> ruin.nu Git - moosique.git/commitdiff
*** empty log message ***
authorBjörn Lanneskog <lannesko@itstud.chalmers.se>
Sun, 18 May 2003 18:37:33 +0000 (18:37 +0000)
committerBjörn Lanneskog <lannesko@itstud.chalmers.se>
Sun, 18 May 2003 18:37:33 +0000 (18:37 +0000)
MooDialog.java
MooMenu.java

index f78d24c711da9d9b02176b4f0fc73cd08163a0e6..8eb2b8c61fd43c4d5641fb5f111c062560c09cf4 100644 (file)
@@ -13,8 +13,9 @@ import java.beans.*;
  
 public class MooDialog extends JDialog {
 
-       private JLabel labelA, labelB, labelC;
-       private JTextField textFieldA, textFieldB, textFieldC;
+       private JLabel labelA, labelB, labelC, labelD, labelE, labelF;
+       private JTextField textFieldA, textFieldB, textFieldC, textFieldD, textFieldE, textFieldF;
+       private JTextField textFieldG, textFieldH, textFieldI, textFieldJ, textFieldK;
        private JComboBox trackListA, trackListB; 
        private JButton okButton, cancelButton;
        public static final int ADD_TRACK = 1,
@@ -24,7 +25,8 @@ public class MooDialog extends JDialog {
                                SET_POSITION = 5,
                                MANUAL = 6,
                                INSERT_MEASURE = 7,
-                               DELETE_MEASURE = 8;
+                               DELETE_MEASURE = 8,
+                               SET_TEMPO = 9;
        
        /**
         * Constructor of the dialogs.
@@ -46,6 +48,7 @@ public class MooDialog extends JDialog {
                        case MANUAL:            makeTextDialog(pane, "Manual.txt"); break;
                        case INSERT_MEASURE:    makeInsertMeasureDialog(pane); break;
                        case DELETE_MEASURE:    makeDeleteMeasureDialog(pane); break;
+                       case SET_TEMPO:         makeSetTempoDialog(pane); break;
                }
         }
        
@@ -214,12 +217,12 @@ public class MooDialog extends JDialog {
                okButton = new JButton("OK");
                pane.add(okButton);
                
-               labelA.setBounds(30, 25, 50, 20);
+               labelA.setBounds(40, 25, 50, 20);
                labelB.setBounds(105, 25, 50, 20);
-               labelC.setBounds(180, 25, 50, 20);
-               textFieldA.setBounds(30, 45, 50, 20);
+               labelC.setBounds(170, 25, 50, 20);
+               textFieldA.setBounds(40, 45, 50, 20);
                textFieldB.setBounds(105, 45, 50, 20);
-               textFieldC.setBounds(180, 45, 50, 20);
+               textFieldC.setBounds(170, 45, 50, 20);
                cancelButton.setBounds(35, 90, 80, 30);
                okButton.setBounds(155, 90, 60, 30);
                
@@ -298,6 +301,115 @@ public class MooDialog extends JDialog {
                setVisible(true);
        }
        
+       /**
+        * Builds the set tempo dialog.
+        * @param pane          The container to put the dialog in.
+        * @param tracks        A array containing miditracks.
+        */
+       private void makeSetTempoDialog(Container pane) {
+               
+               setTitle("Set tempo");
+               // creating labels and adding them to a container
+               labelA = new JLabel("Measure", JLabel.CENTER);
+               pane.add(labelA);
+               labelB = new JLabel("Beat", JLabel.CENTER);
+               pane.add(labelB);
+               labelC = new JLabel("Tick", JLabel.CENTER);
+               pane.add(labelC);
+               labelD = new JLabel("Start at:", JLabel.RIGHT);
+               pane.add(labelD);
+               labelE = new JLabel("End at:", JLabel.RIGHT);
+               pane.add(labelE);
+               labelF = new JLabel("to", JLabel.CENTER);
+               pane.add(labelF);
+                
+               // the starting textfields and adding them to the container
+               textFieldA = new JTextField();
+               pane.add(textFieldA);
+               textFieldB = new JTextField();
+               pane.add(textFieldB);
+               textFieldC = new JTextField();
+               pane.add(textFieldC);
+               // ending textfields and adding them to the container
+               textFieldD = new JTextField();
+               pane.add(textFieldD);
+               textFieldE = new JTextField();
+               pane.add(textFieldE);
+               textFieldF = new JTextField();
+               pane.add(textFieldF);
+               // the amount to edit textfields and adding them to a container
+               textFieldG = new JTextField();
+               pane.add(textFieldG);
+               textFieldH = new JTextField();
+               pane.add(textFieldH);
+               textFieldI = new JTextField();
+               pane.add(textFieldI);
+               textFieldJ = new JTextField();
+               pane.add(textFieldJ);
+               textFieldK = new JTextField();
+               pane.add(textFieldK);
+
+               // creating the buttons and adding them to the container
+               JRadioButton constant = new JRadioButton("Set constant tempo of:");
+               constant.setSelected(true);
+               pane.add(constant);
+               JRadioButton change = new JRadioButton("Gradually change tempo:");
+               pane.add(change);
+               JRadioButton scale = new JRadioButton("Scale tempo in %:");
+               pane.add(scale);
+               JRadioButton add = new JRadioButton("Add to current tempo:");
+               pane.add(add);
+               
+               // creating a buttongroup and adding the buttons above
+               ButtonGroup group = new ButtonGroup();
+               group.add(constant);
+               group.add(change);
+               group.add(scale);
+               group.add(add);
+               
+               // creating the cancel and ok button
+               cancelButton = new JButton("Cancel");
+               pane.add(cancelButton);
+               okButton = new JButton("OK");
+               pane.add(okButton);
+               
+               
+               labelA.setBounds(80, 25, 50, 20);
+               labelB.setBounds(145, 25, 50, 20);
+               labelC.setBounds(210, 25, 50, 20);
+               labelD.setBounds(20, 45, 60, 20);
+               labelE.setBounds(20, 65, 60, 20);
+               labelF.setBounds(255, 125, 20 ,20);
+      
+               textFieldA.setBounds(80, 45, 50, 20);
+               textFieldB.setBounds(145, 45, 50, 20);
+               textFieldC.setBounds(210, 45, 50, 20);
+               textFieldD.setBounds(80, 65, 50, 20);
+               textFieldE.setBounds(145, 65, 50, 20);
+               textFieldF.setBounds(210, 65, 50, 20);
+               
+               textFieldG.setBounds(205, 100, 35, 20);
+               textFieldH.setBounds(220, 125, 35, 20);
+               textFieldI.setBounds(280, 125, 35, 20);
+               textFieldJ.setBounds(170, 150, 35, 20);
+               textFieldK.setBounds(200, 175, 35, 20);
+               
+               constant.setBounds(20, 100, 180, 20);
+               change.setBounds(20, 125, 200, 20);
+               scale.setBounds(20, 150, 150, 20);
+               add.setBounds(20, 175, 175, 20);
+               
+               cancelButton.setBounds(75, 215, 80, 30);
+               okButton.setBounds(195, 215, 60, 30);
+               
+               setResizable(false);
+               pack();
+               setSize(340,300);
+               setLocationRelativeTo(Moosique.getGUI());
+               setVisible(true);
+       }
+       
+       
        private void makeTextDialog(Container pane, String filename) {
                setTitle("User Manual");
                pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));
index 3b1e9fabb3f637abeceb02a07626c8b82d3f7662..9abc407a9a4222b2a83305737958725c992807b8 100644 (file)
@@ -220,6 +220,7 @@ public class MooMenu extends JMenuBar implements ActionListener {
                } else if (command == "Set time signature...") {
                
                } else if (command == "Set tempo...") {
+                       MooDialog newDialog = new MooDialog(MooDialog.SET_TEMPO);
                
                } else if (command == "Scale velocity...") {