package tim.prune.function.deletebydate; 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 java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.Date; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import tim.prune.App; import tim.prune.DataSubscriber; import tim.prune.I18nManager; import tim.prune.UpdateMessageBroker; import tim.prune.config.TimezoneHelper; import tim.prune.data.DataPoint; import tim.prune.function.compress.MarkAndDeleteFunction; /** * Function to select a date or dates, * and mark the corresponding points for deletion */ public class DeleteByDateFunction extends MarkAndDeleteFunction { /** dialog for selecting dates */ private JDialog _dialog = null; /** Ok button */ private JButton _okButton = null; /** date info list */ private DateInfoList _infoList = new DateInfoList(); /** * Constructor * @param inApp App object */ public DeleteByDateFunction(App inApp) { super(inApp); } @Override public String getNameKey() { return "function.deletebydate"; } @Override public void begin() { // Select the current timezone DateInfo.setTimezone(TimezoneHelper.getSelectedTimezone()); // Make a list of which dates are present in the track _infoList.clearAll(); final int numPoints = _app.getTrackInfo().getTrack().getNumPoints(); for (int i=0; i 0) { optionallyDeleteMarkedPoints(numMarked); } else { // Do nothing //System.out.println("Nothing selected to delete!"); // delete flags might have been reset, so refresh display UpdateMessageBroker.informSubscribers(DataSubscriber.SELECTION_CHANGED); } _dialog.dispose(); } }