4 package net.sf.openrocket.gui.customexpression;
6 import java.awt.event.MouseAdapter;
7 import java.awt.event.MouseEvent;
8 import java.util.ArrayList;
9 import java.util.Collections;
10 import java.util.List;
12 import java.util.Vector;
14 import javax.swing.JTable;
15 import javax.swing.table.AbstractTableModel;
16 import javax.swing.table.TableColumn;
17 import javax.swing.table.TableColumnModel;
19 import net.sf.openrocket.document.OpenRocketDocument;
20 import net.sf.openrocket.l10n.Translator;
21 import net.sf.openrocket.simulation.customexpression.CustomExpression;
22 import net.sf.openrocket.simulation.FlightDataType;
23 import net.sf.openrocket.startup.Application;
26 * @author Richard Graham
29 public class VariableTableModel extends AbstractTableModel {
31 private static final Translator trans = Application.getTranslator();
33 private List<FlightDataType> types; // = new ArrayList<FlightDataType>();
34 private static final String[] columnNames = {trans.get("customExpression.Name"), trans.get("customExpression.Symbol"), trans.get("customExpression.Units")};
37 * Table model will be constructed with all the built in variables and any custom variables defined
39 public VariableTableModel(OpenRocketDocument doc){
41 types = new ArrayList<FlightDataType>( doc.getFlightDataTypes() );
43 //Collections.addAll(types, FlightDataType.ALL_TYPES);
44 //for (CustomExpression expression : doc.getCustomExpressions()){
45 // types.add(expression.getType());
50 public int getColumnCount() {
55 public int getRowCount() {
60 public Object getValueAt(int row, int col) {
62 return types.get(row).getName();
64 return types.get(row).getSymbol();
66 return types.get(row).getUnitGroup().getSIUnit().toString();
72 public String getColumnName(int col) {
73 return columnNames[col];
76 public String getSymbolAt(int row) {
77 if (row < 0 || row > types.size()){
81 return types.get(row).getSymbol();