首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将图形添加到RootEditPart/- BorderLayout的不同图形部分

如何将图形添加到RootEditPart/- BorderLayout的不同图形部分
EN

Stack Overflow用户
提问于 2012-06-05 05:34:07
回答 1查看 469关注 0票数 0

我有一个具有以下RootEditPart的全球环境基金编辑器。

代码语言:javascript
复制
public class MyProjectEditPart extends AbstractGraphicalEditPart {

@Override
protected IFigure createFigure() {
    ScalableFreeformLayeredPane layer = new ScalableFreeformLayeredPane();
    layer.setLayoutManager(new FreeformLayout());
    return layer;
  }

我正在使用编辑器创建一个自下而上的树:

代码语言:javascript
复制
     _7_
    /   \
   5     6
  / \   / \
 1   2 3   4 

1-7Rectangle,其中1-4表示与5-7不同的模型元素。目前,所有的图形都是用脚(new Rectangle(x, y, w, h) + parent.setConstraint(this, figure, rectangle))布局的。基于图形5-7上的位置,使用简单的算法计算图形1-4的位置。

为了实用,我希望能够简单地将1-4添加到RootFigure的BorderLayout.BOTTOMFlowLayouted Figure中,并将其余的图形添加到RootFigure的BorderLayout.CENTER中。

然而,我对环境基金还是个新手,不知道该怎么做。我找不到正确的方法将数字1-4添加到它们各自的EditPart's createFigure()中。

例如,我尝试过像parent.getFigure().getChildren().get(0).add(Figure_1)这样的东西,使用RootEditPart的createFigure()方法将两个新图形分别添加到BorderLayout.BOTTOMCENTER中。

我将感谢任何起点:)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-03 18:23:09

您需要一个将模型元素“分派”到不同EditParts的EditPartFactory。然后,顶层的editpart (7)应该实现getModelChildren来返回5和6,而它们的editpart又应该返回1、2和3、4这两个孩子。

花点时间看看GEF形状示例和/或http://www.redbooks.ibm.com/abstracts/sg246302.html如何?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10888700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档