Split out summary panel
[sw/motorsim] / gui / com / billkuker / rocketry / motorsim / visual / BurnPanel.java
index 632d273b00385686c7e5c5aebe5b1700f365893d..6ee32df1f6626df0e1f632be0e65a8fa795c8b53 100644 (file)
@@ -3,8 +3,6 @@ package com.billkuker.rocketry.motorsim.visual;
 import java.awt.BorderLayout;\r
 import java.awt.Color;\r
 import java.awt.Dimension;\r
-import java.awt.GridLayout;\r
-import java.text.DecimalFormat;\r
 import java.text.NumberFormat;\r
 \r
 import javax.measure.quantity.Duration;\r
@@ -13,7 +11,6 @@ import javax.measure.quantity.Pressure;
 import javax.measure.quantity.Velocity;\r
 import javax.measure.unit.SI;\r
 import javax.swing.JFrame;\r
-import javax.swing.JLabel;\r
 import javax.swing.JPanel;\r
 import javax.swing.JSlider;\r
 import javax.swing.JSplitPane;\r
@@ -25,7 +22,6 @@ import org.jscience.physics.amount.Amount;
 \r
 import com.billkuker.rocketry.motorsim.Burn;\r
 import com.billkuker.rocketry.motorsim.BurnSummary;\r
-import com.billkuker.rocketry.motorsim.RocketScience;\r
 \r
 public class BurnPanel extends JPanel {\r
        private static final long serialVersionUID = 1L;\r
@@ -100,64 +96,39 @@ public class BurnPanel extends JPanel {
                        \r
                        add( new SL(), BorderLayout.SOUTH);\r
                        \r
-                       \r
+                       BurnSummary bi = new BurnSummary(burn);\r
+                       SummaryPanel text = new SummaryPanel(burn);\r
+                       text.setBurnSummary(bi);\r
+                       add(text, BorderLayout.NORTH);\r
                        \r
                        {\r
-                               BurnSummary bi = new BurnSummary(burn);\r
-                               JPanel text = new JPanel(new GridLayout(2, 5));\r
-\r
-                               text.add(new JLabel("Rating"));\r
-                               text.add(new JLabel("Total Impulse"));\r
-                               text.add(new JLabel("ISP"));\r
-                               text.add(new JLabel("Max Thrust"));\r
-                               text.add(new JLabel("Average Thust"));\r
-                               text.add(new JLabel("Max Pressure"));\r
-                               \r
-                               text.add(new JLabel("Safty Factor"));\r
 \r
-                               text.add(new JLabel(bi.getRating()));\r
-                               text.add(new JLabel(RocketScience.ammountToRoundedString(bi.totalImpulse())));\r
-                               text.add(new JLabel(RocketScience.ammountToRoundedString(bi.specificImpulse())));\r
-                               text.add(new JLabel(RocketScience\r
-                                               .ammountToRoundedString(bi.maxThrust())));\r
-                               text.add(new JLabel(RocketScience\r
-                                               .ammountToRoundedString(bi.averageThrust())));\r
-                               text.add(new JLabel(RocketScience\r
-                                               .ammountToRoundedString(bi.maxPressure())));\r
-                               \r
+                               //Color in the Burst marker\r
                                Color saftyColor;\r
                                if ( bi.getSaftyFactor() == null ){\r
-\r
                                        saftyColor = Color.BLACK;\r
-                                       text.add(new JLabel("NA"));\r
                                } else {\r
                                        double d = bi.getSaftyFactor();\r
-                                       if ( d > 1.5 ){\r
+                                       if ( d >= 1.5 ){\r
                                                saftyColor = GREEN;\r
                                        } else if ( d > 1 ){\r
                                                saftyColor = ORANGE;\r
                                        } else {\r
                                                saftyColor = RED;\r
                                        }\r
-                                       JLabel l = new JLabel( new DecimalFormat("##########.#").format(bi.getSaftyFactor()));\r
-                                       l.setOpaque(true);\r
-                                       l.setBackground(saftyColor);\r
-                                       l.setForeground(Color.WHITE);\r
-                                       text.add(l);\r
+                               }\r
+                               Amount<Pressure> burst = b.getMotor().getChamber().getBurstPressure();\r
+                               if ( burst != null ){\r
+                                       pressure.addRangeMarker(burst, "Burst", saftyColor);\r
                                }\r
                                \r
-\r
-                               add(text, BorderLayout.NORTH);\r
-                               \r
+                               //Add some additional Markers\r
                                thrust.addRangeMarker(bi.maxThrust(), "Max", Color.BLACK);\r
                                thrust.addRangeMarker(bi.averageThrust(), "Average", Color.BLACK);\r
                                pressure.addRangeMarker(bi.maxPressure(), "Max", Color.BLACK);\r
                                burnRate.addDomainMarker(bi.maxPressure(), "Max", RED);\r
                                \r
-                               Amount<Pressure> burst = b.getMotor().getChamber().burstPressure();\r
-                               if ( burst != null ){\r
-                                       pressure.addRangeMarker(burst, "Burst", saftyColor);\r
-                               }\r
+\r
                        }\r
                        \r
                        \r