Refactor MotorMountTable UI currently used in flight configuration
dialog in order to provide reuse.
This commit is contained in:
parent
88ddb86758
commit
e091f3341a
@ -65,23 +65,16 @@ public class MotorConfigurationPanel extends JPanel {
|
|||||||
|
|
||||||
|
|
||||||
//// Motor Mount selection
|
//// Motor Mount selection
|
||||||
JTable table = new JTable(new MotorMountTableModel(this, rocket));
|
{
|
||||||
table.setTableHeader(null);
|
MotorMountConfigurationPanel mountConfigPanel = new MotorMountConfigurationPanel(this,rocket) {
|
||||||
table.setShowVerticalLines(false);
|
@Override
|
||||||
table.setRowSelectionAllowed(false);
|
public void onDataChanged() {
|
||||||
table.setColumnSelectionAllowed(false);
|
MotorConfigurationPanel.this.fireTableDataChanged();
|
||||||
|
|
||||||
TableColumnModel columnModel = table.getColumnModel();
|
|
||||||
TableColumn col0 = columnModel.getColumn(0);
|
|
||||||
int w = table.getRowHeight() + 2;
|
|
||||||
col0.setMinWidth(w);
|
|
||||||
col0.setPreferredWidth(w);
|
|
||||||
col0.setMaxWidth(w);
|
|
||||||
|
|
||||||
table.addMouseListener(new GUIUtil.BooleanTableClickListener(table));
|
|
||||||
JScrollPane scroll = new JScrollPane(table);
|
|
||||||
this.add(scroll, "w 200lp, h 150lp, grow");
|
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.add(mountConfigPanel, "w 200lp, h 150lp, grow");
|
||||||
|
}
|
||||||
|
|
||||||
//// Motor selection table.
|
//// Motor selection table.
|
||||||
configurationTableModel = new MotorConfigurationTableModel(rocket);
|
configurationTableModel = new MotorConfigurationTableModel(rocket);
|
||||||
@ -107,7 +100,7 @@ public class MotorConfigurationPanel extends JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
scroll = new JScrollPane(configurationTable);
|
JScrollPane scroll = new JScrollPane(configurationTable);
|
||||||
this.add(scroll, "w 500lp, h 150lp, grow, wrap");
|
this.add(scroll, "w 500lp, h 150lp, grow, wrap");
|
||||||
|
|
||||||
//// Select motor
|
//// Select motor
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
package net.sf.openrocket.gui.dialogs.flightconfiguration;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.TableColumn;
|
||||||
|
import javax.swing.table.TableColumnModel;
|
||||||
|
|
||||||
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
import net.sf.openrocket.gui.util.GUIUtil;
|
||||||
|
import net.sf.openrocket.rocketcomponent.Rocket;
|
||||||
|
|
||||||
|
public abstract class MotorMountConfigurationPanel extends JPanel {
|
||||||
|
|
||||||
|
|
||||||
|
private final Rocket rocket;
|
||||||
|
private final Component parent;
|
||||||
|
|
||||||
|
public MotorMountConfigurationPanel( Component parent, Rocket rocket ) {
|
||||||
|
super(new MigLayout("") );
|
||||||
|
|
||||||
|
this.parent = parent;
|
||||||
|
this.rocket = rocket;
|
||||||
|
|
||||||
|
//// Motor Mount selection
|
||||||
|
JTable table = new JTable(new MotorMountTableModel(this, rocket));
|
||||||
|
table.setTableHeader(null);
|
||||||
|
table.setShowVerticalLines(false);
|
||||||
|
table.setRowSelectionAllowed(false);
|
||||||
|
table.setColumnSelectionAllowed(false);
|
||||||
|
|
||||||
|
TableColumnModel columnModel = table.getColumnModel();
|
||||||
|
TableColumn col0 = columnModel.getColumn(0);
|
||||||
|
int w = table.getRowHeight() + 2;
|
||||||
|
col0.setMinWidth(w);
|
||||||
|
col0.setPreferredWidth(w);
|
||||||
|
col0.setMaxWidth(w);
|
||||||
|
|
||||||
|
table.addMouseListener(new GUIUtil.BooleanTableClickListener(table));
|
||||||
|
JScrollPane scroll = new JScrollPane(table);
|
||||||
|
this.add(scroll, "w 200lp, h 150lp, grow");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void onDataChanged();
|
||||||
|
}
|
@ -14,14 +14,14 @@ import net.sf.openrocket.util.ArrayList;
|
|||||||
*/
|
*/
|
||||||
class MotorMountTableModel extends AbstractTableModel {
|
class MotorMountTableModel extends AbstractTableModel {
|
||||||
|
|
||||||
private final MotorConfigurationPanel motorConfigurationPanel;
|
private final MotorMountConfigurationPanel motorConfigurationPanel;
|
||||||
|
|
||||||
private final List<MotorMount> potentialMounts = new ArrayList<MotorMount>();
|
private final List<MotorMount> potentialMounts = new ArrayList<MotorMount>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param motorConfigurationPanel
|
* @param motorConfigurationPanel
|
||||||
*/
|
*/
|
||||||
MotorMountTableModel(MotorConfigurationPanel motorConfigurationPanel, Rocket rocket) {
|
MotorMountTableModel(MotorMountConfigurationPanel motorConfigurationPanel, Rocket rocket) {
|
||||||
this.motorConfigurationPanel = motorConfigurationPanel;
|
this.motorConfigurationPanel = motorConfigurationPanel;
|
||||||
|
|
||||||
for (RocketComponent c : rocket) {
|
for (RocketComponent c : rocket) {
|
||||||
@ -82,6 +82,6 @@ class MotorMountTableModel extends AbstractTableModel {
|
|||||||
|
|
||||||
MotorMount mount = potentialMounts.get(row);
|
MotorMount mount = potentialMounts.get(row);
|
||||||
mount.setMotorMount((Boolean) value);
|
mount.setMotorMount((Boolean) value);
|
||||||
this.motorConfigurationPanel.fireTableDataChanged();
|
this.motorConfigurationPanel.onDataChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user