import net.sf.openrocket.gui.dialogs.LicenseDialog;
import net.sf.openrocket.gui.dialogs.MotorDatabaseLoadingDialog;
import net.sf.openrocket.gui.dialogs.PrintDialog;
+import net.sf.openrocket.gui.dialogs.ScaleDialog;
import net.sf.openrocket.gui.dialogs.SwingWorkerDialog;
import net.sf.openrocket.gui.dialogs.WarningDialog;
+import net.sf.openrocket.gui.dialogs.optimization.GeneralOptimizationDialog;
import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog;
import net.sf.openrocket.gui.main.componenttree.ComponentTree;
import net.sf.openrocket.gui.optimization.OptimizationTestDialog;
+ /**
+ * Return the currently selected rocket component, or <code>null</code> if none selected.
+ */
+ private RocketComponent getSelectedComponent() {
+ TreePath path = componentSelectionModel.getSelectionPath();
+ if (path == null)
+ return null;
+ tree.scrollPathToVisible(path);
+
+ return (RocketComponent) path.getLastPathComponent();
+ }
+
+
/**
* Creates the menu for the window.
*/
menu = new JMenu(trans.get("main.menu.file"));
menu.setMnemonic(KeyEvent.VK_F);
//// File-handling related tasks
- menu.getAccessibleContext().setAccessibleDescription("File-handling related tasks");
+ menu.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.file.desc"));
menubar.add(menu);
//// New
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
item.setMnemonic(KeyEvent.VK_N);
//// Create a new rocket design
- item.getAccessibleContext().setAccessibleDescription("Create a new rocket design");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.file.new.desc"));
item.setIcon(Icons.FILE_NEW);
item.addActionListener(new ActionListener() {
@Override
item = new JMenuItem(trans.get("main.menu.file.print"), KeyEvent.VK_P);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK));
//// Print parts list and fin template
- item.getAccessibleContext().setAccessibleDescription(trans.get("BasicFrame.item.Printpart"));
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.file.print.desc"));
item.setIcon(Icons.FILE_PRINT);
item.addActionListener(new ActionListener() {
@Override
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.CTRL_MASK));
item.setMnemonic(KeyEvent.VK_U);
//// Undo the previous operation
- item.getAccessibleContext().setAccessibleDescription("Undo the previous operation");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.edit.undo.desc"));
menu.add(item);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, ActionEvent.CTRL_MASK));
item.setMnemonic(KeyEvent.VK_R);
//// Redo the previously undone operation
- item.getAccessibleContext().setAccessibleDescription("Redo the previously undone " +
- "operation");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.edit.redo.desc"));
menu.add(item);
menu.addSeparator();
menu.addSeparator();
+
+
+ item = new JMenuItem(trans.get("main.menu.edit.resize"));
+ // FIXME: Icon
+ //item.setIcon(Icons.PREFERENCES);
+ //// Setup the application preferences
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.edit.resize.desc"));
+ item.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ log.user("Scale... selected");
+ ScaleDialog dialog = new ScaleDialog(document, getSelectedComponent(), BasicFrame.this);
+ dialog.setVisible(true);
+ dialog.dispose();
+ }
+ });
+ menu.add(item);
+
+
+
//// Preferences
item = new JMenuItem(trans.get("main.menu.edit.preferences"));
item.setIcon(Icons.PREFERENCES);
//// Setup the application preferences
- item.getAccessibleContext().setAccessibleDescription("Setup the application " +
- "preferences");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.edit.preferences.desc"));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
menu = new JMenu(trans.get("main.menu.analyze"));
menu.setMnemonic(KeyEvent.VK_A);
//// Analyzing the rocket
- menu.getAccessibleContext().setAccessibleDescription("Analyzing the rocket");
+ menu.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.analyze.desc"));
menubar.add(menu);
//// Component analysis
item = new JMenuItem(trans.get("main.menu.analyze.componentAnalysis"), KeyEvent.VK_C);
//// Analyze the rocket components separately
- item.getAccessibleContext().setAccessibleDescription("Analyze the rocket components " +
- "separately");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.analyze.componentAnalysis.desc"));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
menu = new JMenu(trans.get("main.menu.help"));
menu.setMnemonic(KeyEvent.VK_H);
//// Information about OpenRocket
- menu.getAccessibleContext().setAccessibleDescription("Information about OpenRocket");
+ menu.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.help.desc"));
menubar.add(menu);
//// License
item = new JMenuItem(trans.get("main.menu.help.license"), KeyEvent.VK_L);
//// OpenRocket license information
- item.getAccessibleContext().setAccessibleDescription("OpenRocket license information");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.help.license.desc"));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//// Bug report
item = new JMenuItem(trans.get("main.menu.help.bugReport"), KeyEvent.VK_B);
//// Information about reporting bugs in OpenRocket
- item.getAccessibleContext().setAccessibleDescription("Information about reporting " +
- "bugs in OpenRocket");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.help.bugReport.desc"));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//// Debug log
item = new JMenuItem(trans.get("main.menu.help.debugLog"));
//// View the OpenRocket debug log
- item.getAccessibleContext().setAccessibleDescription("View the OpenRocket debug log");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.help.debugLog.desc"));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//// About
item = new JMenuItem(trans.get("main.menu.help.about"), KeyEvent.VK_A);
//// About OpenRocket
- item.getAccessibleContext().setAccessibleDescription("About OpenRocket");
+ item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.help.about.desc"));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
this.setJMenuBar(menubar);
}
-
private JMenu makeDebugMenu() {
JMenu menu;
JMenuItem item;
+ /*
+ * This menu is intentionally left untranslated.
+ */
+
//// Debug menu
menu = new JMenu("Debug");
//// OpenRocket debugging tasks
menu.add(item);
+ item = new JMenuItem("General optimization test");
+ item.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ new GeneralOptimizationDialog(document, BasicFrame.this).setVisible(true);
+ }
+ });
+ menu.add(item);
+
+
item = new JMenuItem("Optimization test");
item.addActionListener(new ActionListener() {
@Override