+++ /dev/null
-package tim.prune.function;
-
-import tim.prune.App;
-import tim.prune.data.Track;
-
-/**
- * Class to provide the function to crop the track
- * to the current selection
- */
-public class CropToSelection extends DeleteBitOfTrackFunction
-{
- /**
- * Constructor
- * @param inApp application object for callback
- */
- public CropToSelection(App inApp)
- {
- super(inApp);
- }
-
- /** Get the name key */
- public String getNameKey() {
- return "function.croptrack";
- }
-
- /**
- * @return name key for undo operation
- */
- protected String getUndoNameKey() {
- return "undo.croptrack";
- }
-
- /**
- * Begin the function
- */
- public void begin()
- {
- // check track
- Track track = _app.getTrackInfo().getTrack();
- if (track == null || track.getNumPoints() <= 0) return;
- // check selection
- final int selStart = _app.getTrackInfo().getSelection().getStart();
- final int selEnd = _app.getTrackInfo().getSelection().getEnd();
- if (selStart < 0 || selEnd < 0 || selEnd <= selStart) return;
- // check for all selected
- if (selStart == 0 && selEnd == (track.getNumPoints() - 1)) return;
-
- // Pass indexes to parent class
- deleteTwoSections(0, selStart-1, selEnd+1, track.getNumPoints()-1);
- }
-}