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 add Sequence edit event. * * @author Stephane */ public class ROIAddsSequenceEdit extends AbstractROIsSequenceEdit { public ROIAddsSequenceEdit(Sequence sequence, Collection<ROI> rois, String name) { super(sequence, rois, name); } public ROIAddsSequenceEdit(Sequence sequence, Collection<ROI> rois) { this(sequence, rois, (rois.size() > 1) ? "ROI group added" : "ROI added"); } @Override public void undo() throws CannotUndoException { super.undo(); final Sequence sequence = getSequence(); sequence.beginUpdate(); try { for (ROI roi : getROIs()) sequence.removeROI(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.addROI(roi, false); } finally { sequence.endUpdate(); } } }