Zest eclipse でフローチャートを作成しようとしています。グラフを作成するために、私は graphViewer を使用しています。ノードには、カスタム形状が必要です。これを実現するために、graphViewer の labelProvider に IFigureProvider を実装しました。
しかし、決定ノードを表すために使用されるひし形をどのように作成すればよいかわかりません。
グラファイトは、これらのタイプのことを行うためのより良い方法ですか?
Zest eclipse でフローチャートを作成しようとしています。グラフを作成するために、私は graphViewer を使用しています。ノードには、カスタム形状が必要です。これを実現するために、graphViewer の labelProvider に IFigureProvider を実装しました。
しかし、決定ノードを表すために使用されるひし形をどのように作成すればよいかわかりません。
グラファイトは、これらのタイプのことを行うためのより良い方法ですか?
次のように、オーバーライドされた paintFigure メソッド描画ポリゴンで Figure クラスを拡張して、カスタム Figure クラスを作成します。
@Override
protected void paintFigure(Graphics g) {
super.paintFigure(g);
Rectangle r = getClientArea();
g.setAntialias(SWT.ON);
g.setLineWidthFloat(2.0f);
g.setBackgroundColor(ColorConstants.black);
PointList diamondPointList=new PointList();
diamondPointList.addPoint(r.x()+r.width()/2, r.y());
diamondPointList.addPoint(r.x()+r.width(), r.y()+r.height()/2);
diamondPointList.addPoint( r.x()+r.width()/2, r.y()+r.height());
diamondPointList.addPoint(r.x(), r.y()+r.height()/2);
g.drawPolygon(diamondPointList);
g.drawLine(r.x()+r.width()/2, (r.y()+r.height()/2)-10, r.x()+r.width()/2, (r.y()+r.height()/2)+10);
g.drawLine((r.x()+r.width()/2)-10, r.y()+r.height()/2, (r.x()+r.width()/2)+10, r.y()+r.height()/2);
}