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);
}
}