From 1bf2ed2a54d5c8317efe46ace97515a95bd1bf9c Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Wed, 31 Oct 2018 18:46:17 -0600 Subject: [PATCH] Show stage names instead of stage numbers --- swing/resources/datafiles/presets/system.ser | Bin 386370 -> 386370 bytes .../gui/components/StageSelector.java | 22 +++++++----------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/swing/resources/datafiles/presets/system.ser b/swing/resources/datafiles/presets/system.ser index 33648114cadcbbf9a13720ed07e6b336e8074da7..28a7bbe93ec9cd910cf486a957c905b7296d84c6 100644 GIT binary patch delta 381 zcmX?fO8n3%@ePyLOpaT7d~(2AzR8ohKz>0ki^}BF$JYay?fIA(nJ!iX1?w(e29nv~DwE4DZ3411F9V%5`9GMvdgUUJz5FUj+u6CSDwAhl1Nv#Q z_w@@vfm$mj)#;tZjM9@048(m;psirtg4gij;sPQF9fo9 zO~3GrMR@uIcNXEvGmj=S3Qzuf^a@bwK_*bDppKDmvexk$Aip4&MP>5ouds0DBvSR$RP?SbPFUjePJ@PC9BQ>#ikV^3ss#5>AZdZJWz3CD^LdH zRi=y8K*73;mw{wF{AY4fVC2n|6diK{+fh#9NF&%ml>D NK+Ljz;w{#VTmT8Fpm6{I diff --git a/swing/src/net/sf/openrocket/gui/components/StageSelector.java b/swing/src/net/sf/openrocket/gui/components/StageSelector.java index a1cbdaf5a..81accf8b8 100644 --- a/swing/src/net/sf/openrocket/gui/components/StageSelector.java +++ b/swing/src/net/sf/openrocket/gui/components/StageSelector.java @@ -15,6 +15,7 @@ import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.Rocket; +import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.StateChangeListener; @@ -36,15 +37,10 @@ public class StageSelector extends JPanel implements StateChangeListener { } private void updateButtons( final FlightConfiguration configuration ) { - int stages = configuration.getStageCount(); - if (buttons.size() == stages) - return; - buttons.clear(); this.removeAll(); for(AxialStage stage : configuration.getRocket().getStageList()){ - int stageNum = stage.getStageNumber(); - JToggleButton button = new JToggleButton(new StageAction(stageNum)); + JToggleButton button = new JToggleButton(new StageAction(stage)); button.setSelected(true); this.add(button); buttons.add(button); @@ -56,31 +52,31 @@ public class StageSelector extends JPanel implements StateChangeListener { @Override public void stateChanged(EventObject eo) { Object source = eo.getSource(); - if( source instanceof Rocket ){ - Rocket rkt = (Rocket) eo.getSource(); + if ((source instanceof Rocket) || (source instanceof AxialStage)) { + Rocket rkt = (Rocket) ((RocketComponent) source).getRoot(); updateButtons( rkt.getSelectedConfiguration() ); } } private class StageAction extends AbstractAction { - private final int stageNumber; + private final AxialStage stage; - public StageAction(final int stage) { - this.stageNumber = stage; + public StageAction(final AxialStage stage) { + this.stage = stage; } @Override public Object getValue(String key) { if (key.equals(NAME)) { // Stage - return trans.get("StageAction.Stage") + " " + (stageNumber ); + return stage.getName(); } return super.getValue(key); } @Override public void actionPerformed(ActionEvent e) { - rocket.getSelectedConfiguration().toggleStage(stageNumber); + rocket.getSelectedConfiguration().toggleStage(stage.getStageNumber()); rocket.fireComponentChangeEvent(ComponentChangeEvent.AEROMASS_CHANGE | ComponentChangeEvent.MOTOR_CHANGE ); }