Localized column heading and added rocket listener to update columns.

This commit is contained in:
kruland2607 2013-10-01 11:34:57 -05:00
parent e36a90adfc
commit fa7916f7b0
4 changed files with 41 additions and 12 deletions

View File

@ -175,6 +175,7 @@ debuglogdlg.lbl.Stacktrace = Stack trace:
MotorChooserDialog.title = Select a rocket motor MotorChooserDialog.title = Select a rocket motor
! Edit Motor configuration dialog ! Edit Motor configuration dialog
edtmotorconfdlg.col.configuration = Configuration
edtmotorconfdlg.but.Removeconfiguration = Remove edtmotorconfdlg.but.Removeconfiguration = Remove
edtmotorconfdlg.but.Renameconfiguration = Rename edtmotorconfdlg.but.Renameconfiguration = Rename
edtmotorconfdlg.but.Newconfiguration = New edtmotorconfdlg.but.Newconfiguration = New

View File

@ -6,6 +6,8 @@ import java.util.List;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
import net.sf.openrocket.rocketcomponent.ComponentChangeListener;
import net.sf.openrocket.rocketcomponent.MotorMount; import net.sf.openrocket.rocketcomponent.MotorMount;
import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
@ -15,11 +17,11 @@ import net.sf.openrocket.util.Pair;
/** /**
* The table model for selecting and editing the motor configurations. * The table model for selecting and editing the motor configurations.
*/ */
class MotorConfigurationTableModel extends AbstractTableModel { class MotorConfigurationTableModel extends AbstractTableModel implements ComponentChangeListener {
private static final Translator trans = Application.getTranslator(); private static final Translator trans = Application.getTranslator();
private static final String CONFIGURATION = "Configuration"; private static final String CONFIGURATION = trans.get("edtmotorconfdlg.col.configuration");
private final Rocket rocket; private final Rocket rocket;
@ -28,11 +30,19 @@ class MotorConfigurationTableModel extends AbstractTableModel {
public MotorConfigurationTableModel(Rocket rocket) { public MotorConfigurationTableModel(Rocket rocket) {
this.rocket = rocket; this.rocket = rocket;
this.rocket.addComponentChangeListener(this);
initializeMotorMounts(); initializeMotorMounts();
} }
@Override
public void componentChanged(ComponentChangeEvent e) {
if ( e.isMotorChange() || e.isTreeChange() ) {
initializeMotorMounts();
fireTableStructureChanged();
}
}
private void initializeMotorMounts() { private void initializeMotorMounts() {
motorMounts.clear(); motorMounts.clear();
for (RocketComponent c : rocket) { for (RocketComponent c : rocket) {

View File

@ -7,13 +7,15 @@ import java.util.List;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
import net.sf.openrocket.rocketcomponent.ComponentChangeListener;
import net.sf.openrocket.rocketcomponent.RecoveryDevice; import net.sf.openrocket.rocketcomponent.RecoveryDevice;
import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.Pair; import net.sf.openrocket.util.Pair;
class RecoveryTableModel extends AbstractTableModel { class RecoveryTableModel extends AbstractTableModel implements ComponentChangeListener {
private static final Translator trans = Application.getTranslator(); private static final Translator trans = Application.getTranslator();
@ -21,7 +23,7 @@ class RecoveryTableModel extends AbstractTableModel {
private final List<RecoveryDevice> recoveryDevices = new ArrayList<RecoveryDevice>(); private final List<RecoveryDevice> recoveryDevices = new ArrayList<RecoveryDevice>();
private static final String CONFIGURATION = "Configuration"; private static final String CONFIGURATION = trans.get("edtmotorconfdlg.col.configuration");
/** /**
@ -29,10 +31,19 @@ class RecoveryTableModel extends AbstractTableModel {
*/ */
RecoveryTableModel(Rocket rocket) { RecoveryTableModel(Rocket rocket) {
this.rocket = rocket; this.rocket = rocket;
this.rocket.addComponentChangeListener(this);
initialize(); initialize();
} }
@Override
public void componentChanged(ComponentChangeEvent e) {
if ( e.isTreeChange() ) {
initialize();
fireTableStructureChanged();
}
}
private void initialize() { private void initialize() {
recoveryDevices.clear(); recoveryDevices.clear();
Iterator<RocketComponent> it = rocket.iterator(); Iterator<RocketComponent> it = rocket.iterator();

View File

@ -7,16 +7,15 @@ import java.util.List;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.rocketcomponent.RecoveryDevice; import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
import net.sf.openrocket.rocketcomponent.ComponentChangeListener;
import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.Stage; import net.sf.openrocket.rocketcomponent.Stage;
import net.sf.openrocket.rocketcomponent.StageSeparationConfiguration;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.Pair; import net.sf.openrocket.util.Pair;
class SeparationTableModel extends AbstractTableModel { class SeparationTableModel extends AbstractTableModel implements ComponentChangeListener {
private static final Translator trans = Application.getTranslator(); private static final Translator trans = Application.getTranslator();
@ -24,14 +23,22 @@ class SeparationTableModel extends AbstractTableModel {
private final List<Stage> stages = new ArrayList<Stage>(); private final List<Stage> stages = new ArrayList<Stage>();
private static final String CONFIGURATION = "Configuration"; private static final String CONFIGURATION = trans.get("edtmotorconfdlg.col.configuration");
SeparationTableModel(Rocket rocket ) { SeparationTableModel(Rocket rocket ) {
this.rocket = rocket; this.rocket = rocket;
this.rocket.addComponentChangeListener(this);
initialize(); initialize();
} }
@Override
public void componentChanged(ComponentChangeEvent e) {
if ( e.isTreeChange() ) {
initialize();
fireTableStructureChanged();
}
}
private void initialize() { private void initialize() {
stages.clear(); stages.clear();
Iterator<RocketComponent> it = rocket.iterator(); Iterator<RocketComponent> it = rocket.iterator();