package net.ms.designer.editors.componentdetail.editparts; import net.ms.designer.editors.componentdetail.models.Wire; import net.ms.designer.editors.componentdetail.policies.BendpointCommand; import net.ms.designer.editors.componentdetail.policies.CreateBendpointCommand; import net.ms.designer.editors.componentdetail.policies.DeleteBendpointCommand; import net.ms.designer.editors.componentdetail.policies.MoveBendpointCommand; import org.eclipse.draw2d.Connection; import org.eclipse.draw2d.geometry.Point; import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPolicy; import org.eclipse.gef.Request; import org.eclipse.gef.commands.Command; import org.eclipse.gef.requests.BendpointRequest; public class WireBendpointEditPolicy extends org.eclipse.gef.editpolicies.BendpointEditPolicy { public void activate() { // TODO Auto-generated method stub } public void deactivate() { // TODO Auto-generated method stub } public void eraseSourceFeedback(Request arg0) { // TODO Auto-generated method stub } public void eraseTargetFeedback(Request arg0) { // TODO Auto-generated method stub } public Command getCommand(Request arg0) { // TODO Auto-generated method stub return null; } public EditPart getHost() { // TODO Auto-generated method stub return null; } public EditPart getTargetEditPart(Request arg0) { // TODO Auto-generated method stub return null; } public void setHost(EditPart arg0) { // TODO Auto-generated method stub } public void showSourceFeedback(Request arg0) { // TODO Auto-generated method stub } public void showTargetFeedback(Request arg0) { // TODO Auto-generated method stub } public boolean understandsRequest(Request arg0) { // TODO Auto-generated method stub return false; } protected Command getCreateBendpointCommand(BendpointRequest request) { CreateBendpointCommand com = new CreateBendpointCommand(); Point p = request.getLocation(); Connection conn = getConnection(); conn.translateToRelative(p); com.setLocation(p); Point ref1 = getConnection().getSourceAnchor().getReferencePoint(); Point ref2 = getConnection().getTargetAnchor().getReferencePoint(); conn.translateToRelative(ref1); conn.translateToRelative(ref2); com.setRelativeDimensions(p.getDifference(ref1), p.getDifference(ref2)); com.setWire((Wire)request.getSource().getModel()); com.setIndex(request.getIndex()); return com; } protected Command getMoveBendpointCommand(BendpointRequest request) { MoveBendpointCommand com = new MoveBendpointCommand(); Point p = request.getLocation(); Connection conn = getConnection(); conn.translateToRelative(p); com.setLocation(p); Point ref1 = getConnection().getSourceAnchor().getReferencePoint(); Point ref2 = getConnection().getTargetAnchor().getReferencePoint(); conn.translateToRelative(ref1); conn.translateToRelative(ref2); com.setRelativeDimensions(p.getDifference(ref1), p.getDifference(ref2)); com.setWire((Wire)request.getSource().getModel()); com.setIndex(request.getIndex()); return com; } protected Command getDeleteBendpointCommand(BendpointRequest request) { BendpointCommand com = new DeleteBendpointCommand(); Point p = request.getLocation(); com.setLocation(p); com.setWire((Wire)request.getSource().getModel()); com.setIndex(request.getIndex()); return com; } }