split hardware tab vertically
authorBill Kuker <bkuker@billkuker.com>
Sun, 24 Oct 2010 23:34:44 +0000 (23:34 +0000)
committerBill Kuker <bkuker@billkuker.com>
Sun, 24 Oct 2010 23:34:44 +0000 (23:34 +0000)
src/com/billkuker/rocketry/motorsim/visual/HardwarePanel.java
src/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java

index 0917010147b12317cb1174378ecd905e540ee242..2c274e0f1d762d9da578c0f8dd03e1af1185b85f 100644 (file)
@@ -64,17 +64,19 @@ public class HardwarePanel extends JPanel {
                h = cb.getHeight() + nb.getHeight();\r
                \r
                double mw, mh;\r
-               mw = getWidth() - 10;\r
-               mh = getHeight() - 10;\r
+               mw = getHeight() - 10;\r
+               mh = getWidth() - 10;\r
                \r
                double sw, sh, s;\r
                sw = mw / w;\r
                sh = mh / h;\r
                s = Math.min(sw, sh);\r
                \r
+               g2d.rotate(-Math.PI / 2);\r
+               \r
                g2d.translate(0, -cb.getY() - 5);\r
                g2d.scale(s, s);\r
-               g2d.translate(-cb.getX(), 0);\r
+               g2d.translate(cb.getX(), 0);\r
                \r
                g2d.setStroke(new BasicStroke(1));\r
                g2d.draw( c );\r
index 3ce6b11bc3cfa2ed9683edd6391b27ea9934a684..2e7ecbed87eec700deb1beb1903ec7af0d436ddb 100644 (file)
@@ -1,6 +1,7 @@
 package com.billkuker.rocketry.motorsim.visual.workbench;\r
 \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.awt.event.FocusEvent;\r
@@ -15,6 +16,7 @@ import java.util.Vector;
 \r
 import javax.measure.quantity.Length;\r
 import javax.measure.unit.SI;\r
+import javax.swing.Box;\r
 import javax.swing.BoxLayout;\r
 import javax.swing.ComboBoxModel;\r
 import javax.swing.JButton;\r
@@ -234,17 +236,23 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener {
                private static final long serialVersionUID = 1L;\r
 \r
                public CaseEditor(Nozzle n, Chamber c) {\r
-                       super(JSplitPane.HORIZONTAL_SPLIT);\r
+                       super(JSplitPane.VERTICAL_SPLIT);\r
                        setName("General Parameters");\r
+                       \r
                        JPanel parts = new JPanel();\r
-                       parts.setLayout(new BoxLayout(parts, BoxLayout.Y_AXIS));\r
-                       setLeftComponent(parts);\r
-                       setRightComponent(new HardwarePanel(n, c));\r
-\r
-                       parts.add(new JLabel("Name:"));\r
-                       parts.add(new JTextField(motor.getName()) {\r
+                       parts.setLayout(new BoxLayout(parts, BoxLayout.X_AXIS));\r
+                       setTopComponent(parts);\r
+                       setBottomComponent(new HardwarePanel(n, c));\r
+                       \r
+                       JPanel nameAndFuel = new JPanel();\r
+                       nameAndFuel.setLayout(new BoxLayout(nameAndFuel, BoxLayout.Y_AXIS));\r
+\r
+                       nameAndFuel.add(new JLabel("Name:"));\r
+                       nameAndFuel.add(new JTextField(motor.getName()) {\r
                                private static final long serialVersionUID = 1L;\r
                                {\r
+                                       setMinimumSize(new Dimension(200, 20));\r
+                                       setMaximumSize(new Dimension(Short.MAX_VALUE, 20));\r
                                        final JTextField t = this;\r
                                        addFocusListener(new FocusListener() {\r
 \r
@@ -266,8 +274,10 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener {
 \r
                                }\r
                        });\r
-                       parts.add(new JLabel("Fuel:"));\r
-                       parts.add( new JComboBox(availableFuels){{\r
+                       nameAndFuel.add(new JLabel("Fuel:"));\r
+                       nameAndFuel.add( new JComboBox(availableFuels){{\r
+                               setMinimumSize(new Dimension(200, 20));\r
+                               setMaximumSize(new Dimension(Short.MAX_VALUE, 20));\r
                                addActionListener(new ActionListener(){\r
                                        @Override\r
                                        public void actionPerformed(ActionEvent e) {\r
@@ -275,10 +285,20 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener {
                                                System.out.println("FUEL CHANGED");\r
                                        }});\r
                        }});\r
-                       parts.add(new JLabel("Casing:"));\r
-                       parts.add(new Editor(c));\r
-                       parts.add(new JLabel("Nozzle:"));\r
-                       parts.add(new Editor(n));\r
+                       nameAndFuel.add(Box.createVerticalGlue());\r
+                       parts.add(nameAndFuel);\r
+                       \r
+                       JPanel casing = new JPanel();\r
+                       casing.setLayout(new BoxLayout(casing, BoxLayout.Y_AXIS));\r
+                       casing.add(new JLabel("Casing:"));\r
+                       casing.add(new Editor(c));\r
+                       parts.add(casing);\r
+                       \r
+                       JPanel nozzle = new JPanel();\r
+                       nozzle.setLayout(new BoxLayout(nozzle, BoxLayout.Y_AXIS));\r
+                       nozzle.add(new JLabel("Nozzle:"));\r
+                       nozzle.add(new Editor(n));\r
+                       parts.add(nozzle);\r
 \r
                        if (n instanceof ChangeListening.Subject) {\r
                                ((ChangeListening.Subject) n)\r