create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / gui / dialogs / motor / thrustcurve / ThrustCurveMotorDatabaseModel.java
1 package net.sf.openrocket.gui.dialogs.motor.thrustcurve;
2
3 import java.util.List;
4
5 import javax.swing.table.AbstractTableModel;
6
7 import net.sf.openrocket.database.ThrustCurveMotorSet;
8
9 class ThrustCurveMotorDatabaseModel extends AbstractTableModel {
10         private final List<ThrustCurveMotorSet> database;
11         
12         public ThrustCurveMotorDatabaseModel(List<ThrustCurveMotorSet> database) {
13                 this.database = database;
14         }
15         
16         @Override
17         public int getColumnCount() {
18                 return ThrustCurveMotorColumns.values().length;
19         }
20         
21         @Override
22         public int getRowCount() {
23                 return database.size();
24         }
25         
26         @Override
27         public Object getValueAt(int rowIndex, int columnIndex) {
28                 ThrustCurveMotorColumns column = getColumn(columnIndex);
29                 return column.getValue(database.get(rowIndex));
30         }
31         
32         @Override
33         public String getColumnName(int columnIndex) {
34                 return getColumn(columnIndex).getTitle();
35         }
36         
37         
38         public ThrustCurveMotorSet getMotorSet(int rowIndex) {
39                 return database.get(rowIndex);
40         }
41         
42         
43         public int getIndex(ThrustCurveMotorSet m) {
44                 return database.indexOf(m);
45         }
46         
47         private ThrustCurveMotorColumns getColumn(int index) {
48                 return ThrustCurveMotorColumns.values()[index];
49         }
50         
51 }