Use MultiObjectEditor for motors
[sw/motorsim] / gui / com / billkuker / rocketry / motorsim / visual / workbench / MotorWorkbench.java
1 package com.billkuker.rocketry.motorsim.visual.workbench;\r
2 \r
3 import java.awt.event.ActionEvent;\r
4 import java.awt.event.ActionListener;\r
5 \r
6 import javax.swing.ButtonGroup;\r
7 import javax.swing.JFrame;\r
8 import javax.swing.JMenu;\r
9 import javax.swing.JMenuBar;\r
10 import javax.swing.JMenuItem;\r
11 import javax.swing.JRadioButtonMenuItem;\r
12 import javax.swing.WindowConstants;\r
13 \r
14 import com.billkuker.rocketry.motorsim.RocketScience.UnitPreference;\r
15 import com.billkuker.rocketry.motorsim.fuel.FuelsEditor;\r
16 \r
17 \r
18 public class MotorWorkbench extends JFrame {\r
19         private static final long serialVersionUID = 1L;\r
20         \r
21         private MultiBurnChart mb;\r
22         private JFrame allBurns;\r
23         \r
24         private JFrame fuelEditorFrame = new JFrame(){\r
25                 private static final long serialVersionUID = 1L;\r
26                 {\r
27                         setSize(1024, 768);\r
28                         add(fuelEditor = new FuelsEditor(this));\r
29                         JMenuBar b;\r
30                         setJMenuBar(b = new JMenuBar());\r
31                         b.add(fuelEditor.getMenu());\r
32                         setTitle("MotorSim - Fuel Editor");\r
33                 }\r
34         };\r
35         private FuelsEditor fuelEditor;\r
36         \r
37         private MotorsEditor motorsEditor;\r
38 \r
39         \r
40         public MotorWorkbench() {\r
41                 setTitle("MotorSim 1.0 RC1");\r
42                 setSize(1024, 768);\r
43 \r
44                 motorsEditor = new MotorsEditor(this);\r
45                 setContentPane(motorsEditor);\r
46                 \r
47                 addMenu();\r
48                 \r
49                 mb = new MultiBurnChart();\r
50                 allBurns = new JFrame();\r
51                 allBurns.setTitle("All Burns");\r
52                 allBurns.setSize(800, 600);\r
53                 setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);\r
54                 allBurns.add(mb);\r
55 \r
56 \r
57                 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);\r
58                 setVisible(true);\r
59 \r
60         }\r
61 \r
62         private void addMenu() {\r
63 \r
64                 setJMenuBar(new JMenuBar() {\r
65                         private static final long serialVersionUID = 1L;\r
66 \r
67                         {\r
68                                 add(motorsEditor.getMenu());\r
69                                 \r
70                                 add(new JMenu("Settings") {\r
71                                         private static final long serialVersionUID = 1L;\r
72                                         {\r
73                                                 ButtonGroup units = new ButtonGroup();\r
74                                                 JRadioButtonMenuItem sci = new JRadioButtonMenuItem(\r
75                                                                 "SI");\r
76                                                 JRadioButtonMenuItem nonsci = new JRadioButtonMenuItem(\r
77                                                                 "NonSI");\r
78                                                 units.add(sci);\r
79                                                 units.add(nonsci);\r
80                                                 sci.setSelected(UnitPreference.getUnitPreference() == UnitPreference.SI);\r
81                                                 nonsci.setSelected(UnitPreference.getUnitPreference() == UnitPreference.NONSI);\r
82                                                 sci.addActionListener(new ActionListener() {\r
83                                                         public void actionPerformed(ActionEvent arg0) {\r
84                                                                 UnitPreference\r
85                                                                                 .setUnitPreference(UnitPreference.SI);\r
86                                                         }\r
87                                                 });\r
88                                                 nonsci.addActionListener(new ActionListener() {\r
89                                                         public void actionPerformed(ActionEvent arg0) {\r
90                                                                 UnitPreference\r
91                                                                                 .setUnitPreference(UnitPreference.NONSI);\r
92                                                         }\r
93                                                 });\r
94                                                 add(sci);\r
95                                                 add(nonsci);\r
96                                         }\r
97                                 });\r
98                                 add(new JMenu("View") {\r
99                                         private static final long serialVersionUID = 1L;\r
100                                         {\r
101                                                 add(new JMenuItem("All Motors Graph") {\r
102                                                         private static final long serialVersionUID = 1L;\r
103                                                         {\r
104                                                                 addActionListener(new ActionListener() {\r
105                                                                         @Override\r
106                                                                         public void actionPerformed(ActionEvent arg0) {\r
107                                                                                 allBurns.setVisible(true);\r
108                                                                                 allBurns.toFront();\r
109                                                                         }\r
110                                                                 });\r
111                                                         }\r
112                                                 });\r
113                                                 add(new JMenuItem("Fuel Editor") {\r
114                                                         private static final long serialVersionUID = 1L;\r
115                                                         {\r
116                                                                 addActionListener(new ActionListener() {\r
117                                                                         @Override\r
118                                                                         public void actionPerformed(ActionEvent arg0) {\r
119                                                                                 fuelEditorFrame.setVisible(true);\r
120                                                                                 fuelEditorFrame.toFront();\r
121                                                                         }\r
122                                                                 });\r
123                                                         }\r
124                                                 });\r
125                                         }\r
126                                 });\r
127                         }\r
128                 });\r
129         }\r
130 \r
131         \r
132 \r
133 \r
134         \r
135 }\r