package icy.sequence.edit;
import icy.roi.ROI;
import icy.sequence.Sequence;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;
/**
* ROI replace Sequence edit event.
*
* @author Stephane
*/
public class ROIReplaceSequenceEdit extends AbstractROISequenceEdit
{
final ROI oldRoi;
public ROIReplaceSequenceEdit(Sequence sequence, ROI oldRoi, ROI newRoi, String name)
{
super(sequence, newRoi, name);
this.oldRoi = oldRoi;
}
public ROIReplaceSequenceEdit(Sequence sequence, ROI oldRoi, ROI newRoi)
{
this(sequence, oldRoi, newRoi, "ROI replaced");
}
@Override
public void undo() throws CannotUndoException
{
super.undo();
final Sequence seq = getSequence();
seq.removeROI(getROI(), false);
seq.addROI(oldRoi, false);
}
@Override
public void redo() throws CannotRedoException
{
super.redo();
final Sequence seq = getSequence();
seq.removeROI(oldRoi, false);
seq.addROI(getROI(), false);
}
}