/******************************************************************************
* Copyright (c) 2016 Oracle
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Shenxue Zhou - initial implementation and ongoing maintenance
******************************************************************************/
package org.eclipse.sapphire.ui.diagram;
import java.util.List;
import org.eclipse.sapphire.Element;
import org.eclipse.sapphire.ui.Point;
import org.eclipse.sapphire.ui.SapphirePart;
import org.eclipse.sapphire.ui.diagram.def.IDiagramConnectionDef;
import org.eclipse.sapphire.ui.diagram.editor.DiagramNodePart;
/**
* @author <a href="mailto:shenxue.zhou@oracle.com">Shenxue Zhou</a>
*/
public abstract class DiagramConnectionPart extends SapphirePart
{
public abstract boolean removable();
public abstract void remove();
public abstract String getId();
public abstract String getConnectionTypeId();
public abstract IDiagramConnectionDef getConnectionDef();
public abstract DiagramConnectionPart reconnect(DiagramNodePart newSrc, DiagramNodePart newTarget);
public abstract boolean canEditLabel();
public abstract List<Point> getBendpoints();
public abstract void removeAllBendpoints();
public abstract void resetBendpoints(List<Point> bendpoints);
public abstract void addBendpoint(int index, int x, int y);
public abstract void updateBendpoint(int index, int x, int y);
public abstract void removeBendpoint(int index);
public abstract String getLabel();
public abstract void setLabel(String newValue);
public abstract Point getLabelPosition();
public abstract void setLabelPosition(Point newPos);
public abstract Element getEndpoint1();
public abstract Element getEndpoint2();
}