use of org.eclipse.draw2d.PolylineConnection in project tdi-studio-se by Talend.
the class FilterConnectionPart method createFigure.
@Override
protected IFigure createFigure() {
PolylineConnection connection = new PolylineConnection();
connection.setTargetDecoration(new PolygonDecoration());
connection.setForegroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_UNSELECTED_FILTER_LINK));
connection.setLineWidth(2);
return connection;
}
use of org.eclipse.draw2d.PolylineConnection in project tdi-studio-se by Talend.
the class FilterConnectionPart method getFigure.
@Override
public IFigure getFigure() {
PolylineConnection figure = (PolylineConnection) super.getFigure();
if (getTarget() instanceof OutputTablePart) {
if (curvrRouter == null) {
curvrRouter = new CurveConnectionRouter();
figure.setConnectionRouter(curvrRouter);
}
} else if (getTarget() instanceof InputTablePart) {
if (cr == null) {
cr = new LookupConnectionRouter();
figure.setConnectionRouter(cr);
}
}
if (cr != null) {
cr.setOffset(calculateConnOffset());
}
return figure;
}
use of org.eclipse.draw2d.PolylineConnection in project tdi-studio-se by Talend.
the class LookupColumnAnchor method getReferencePoint.
@Override
public Point getReferencePoint() {
if (connectionPart == null) {
return getOwner().getBounds().getLeft();
}
MapperTablePart mapperTablePart = MapperUtils.getMapperTablePart(entityManager.getEditPart());
Point ref = null;
if (mapperTablePart != null && entityManager.isTableMinimized()) {
ref = mapperTablePart.getFigure().getBounds().getLeft();
} else {
if (getOwner() == null) {
return null;
} else if (getOwner() instanceof TableEntityFigure) {
TableEntityFigure nodeFigure = (TableEntityFigure) getOwner();
if (nodeFigure.getElement() != null) {
ref = nodeFigure.getElement().getBounds().getLeft();
getOwner().translateToAbsolute(ref);
}
} else {
ref = getOwner().getBounds().getCenter();
getOwner().translateToAbsolute(ref);
}
}
if (mapperTablePart != null && ref != null) {
IFigure treeFigure = mapperTablePart.getFigure();
int avialableX = treeFigure.getBounds().x;
if (ref.x < avialableX) {
ref.x = avialableX;
}
}
if (connectionPart instanceof BaseConnectionEditPart && connectionPart.getFigure() instanceof PolylineConnection) {
BaseConnectionEditPart baseConnectionPart = (BaseConnectionEditPart) connectionPart;
PolylineConnection connFigure = (PolylineConnection) connectionPart.getFigure();
org.eclipse.swt.graphics.Point avilableSize = entityManager.getGraphicalViewer().getControl().getSize();
if (ref != null) {
if (ref.y < 0) {
if (!(baseConnectionPart instanceof LookupConnectionPart)) {
ref.y = 0;
}
baseConnectionPart.setTargetContained(false);
if (baseConnectionPart.isDOTStyle()) {
connFigure.setLineStyle(SWT.LINE_DASHDOTDOT);
} else {
connFigure.setLineStyle(SWT.LINE_SOLID);
}
} else if (ref.y > avilableSize.y) {
if (!(baseConnectionPart instanceof LookupConnectionPart)) {
ref.y = avilableSize.y;
}
baseConnectionPart.setTargetContained(false);
if (baseConnectionPart.isDOTStyle()) {
connFigure.setLineStyle(SWT.LINE_DASHDOTDOT);
} else {
connFigure.setLineStyle(SWT.LINE_SOLID);
}
} else {
baseConnectionPart.setTargetContained(true);
if (!baseConnectionPart.isDOTStyle()) {
connFigure.setLineStyle(SWT.LINE_SOLID);
}
}
}
}
return ref;
}
use of org.eclipse.draw2d.PolylineConnection in project tdi-studio-se by Talend.
the class FilterTreeAnchor method getReferencePoint.
@Override
public Point getReferencePoint() {
Point ref = null;
if (tableManager.isMinimized()) {
ref = tableManager.getEditPart().getFigure().getBounds().getLeft();
} else {
if (getOwner() == null) {
return null;
} else if (getOwner() instanceof AbstractTableContainer) {
AbstractTableContainer treeFigure = (AbstractTableContainer) getOwner();
FilterContainer filterContainer = treeFigure.getFilterContainer();
if (filterContainer != null) {
ref = filterContainer.getBounds().getLeft();
}
}
}
if (ref != null) {
IFigure treeFigure = tableManager.getEditPart().getFigure();
int avialableX = treeFigure.getBounds().x;
if (ref.x < avialableX) {
ref.x = avialableX;
}
}
if (connectionPart instanceof BaseConnectionEditPart && connectionPart.getFigure() instanceof PolylineConnection) {
BaseConnectionEditPart baseConnectionPart = (BaseConnectionEditPart) connectionPart;
PolylineConnection connFigure = (PolylineConnection) connectionPart.getFigure();
org.eclipse.swt.graphics.Point avilableSize = tableManager.getGraphicalViewer().getControl().getSize();
if (ref != null) {
if (ref.y < 0) {
if (!(baseConnectionPart instanceof LookupConnectionPart)) {
ref.y = 0;
}
baseConnectionPart.setTargetContained(false);
if (baseConnectionPart.isDOTStyle()) {
connFigure.setLineStyle(SWT.LINE_DASHDOTDOT);
} else {
connFigure.setLineStyle(SWT.LINE_SOLID);
}
} else if (ref.y > avilableSize.y) {
if (!(baseConnectionPart instanceof LookupConnectionPart)) {
ref.y = avilableSize.y;
}
baseConnectionPart.setTargetContained(false);
if (baseConnectionPart.isDOTStyle()) {
connFigure.setLineStyle(SWT.LINE_DASHDOTDOT);
} else {
connFigure.setLineStyle(SWT.LINE_SOLID);
}
} else {
baseConnectionPart.setTargetContained(true);
if (!baseConnectionPart.isDOTStyle()) {
connFigure.setLineStyle(SWT.LINE_SOLID);
}
}
}
}
return ref;
}
use of org.eclipse.draw2d.PolylineConnection in project tdi-studio-se by Talend.
the class ConnLabelEditPart method refreshVisuals.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals()
*/
@Override
protected void refreshVisuals() {
String text = ((ConnectionLabel) getModel()).getLabelText();
Point offset = ((ConnectionLabel) getModel()).getOffset();
Label figure = (Label) getFigure();
figure.setText(text);
ConnectionPart parent = (ConnectionPart) getParent();
PolylineConnection connFigure = (PolylineConnection) parent.getFigure();
//$NON-NLS-1$
ConnLabelConstraint constraint = new ConnLabelConstraint(text, "center", offset, connFigure);
parent.setLayoutConstraint(this, getFigure(), constraint);
}
Aggregations