use of org.talend.commons.ui.swt.drawing.link.IStyleLink in project tdi-studio-se by Talend.
the class Link method draw.
public void draw(GC gc, Rectangle boundsOfDrawing) {
StyleLinkFactory drawableLinkFactory = mapperManager.getUiManager().getStyleLinkFactory();
IStyleLink styleLink = drawableLinkFactory.getStyleLink(this);
IDrawableLink drawableLink = styleLink.getDrawableLink();
if (drawableLink == null) {
throw new NullPointerException();
}
IMapZone zone1 = pointLinkDescriptor1.getZone();
IMapZone zone2 = pointLinkDescriptor2.getZone();
int yOffsetPoint1 = uiManager.getVerticalScrolledOffsetBar((Zone) zone1);
int yOffsetPoint2 = uiManager.getVerticalScrolledOffsetBar((Zone) zone2);
boolean leftSidePosition = ((zone1 == Zone.INPUTS || zone1 == Zone.VARS) && zone1 == zone2);
int point1xForTraceLink = point1.x + (leftSidePosition ? 0 : widthTable1 - 4);
int point2xForTraceLink = point2.x + (leftSidePosition ? 0 : 0);
int point1yOffset = point1.y + yOffsetPoint1;
int point2yOffset = point2.y + yOffsetPoint2;
// feature 11742
final int yOffsetConstant = 5;
if (point1yOffset < -yOffsetConstant) {
point1yOffset = -yOffsetConstant;
}
if (point2yOffset < -yOffsetConstant) {
point2yOffset = -yOffsetConstant;
}
drawableLink.setPoint1(new Point(point1xForTraceLink, point1yOffset));
drawableLink.setPoint2(new Point(point2xForTraceLink, point2yOffset));
drawableLink.setBoundsOfCalculate(boundsOfDrawing);
Rectangle boundsOfSolidLine = new Rectangle(boundsOfDrawing.x, boundsOfDrawing.y, boundsOfDrawing.width, boundsOfDrawing.height);
boundsOfSolidLine.y = boundsOfDrawing.y + MapperUI.OFFSET_VISIBLES_POINTS;
boundsOfSolidLine.height = boundsOfDrawing.height - 2 * MapperUI.OFFSET_VISIBLES_POINTS;
drawableLink.getStyle().apply(gc);
if (!boundsOfSolidLine.contains(new Point(point1xForTraceLink, point1yOffset)) || !boundsOfSolidLine.contains(new Point(point2xForTraceLink, point2yOffset))) {
// gc.setLineDash(new int[] { 1, spaceBetweenPoints, 1 });
gc.setLineStyle(SWT.LINE_DOT);
// gc.setLineStyle(SWT.LINE_CUSTOM);
// System.out.println("SWT.LINE_DOT");
} else {
gc.setLineStyle(SWT.LINE_SOLID);
// System.out.println("SWT.LINE_SOLID");
}
if (this.level != null) {
drawableLink.setConnectorWidth(this.level * 5);
}
drawableLink.draw(gc);
}
use of org.talend.commons.ui.swt.drawing.link.IStyleLink in project tdi-studio-se by Talend.
the class StyleLinkFactory method getSelectedZoneToOtherZoneStyle.
private IStyleLink getSelectedZoneToOtherZoneStyle(Color foregroundColor) {
StyleLink style = new StyleLink();
setCommonsStyleProperties(style);
style.setDrawableLink(getZoneToZoneLink(style));
ExtremityEastArrow eastArrowSource = new ExtremityEastArrow(style);
style.setExtremity1(eastArrowSource);
ExtremityEastArrow eastArrowTarget = new ExtremityEastArrow(style);
eastArrowTarget.setXOffset(-eastArrowTarget.getSize().x);
style.setExtremity2(eastArrowTarget);
style.setForegroundColor(foregroundColor);
return style;
}
use of org.talend.commons.ui.swt.drawing.link.IStyleLink in project tdi-studio-se by Talend.
the class StyleLinkFactory method getUnselectedSameInputZoneStyle.
/**
* DOC amaumont Comment method "getNotSelectedSameZoneStyle".
*
* @return
*/
private IStyleLink getUnselectedSameInputZoneStyle() {
StyleLink style = new StyleLink();
setCommonsStyleProperties(style);
style.setDrawableLink(getSameZoneLink(style));
ExtremityEastArrow eastArrowTarget = new ExtremityEastArrow(style);
eastArrowTarget.setXOffset(-eastArrowTarget.getSize().x);
style.setExtremity2(eastArrowTarget);
style.setForegroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_UNSELECTED_LOOKUP_LINKS));
return style;
}
use of org.talend.commons.ui.swt.drawing.link.IStyleLink in project tdi-studio-se by Talend.
the class StyleLinkFactory method getUnselectedSameZoneFilterStyle.
/**
* DOC amaumont Comment method "getSelectedSameZoneStyle".
*
* @param foregroundColor
* @return
*/
public IStyleLink getUnselectedSameZoneFilterStyle() {
IStyleLink style = getSelectedSameInputZoneStyle();
style.setForegroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_UNSELECTED_FILTER_LINK));
return style;
}
use of org.talend.commons.ui.swt.drawing.link.IStyleLink in project tdi-studio-se by Talend.
the class StyleLinkFactory method getSelectedZoneToZoneFilterStyle.
/**
* DOC amaumont Comment method "getSelectedFilterStyle".
*
* @return
*/
private IStyleLink getSelectedZoneToZoneFilterStyle() {
StyleLink style = new StyleLink();
setCommonsStyleProperties(style);
style.setDrawableLink(getZoneToZoneLink(style));
ExtremityEastArrow eastArrowSource = new ExtremityEastArrow(style);
style.setExtremity1(eastArrowSource);
ExtremityEastArrow eastArrowTarget = new ExtremityEastArrow(style);
eastArrowTarget.setXOffset(-eastArrowTarget.getSize().x);
style.setExtremity2(eastArrowTarget);
style.setForegroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_SELECTED_FILTER_LINK));
return style;
}
Aggregations