Updated Splash
[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 import com.billkuker.rocketry.motorsim.visual.RememberJFrame;\r
17 \r
18 \r
19 public class MotorWorkbench extends RememberJFrame {\r
20         public static final String version = "2.0 BETA";\r
21         public static final String name = "MotorSim " + version;\r
22         private static final long serialVersionUID = 1L;\r
23         \r
24         private MultiMotorThrustChart mb;\r
25         private JFrame allBurns;\r
26         \r
27         private JFrame fuelEditorFrame = new RememberJFrame(800,600){\r
28                 private static final long serialVersionUID = 1L;\r
29                 {\r
30                         setSize(800, 600);\r
31                         add(fuelEditor = new FuelsEditor(this));\r
32                         JMenuBar b;\r
33                         setJMenuBar(b = new JMenuBar());\r
34                         b.add(fuelEditor.getMenu());\r
35                         setTitle(name + " - Fuel Editor");\r
36                 }\r
37         };\r
38         private FuelsEditor fuelEditor;\r
39         \r
40         private MotorsEditor motorsEditor;\r
41 \r
42         \r
43         public MotorWorkbench() {\r
44                 super(1024, 768);\r
45                 setTitle(name);\r
46 \r
47                 motorsEditor = new MotorsEditor(this);\r
48                 setContentPane(motorsEditor);\r
49                 \r
50                 addMenu();\r
51                 \r
52                 mb = new MultiMotorThrustChart();\r
53                 allBurns = new JFrame();\r
54                 allBurns.setTitle("All Burns");\r
55                 allBurns.setSize(800, 600);\r
56                 setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);\r
57                 allBurns.add(mb);\r
58 \r
59 \r
60                 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);\r
61                 //setVisible(true);\r
62 \r
63         }\r
64 \r
65         private void addMenu() {\r
66 \r
67                 setJMenuBar(new JMenuBar() {\r
68                         private static final long serialVersionUID = 1L;\r
69 \r
70                         {\r
71                                 add(motorsEditor.getMenu());\r
72                                 \r
73                                 add(new JMenu("Settings") {\r
74                                         private static final long serialVersionUID = 1L;\r
75                                         {\r
76                                                 ButtonGroup units = new ButtonGroup();\r
77                                                 JRadioButtonMenuItem sci = new JRadioButtonMenuItem(\r
78                                                                 "SI");\r
79                                                 JRadioButtonMenuItem nonsci = new JRadioButtonMenuItem(\r
80                                                                 "NonSI");\r
81                                                 units.add(sci);\r
82                                                 units.add(nonsci);\r
83                                                 sci.setSelected(UnitPreference.getUnitPreference() == UnitPreference.SI);\r
84                                                 nonsci.setSelected(UnitPreference.getUnitPreference() == UnitPreference.NONSI);\r
85                                                 sci.addActionListener(new ActionListener() {\r
86                                                         public void actionPerformed(ActionEvent arg0) {\r
87                                                                 UnitPreference\r
88                                                                                 .setUnitPreference(UnitPreference.SI);\r
89                                                         }\r
90                                                 });\r
91                                                 nonsci.addActionListener(new ActionListener() {\r
92                                                         public void actionPerformed(ActionEvent arg0) {\r
93                                                                 UnitPreference\r
94                                                                                 .setUnitPreference(UnitPreference.NONSI);\r
95                                                         }\r
96                                                 });\r
97                                                 add(sci);\r
98                                                 add(nonsci);\r
99                                         }\r
100                                 });\r
101                                 add(new JMenu("View") {\r
102                                         private static final long serialVersionUID = 1L;\r
103                                         {\r
104                                                 add(new JMenuItem("Detach \"All Motors\" tabs") {\r
105                                                         private static final long serialVersionUID = 1L;\r
106                                                         {\r
107                                                                 addActionListener(new ActionListener() {\r
108                                                                         @Override\r
109                                                                         public void actionPerformed(ActionEvent arg0) {\r
110                                                                                 motorsEditor.detach();\r
111                                                                         }\r
112                                                                 });\r
113                                                         }\r
114                                                 });\r
115                                                 add(new JMenuItem("Show Fuel Editor") {\r
116                                                         private static final long serialVersionUID = 1L;\r
117                                                         {\r
118                                                                 addActionListener(new ActionListener() {\r
119                                                                         @Override\r
120                                                                         public void actionPerformed(ActionEvent arg0) {\r
121                                                                                 fuelEditorFrame.setVisible(true);\r
122                                                                                 fuelEditorFrame.toFront();\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
136         \r
137 }\r