/* * SplitArcAction.java */ package pipe.actions.petrinet; import pipe.controllers.ArcController; import uk.ac.imperial.pipe.models.petrinet.Connectable; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.geom.Point2D; /** * This class is used to split an arc in two at the * point the user clicks the mouse button. * */ @SuppressWarnings("serial") public class SplitArcAction extends javax.swing.AbstractAction { /** * Arc controller */ private final ArcController<? extends Connectable, ? extends Connectable> arcController; /** * Point at which to split the arc */ private final Point2D.Double point; /** * * @param arcController arc controller * @param mousePoint point at which to split the arc */ public SplitArcAction(ArcController<? extends Connectable, ? extends Connectable> arcController, Point mousePoint) { this.arcController = arcController; point = new Point2D.Double(mousePoint.getX(), mousePoint.getY()); } /** * Adds a new arc path point at the specified location * @param arg0 event */ @Override public void actionPerformed(ActionEvent arg0) { arcController.addPoint(point); } }