/** * */ package icy.sequence.edit; import icy.sequence.Sequence; import java.awt.Image; import javax.swing.undo.CannotUndoException; /** * Default lazy sequence data undoable edit (do a complete sequence data copy to restore previous * state).<br> * Do not handle redo operation to not consume too much memory. * * @author Stephane */ public class DataSequenceEdit extends AbstractSequenceEdit { Sequence previous; public DataSequenceEdit(Sequence previous, Sequence sequence, Image icon) { super(sequence, "Sequence data changed", icon); this.previous = previous; } public DataSequenceEdit(Sequence previous, Sequence sequence) { this(previous, sequence, null); } @Override public void undo() throws CannotUndoException { super.undo(); // undo getSequence().copyDataFrom(previous); } @Override public boolean canRedo() { return false; } }