package net.sf.openrocket.gui.dialogs.motor.thrustcurve;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import net.sf.openrocket.database.motor.ThrustCurveMotorSet;
class ThrustCurveMotorDatabaseModel extends AbstractTableModel {
private final List<ThrustCurveMotorSet> database;
public ThrustCurveMotorDatabaseModel(List<ThrustCurveMotorSet> database) {
this.database = database;
}
@Override
public int getColumnCount() {
return ThrustCurveMotorColumns.values().length;
}
@Override
public int getRowCount() {
return database.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
ThrustCurveMotorColumns column = getColumn(columnIndex);
return column.getValue(database.get(rowIndex));
}
@Override
public String getColumnName(int columnIndex) {
return getColumn(columnIndex).getTitle();
}
public ThrustCurveMotorSet getMotorSet(int rowIndex) {
return database.get(rowIndex);
}
public int getIndex(ThrustCurveMotorSet m) {
return database.indexOf(m);
}
private ThrustCurveMotorColumns getColumn(int index) {
return ThrustCurveMotorColumns.values()[index];
}
}