\r
import java.awt.BorderLayout;\r
import java.awt.Dimension;\r
+import java.awt.event.ActionEvent;\r
+import java.awt.event.ActionListener;\r
import java.util.HashMap;\r
\r
+import javax.swing.ButtonGroup;\r
import javax.swing.JButton;\r
import javax.swing.JFrame;\r
+import javax.swing.JMenu;\r
+import javax.swing.JMenuBar;\r
import javax.swing.JPanel;\r
+import javax.swing.JRadioButtonMenuItem;\r
import javax.swing.JScrollPane;\r
import javax.swing.JSplitPane;\r
import javax.swing.JTabbedPane;\r
import javax.swing.tree.TreeSelectionModel;\r
\r
import com.billkuker.rocketry.motorsim.Motor;\r
+import com.billkuker.rocketry.motorsim.RocketScience.UnitPreference;\r
\r
public class MotorWorkbench extends JFrame implements TreeSelectionListener {\r
private static final long serialVersionUID = 1L;\r
private HashMap<Motor, MotorEditor> m2e = new HashMap<Motor, MotorEditor>();\r
\r
public MotorWorkbench() {\r
+ setTitle("MotorWorkbench");\r
+ addMenu();\r
setSize(1024, 768);\r
top = new JPanel(new BorderLayout());\r
setContentPane(top);\r
\r
split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JScrollPane(\r
tree), motors);\r
- //split.setDividerLocation(.25);\r
- //split.setResizeWeight(.25);\r
+ // split.setDividerLocation(.25);\r
+ // split.setResizeWeight(.25);\r
top.add(split, BorderLayout.CENTER);\r
\r
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);\r
\r
Motor mot = MotorEditor.defaultMotor();\r
addMotor(mot);\r
- //mot = MotorEditor.defaultMotor();\r
- //addMotor(mot);\r
+ // mot = MotorEditor.defaultMotor();\r
+ // addMotor(mot);\r
+\r
+ }\r
+\r
+ private void addMenu() {\r
+\r
+\r
+ setJMenuBar(new JMenuBar() {\r
+ {\r
+ add(new JMenu("File") {\r
+\r
+ });\r
+ add(new JMenu("Settings") {\r
+ {\r
+ ButtonGroup units = new ButtonGroup();\r
+ JRadioButtonMenuItem sci = new JRadioButtonMenuItem("SI");\r
+ JRadioButtonMenuItem nonsci = new JRadioButtonMenuItem("NonSI");\r
+ units.add(sci);\r
+ units.add(nonsci);\r
+ sci.setSelected(true);\r
+ sci.addActionListener(new ActionListener() {\r
+ public void actionPerformed(ActionEvent arg0) {\r
+ UnitPreference.preference = UnitPreference.SI;\r
+ }\r
+ });\r
+ nonsci.addActionListener(new ActionListener() {\r
+ public void actionPerformed(ActionEvent arg0) {\r
+ UnitPreference.preference = UnitPreference.NONSI;\r
+ }\r
+ });\r
+ add(sci);\r
+ add(nonsci);\r
+ }\r
+ });\r
+ }\r
+ });\r
}\r
\r
public void addMotor(Motor m) {\r
}\r
\r
public static void main(String args[]) throws Exception {\r
+ \r
try {\r
+ System.setProperty("apple.laf.useScreenMenuBar", "true");\r
+ System.setProperty("com.apple.mrj.application.apple.menu.about.name",\r
+ "MotorWorkbench");\r
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
} catch (Exception e1) {\r
e1.printStackTrace();\r
Motor m = getMotor(e.getPath());\r
\r
motors.setSelectedComponent(m2e.get(m));\r
- \r
- if ( e.getPath().getLastPathComponent() instanceof DefaultMutableTreeNode ){\r
- Object o = ((DefaultMutableTreeNode)e.getPath().getLastPathComponent()).getUserObject();\r
+\r
+ if (e.getPath().getLastPathComponent() instanceof DefaultMutableTreeNode) {\r
+ Object o = ((DefaultMutableTreeNode) e.getPath()\r
+ .getLastPathComponent()).getUserObject();\r
m2e.get(m).focusOnObject(o);\r
}\r
}\r