updates for 0.9.4
[debian/openrocket] / src / net / sf / openrocket / gui / main / BasicFrame.java
index 5357b3290add757453d6fc4dd93ad400c6d08eb7..8ad7601ad7692f52af35d24095e1e31413e0564a 100644 (file)
@@ -42,6 +42,7 @@ import javax.swing.JScrollPane;
 import javax.swing.JSeparator;
 import javax.swing.JSplitPane;
 import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
 import javax.swing.KeyStroke;
 import javax.swing.ListSelectionModel;
 import javax.swing.LookAndFeel;
@@ -72,9 +73,9 @@ import net.sf.openrocket.gui.dialogs.BugReportDialog;
 import net.sf.openrocket.gui.dialogs.ComponentAnalysisDialog;
 import net.sf.openrocket.gui.dialogs.ExampleDesignDialog;
 import net.sf.openrocket.gui.dialogs.LicenseDialog;
-import net.sf.openrocket.gui.dialogs.PreferencesDialog;
 import net.sf.openrocket.gui.dialogs.SwingWorkerDialog;
 import net.sf.openrocket.gui.dialogs.WarningDialog;
+import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog;
 import net.sf.openrocket.gui.scalefigure.RocketPanel;
 import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
 import net.sf.openrocket.rocketcomponent.ComponentChangeListener;
@@ -86,6 +87,7 @@ import net.sf.openrocket.util.Icons;
 import net.sf.openrocket.util.OpenFileWorker;
 import net.sf.openrocket.util.Prefs;
 import net.sf.openrocket.util.SaveFileWorker;
+import net.sf.openrocket.util.TestRockets;
 
 public class BasicFrame extends JFrame {
        private static final long serialVersionUID = 1L;
@@ -295,7 +297,7 @@ public class BasicFrame extends JFrame {
                                int selRow = tree.getRowForLocation(e.getX(), e.getY());
                                TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
                                if(selRow != -1) {
-                                       if(e.getClickCount() == 2) {
+                                       if((e.getClickCount() == 2) && !ComponentConfigDialog.isDialogVisible()) {
                                                // Double-click
                                                RocketComponent c = (RocketComponent)selPath.getLastPathComponent();
                                                ComponentConfigDialog.showDialog(BasicFrame.this, 
@@ -631,6 +633,38 @@ public class BasicFrame extends JFrame {
                
                menu.addSeparator();
                
+               item = new JMenuItem("Create test rocket");
+               item.addActionListener(new ActionListener() {
+                       @Override
+                       public void actionPerformed(ActionEvent e) {
+                               JTextField field = new JTextField();
+                               int sel = JOptionPane.showOptionDialog(BasicFrame.this, new Object[] {
+                                               "Input text key to generate random rocket:",
+                                               field
+                                       }, "Generate random test rocket", JOptionPane.DEFAULT_OPTION, 
+                                       JOptionPane.QUESTION_MESSAGE, null, new Object[] {
+                                               "Random", "OK"
+                               }, "OK");
+                               
+                               Rocket r;
+                               if (sel == 0) {
+                                       r = new TestRockets(null).makeTestRocket();
+                               } else if (sel == 1) {
+                                       r = new TestRockets(field.getText()).makeTestRocket();
+                               } else {
+                                       return;
+                               }
+                               
+                               OpenRocketDocument doc = new OpenRocketDocument(r);
+                               doc.setSaved(true);
+                               BasicFrame frame = new BasicFrame(doc);
+                               frame.setVisible(true);
+                       }
+               });
+               menu.add(item);
+               
+               menu.addSeparator();
+               
                item = new JMenuItem("Exception here");
                item.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {