Eclipse plugin GEF:如何将图形添加到RootEditPart/-Figure的不同BorderLayout部分
我有一个带有以下Eclipse plugin GEF:如何将图形添加到RootEditPart/-Figure的不同BorderLayout部分,eclipse-plugin,visualization,layout-manager,eclipse-gef,draw2d,Eclipse Plugin,Visualization,Layout Manager,Eclipse Gef,Draw2d,我有一个带有以下RootEditPart的GEF编辑器 public class MyProjectEditPart extends AbstractGraphicalEditPart { @Override protected IFigure createFigure() { ScalableFreeformLayeredPane layer = new ScalableFreeformLayeredPane(); layer.setLayoutManager(new Fre
RootEditPart
的GEF编辑器
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
是矩形
s,其中1-4
表示与5-7
不同的模型元素。目前,所有图形都是按英尺布局的(新矩形(x,y,w,h)
+父.setConstraint(此,图形,矩形)
)。根据图1-4
上的位置,使用简单算法计算图5-7
的位置
为了实用起见,我希望能够简单地将1-4
添加到根图的BorderLayout.BOTTOM
处的FlowLayout
edFigure
,并将其余的图添加到根图的BorderLayout.CENTER
然而,我对全球环境基金(GEF)还很陌生,不知道该怎么做。我找不到正确的方法来将图形1-4
添加到各自的EditPart
的createFigure()
中
例如,我尝试过类似于parent.getFigure().getChildren().get(0).add(图1)
的东西,例如,使用RootEditPart的createFigure()
方法将两个新图形分别添加到BorderLayout.BOTTOM
和CENTER
我非常感谢您提供的任何起点:)。您需要一个EditPartFactory,它将模型元素“分派”到不同的EditPart。 顶级editpart(7)然后应该实现getModelChildren以返回5和6,其editpart反过来应该作为子级返回1,2和3,4 花点时间学习GEF shape示例和/或使用它如何