@Override public void selfStyleConnection(Object element, GraphConnection connection) { // Connections are not rendered in some cases when curved // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=373199 // Seems to be fixed connection.setLineWidth(0); connection.setTooltip(getTooltip(element)); connection.setLineColor(ColorConstants.black); PolylineConnection conn = (PolylineConnection) connection.getConnectionFigure(); if (element instanceof ISpecialisationRelationship) { conn.setTargetDecoration(SpecialisationConnectionFigure.createFigureTargetDecoration()); } else if (element instanceof ICompositionRelationship) { conn.setSourceDecoration(CompositionConnectionFigure.createFigureSourceDecoration()); } else if (element instanceof IAggregationRelationship) { conn.setSourceDecoration(AggregationConnectionFigure.createFigureSourceDecoration()); } else if (element instanceof IAssignmentRelationship) { conn.setSourceDecoration(AssignmentConnectionFigure.createFigureSourceDecoration()); conn.setTargetDecoration(AssignmentConnectionFigure.createFigureTargetDecoration()); } else if (element instanceof IRealisationRelationship) { conn.setTargetDecoration(RealisationConnectionFigure.createFigureTargetDecoration()); connection.setLineStyle(SWT.LINE_CUSTOM); conn.setLineDash(new float[] {4}); } else if (element instanceof ITriggeringRelationship) { conn.setTargetDecoration(TriggeringConnectionFigure.createFigureTargetDecoration()); } else if (element instanceof IFlowRelationship) { conn.setTargetDecoration(FlowConnectionFigure.createFigureTargetDecoration()); connection.setLineStyle(SWT.LINE_CUSTOM); conn.setLineDash(new float[] {6, 3}); } else if (element instanceof IUsedByRelationship) { conn.setTargetDecoration(UsedByConnectionFigure.createFigureTargetDecoration()); } else if (element instanceof IAccessRelationship) { conn.setTargetDecoration(AccessConnectionFigure.createFigureSourceDecoration()); conn.setTargetDecoration(AccessConnectionFigure.createFigureTargetDecoration()); connection.setLineStyle(SWT.LINE_CUSTOM); conn.setLineDash(new float[] {1.5f, 3}); } else if (element instanceof IInfluenceRelationship) { conn.setTargetDecoration(InfluenceConnectionFigure.createFigureTargetDecoration()); connection.setLineStyle(SWT.LINE_CUSTOM); conn.setLineDash(new float[] {6, 3}); } conn.setAntialias(SWT.ON); }