/* * DeleteArcPathPointEdit.java */ package pipe.historyActions.arc; import uk.ac.imperial.pipe.models.petrinet.Arc; import uk.ac.imperial.pipe.models.petrinet.ArcPoint; import uk.ac.imperial.pipe.models.petrinet.Connectable; import javax.swing.undo.AbstractUndoableEdit; /** * Deletes a point from an arcs path */ public class DeleteArcPathPoint<S extends Connectable, T extends Connectable> extends AbstractUndoableEdit { /** * Arc model */ private final Arc<S, T> arc; /** * Arc point to delete from the arc */ private final ArcPoint point; /** * Constructor * * @param arc model * @param arcPoint arc point to delete from the model */ public DeleteArcPathPoint(Arc<S, T> arc, ArcPoint arcPoint) { this.arc = arc; this.point = arcPoint; } /** * Adds the point back to the arc */ @Override public void undo() { super.undo(); arc.addIntermediatePoint(point); } /** * Deletes the point from the arc */ @Override public void redo() { super.redo(); arc.removeIntermediatePoint(point); } }