+package tim.prune.undo;
+
+import tim.prune.I18nManager;
+import tim.prune.data.TrackInfo;
+
+/**
+ * Undo creation of new point
+ */
+public class UndoCreatePoint implements UndoOperation
+{
+ /**
+ * @return description of operation
+ */
+ public String getDescription()
+ {
+ return I18nManager.getText("undo.createpoint");
+ }
+
+
+ /**
+ * Perform the undo operation on the given Track
+ * @param inTrackInfo TrackInfo object on which to perform the operation
+ */
+ public void performUndo(TrackInfo inTrackInfo) throws UndoException
+ {
+ if (inTrackInfo.getTrack().getNumPoints() < 1)
+ {
+ throw new UndoException(getDescription());
+ }
+ // Reset selection if last point selected
+ if (inTrackInfo.getSelection().getCurrentPointIndex() == (inTrackInfo.getTrack().getNumPoints()-1)) {
+ inTrackInfo.getSelection().clearAll(); // Note: Informers told twice now!
+ }
+ // Remove last point
+ inTrackInfo.getTrack().cropTo(inTrackInfo.getTrack().getNumPoints() - 1);
+ }
+}