create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / gui / figure3d / Quick3dMain.java
1 package net.sf.openrocket.gui.figure3d;\r
2 import java.awt.BorderLayout;\r
3 \r
4 import javax.swing.JFrame;\r
5 import javax.swing.JPanel;\r
6 \r
7 import net.sf.openrocket.database.ComponentPresetDatabase;\r
8 import net.sf.openrocket.database.ThrustCurveMotorSetDatabase;\r
9 import net.sf.openrocket.document.OpenRocketDocument;\r
10 import net.sf.openrocket.file.DatabaseMotorFinder;\r
11 import net.sf.openrocket.file.openrocket.importt.OpenRocketLoader;\r
12 import net.sf.openrocket.gui.main.componenttree.ComponentTree;\r
13 import net.sf.openrocket.gui.scalefigure.RocketPanel;\r
14 import net.sf.openrocket.gui.util.SwingPreferences;\r
15 import net.sf.openrocket.l10n.ResourceBundleTranslator;\r
16 import net.sf.openrocket.startup.Application;\r
17 \r
18 /**\r
19  * An application for quickly testing 3d figure witout all the OpenRocket user interface\r
20  * \r
21  * @author bkuker\r
22  *\r
23  */\r
24 public class Quick3dMain {\r
25 \r
26         /**\r
27          * @param args\r
28          */\r
29         public static void main(String[] args) throws Exception {\r
30                 Application.setBaseTranslator(new ResourceBundleTranslator(\r
31                                 "l10n.messages"));\r
32                 Application.setMotorSetDatabase(new ThrustCurveMotorSetDatabase(false) {\r
33                         {\r
34                                 startLoading();\r
35                         }\r
36 \r
37                         @Override\r
38                         protected void loadMotors() {\r
39                         }\r
40                 });\r
41                 Application.setPreferences(new SwingPreferences());\r
42                 \r
43                 // Must be done after localization is initialized\r
44                 ComponentPresetDatabase componentPresetDao = new ComponentPresetDatabase() {\r
45 \r
46                         @Override\r
47                         protected void load() {\r
48                                 // This test app doesn't need any presets loaded - just an empty database.\r
49                         }\r
50                         \r
51                 };\r
52                 Application.setComponentPresetDao( componentPresetDao );\r
53 \r
54                 OpenRocketDocument doc = new OpenRocketLoader().loadFromStream(\r
55                                 Quick3dMain.class.getResourceAsStream("/datafiles/examples/Clustered rocket design.ork"),\r
56                                 new DatabaseMotorFinder());\r
57 \r
58                 JFrame ff = new JFrame();\r
59                 ff.setSize(1200, 400);\r
60                 ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
61 \r
62                 RocketPanel panel;\r
63 \r
64                 panel = new RocketPanel(doc);\r
65 \r
66                 ComponentTree ct = new ComponentTree(doc);\r
67                 panel.setSelectionModel(ct.getSelectionModel());\r
68 \r
69                 JPanel p = new JPanel();\r
70                 p.setLayout(new BorderLayout());\r
71                 p.add(ct, BorderLayout.WEST);\r
72                 p.add(panel, BorderLayout.CENTER);\r
73                 ff.setContentPane(p);\r
74                 ff.setVisible(true);\r
75         }\r
76 }\r