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