package icy.sequence.edit;
import icy.roi.ROI;
import icy.sequence.Sequence;
import java.util.Collection;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;
/**
* ROI group remove Sequence edit event
*
* @author Stephane
*/
public class ROIRemovesSequenceEdit extends AbstractROIsSequenceEdit
{
public ROIRemovesSequenceEdit(Sequence sequence, Collection<ROI> rois)
{
super(sequence, rois, (rois.size() > 1) ? "ROI group removed" : "ROI removed");
}
@Override
public void undo() throws CannotUndoException
{
super.undo();
final Sequence sequence = getSequence();
sequence.beginUpdate();
try
{
for (ROI roi : getROIs())
sequence.addROI(roi, false);
}
finally
{
sequence.endUpdate();
}
}
@Override
public void redo() throws CannotRedoException
{
super.redo();
final Sequence sequence = getSequence();
sequence.beginUpdate();
try
{
for (ROI roi : getROIs())
sequence.removeROI(roi, false);
}
finally
{
sequence.endUpdate();
}
}
}