package tim.prune.function.edit; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import tim.prune.App; import tim.prune.I18nManager; import tim.prune.data.DataPoint; import tim.prune.data.Field; import tim.prune.data.FieldList; import tim.prune.data.Track; /** * Class to manage the display and editing of point data */ public class PointEditor { private App _app = null; private JFrame _parentFrame = null; private JDialog _dialog = null; private JTable _table = null; private Track _track = null; private DataPoint _point = null; private EditFieldsTableModel _model = null; private JButton _editButton = null; private JButton _okButton = null; /** * Constructor * @param inApp application object to inform of success * @param inParentFrame parent frame */ public PointEditor(App inApp, JFrame inParentFrame) { _app = inApp; _parentFrame = inParentFrame; } /** * Show the edit point dialog * @param inTrack track object * @param inPoint point to edit */ public void showDialog(Track inTrack, DataPoint inPoint) { _track = inTrack; _point = inPoint; _dialog = new JDialog(_parentFrame, I18nManager.getText("dialog.pointedit.title"), true); _dialog.setLocationRelativeTo(_parentFrame); // Check field list FieldList fieldList = _track.getFieldList(); int numFields = fieldList.getNumFields(); // Create table model for point editor _model = new EditFieldsTableModel(numFields); for (int i=0; i