/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.diagram.ui.connection; import java.util.List; import org.eclipse.draw2d.ChopboxAnchor; import org.eclipse.draw2d.ConnectionAnchor; import org.teiid.designer.diagram.ui.part.DiagramEditPart; /** * @since 8.0 */ public class ChopBoxAnchorManager implements AnchorManager { // private ConnectionAnchor sourceAnchor; // private ConnectionAnchor targetAnchor; private DiagramEditPart diagramEditPart; /** * Construct an instance of AnchorManager. */ public ChopBoxAnchorManager(DiagramEditPart diagramEditPart) { this.diagramEditPart = diagramEditPart; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#add(org.teiid.designer.diagram.ui.connection.NodeConnectionAnchor) * @since 4.3 */ @Override public boolean add(NodeConnectionAnchor targetAnchor) { return false; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#move(org.teiid.designer.diagram.ui.connection.NodeConnectionAnchor) * @since 4.3 */ @Override public boolean move(NodeConnectionAnchor targetAnchor) { return false; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#remove(org.teiid.designer.diagram.ui.connection.NodeConnectionAnchor) * @since 4.3 */ @Override public boolean remove(NodeConnectionAnchor targetAnchor) { return false; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#resetSourceAnchors(boolean) * @since 4.3 */ @Override public void resetSourceAnchors(boolean updateTargetEnd) { } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#resetTargetAnchors(boolean) * @since 4.3 */ @Override public void resetTargetAnchors(boolean updateSourceEnd) { } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#reorderAllAnchors(boolean) * @since 4.3 */ @Override public void reorderAllAnchors(boolean updateBothEnds) { } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#getSourceConnections() * @since 4.3 */ @Override public List getSourceConnections() { return null; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#getTargetConnections() * @since 4.3 */ @Override public List getTargetConnections() { return null; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#getSourceAnchor(org.teiid.designer.diagram.ui.connection.NodeConnectionEditPart) * @since 4.3 */ @Override public ConnectionAnchor getSourceAnchor(NodeConnectionEditPart connection) { // This anchor manager belongs to the edit part. // This edit part knows about all it's target connections // An anchor is either target or source // if (connection.getSourceAnchor() == null) { // Create a anchor for it. ConnectionAnchor newAnchor = createSourceAnchor(); connection.setSourceAnchor(newAnchor); return newAnchor; } return connection.getSourceAnchor(); } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#getTargetAnchor(org.teiid.designer.diagram.ui.connection.NodeConnectionEditPart) * @since 4.3 */ @Override public ConnectionAnchor getTargetAnchor(NodeConnectionEditPart connection) { // This anchor manager belongs to the edit part. // This edit part knows about all it's target connections // An anchor is either target or source // if (connection.getTargetAnchor() == null) { // Create a anchor for it. ConnectionAnchor newAnchor = createTargetAnchor(); connection.setTargetAnchor(newAnchor); return newAnchor; } return connection.getTargetAnchor(); } private ConnectionAnchor createTargetAnchor() { // Now there might be two here. ConnectionAnchor newAnchor = new ChopboxAnchor(diagramEditPart.getFigure()); // targetAnchor = newAnchor; return newAnchor; } private ConnectionAnchor createSourceAnchor() { ConnectionAnchor newAnchor = new ChopboxAnchor(diagramEditPart.getFigure()); // sourceAnchor = newAnchor; return newAnchor; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#hasSourceAnchors() * @since 4.3 */ @Override public boolean hasSourceAnchors() { return true; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#hasTargetAnchors() * @since 4.3 */ @Override public boolean hasTargetAnchors() { return true; } /** * @see org.teiid.designer.diagram.ui.connection.AnchorManager#setAnchorPosition(org.teiid.designer.diagram.ui.connection.NodeConnectionAnchor, int) * @since 4.3 */ @Override public void setAnchorPosition(NodeConnectionAnchor theAnchor, int direction) { } }