import com.billkuker.rocketry.motorsim.BurnSummary;\r
import com.billkuker.rocketry.motorsim.RocketScience;\r
\r
-public class SummaryPanel extends JPanel implements Burn.BurnProgressListener {\r
+public class SummaryPanel extends JPanel implements Burn.BurnProgressListener, RocketScience.UnitPreferenceListener {\r
private static final long serialVersionUID = 1L;\r
private static final Color RED = new Color(196, 0, 0);\r
private static final Color GREEN = new Color(0, 196, 0);\r
private static final Color ORANGE = new Color(160, 96, 0);\r
private final Burn burn;\r
private final JProgressBar bar = new JProgressBar();\r
+ private BurnSummary bs;\r
\r
\r
public SummaryPanel(Burn b) {\r
\r
@Override\r
public void burnComplete() {\r
- setBurnSummary(new BurnSummary(burn));\r
+ setBurnSummary(bs = new BurnSummary(burn));\r
+ RocketScience.addUnitPreferenceListener(this);\r
+ }\r
+ \r
+\r
+ @Override\r
+ public void preferredUnitsChanged() {\r
+ if ( bs != null )\r
+ setBurnSummary(bs);\r
}\r
\r
private void setBurnSummary(final BurnSummary bi) {\r
SummaryPanel.this.add(new JLabel("Average Thust"));\r
SummaryPanel.this.add(new JLabel("Max Pressure"));\r
SummaryPanel.this.add(new JLabel("Fuel Mass"));\r
+ SummaryPanel.this.add(new JLabel("Volume Loading"));\r
SummaryPanel.this.add(new JLabel("Safty Factor"));\r
\r
SummaryPanel.this.add(new JLabel(bi.getRating()));\r
.ammountToRoundedString(bi.maxPressure())));\r
SummaryPanel.this.add(new JLabel(RocketScience\r
.ammountToRoundedString(bi.getPropellantMass())));\r
+ SummaryPanel.this.add(new JLabel(Integer.toString((int)(bi.getVolumeLoading()*100.0)) + "%"));\r
\r
Color saftyColor;\r
if (bi.getSaftyFactor() == null) {\r
});\r
}\r
\r
+\r
}\r