GMF改变连接的颜色

时间:2012-07-25 20:14:07

标签: eclipse-gmf

我目前正在使用gmf,我想改变连接的颜色。我调试代码,我看到在设置createConnectionFigure()方法后,AbstractGraphicalEditPart类中的refresh()方法覆盖此颜色的前景色。有什么特别的方法可以改变颜色吗?另外,我想为链接的源和目标装饰创建一个圆。我知道我必须扩展Polyline课程,但我不知道其他任何事情。你知道任何可用的例子吗?

1 个答案:

答案 0 :(得分:1)

更改图形颜色的首选方法是通过符号模型(视图)。

创建边视图时,可以在边缘表示法中设置边的线颜色。

Connector edge = NotationFactory.eINSTANCE.createConnector();
ViewUtil.setStructuralFeatureValue(edge,NotationPackage.eINSTANCE.getLineStyle_LineColor(),new RGB(0,0,0));

如果您使用GMF工具创建了GMF编辑器插件,则会有一个ViewProvider类。在那里,他们会有创造优势的方法。你可以在那里改变它。

OR

在PreferenceStore中设置颜色。

OR

最糟糕的情况是,您可以覆盖ConnectionEditPart&中的refreshForegroundColor();设置自己的颜色。然而,这种方法的缺点是,您无法通过UI更改颜色。

至于装饰品,在您的连接图中,可以通过setSourceDecoration& setTargetDecoration

例如:connection.setSourceDecoration(new org.eclipse.draw2d.PolylineDecoration());