私は次のGEFエディターを持っていますRootEditPart。
public class MyProjectEditPart extends AbstractGraphicalEditPart {
@Override
protected IFigure createFigure() {
ScalableFreeformLayeredPane layer = new ScalableFreeformLayeredPane();
layer.setLayoutManager(new FreeformLayout());
return layer;
}
エディターを使用してボトムアップツリーを作成しています。
_7_
/ \
5 6
/ \ / \
1 2 3 4
1-7はRectanglesです。ここで、はと1-4は異なるモデル要素を表します5-7。現時点では、すべての図は徒歩(new Rectangle(x, y, w, h)+ parent.setConstraint(this, figure, rectangle))でレイアウトされています。図の位置は、図の位置に5-7基づいて、簡単なアルゴリズムで計算されます1-4。
実用性のために、RootFigureのedに単純に追加1-4し、残りの図をRootFigureに追加できるようにしたいと思います。FlowLayoutFigureBorderLayout.BOTTOMBorderLayout.CENTER
しかし、私はGEFにかなり慣れていないので、その方法について頭を悩ませることはできません。1-4それぞれのに数字を追加するための正しい方法を見つけることができませEditPartんcreateFigure()。
たとえばparent.getFigure().getChildren().get(0).add(Figure_1)、RootEditPartのcreateFigure()メソッドがそれぞれに2つの新しい図を追加するBorderLayout.BOTTOMなどのことを試しCENTERました。
出発点に感謝します:)。