数字不会显示在Eclipse GEF查看器中

时间:2014-06-09 04:28:28

标签: eclipse figure eclipse-gef

我创建了一个ScrollingGraphicalViewer来显示我的数字,但没有数字显示。 我调试了源代码,似乎创建了所有对象(数字,编辑部分,模型),没有例外。为什么数字不显示?

由于代码很大并传播了许多Java文件,因此我简要描述了我所做的事情。

  1. 创建模型对象。在我的模型中,有两种元素,目录和文件。目录可能包含其他目录或文件。

  2. 图形对象。我创建了两种图形,一种用于目录,另一种用于文件。 目录图可以有嵌套目录和文件的嵌套数字。

  3. editpart对象。对于每种模型元素,即目录和文件,用于连接模型和图形之间的关系。

  4. 一个editpart工厂对象,用于创建每个editpart对象。

  5. 创建ScrollingGraphicalViewer对象(查看器)。并在viewer上调用以下方法:viewer.createControl(),viewer.setRootEditPart(),viewer.setEditPartFactory和viewer.setContents()。

  6. 有什么遗漏? 任何线索和评论都会受到关注。

    感谢。

1 个答案:

答案 0 :(得分:0)

覆盖refreshVisuals()中的EditPart即可。这是根据模型决定对约束更改做出反应的正确位置。您还必须设置相对于父EditPart(及其图形的FreeformLayout)的数字约束,因此FileEditPart(参见Eclipse GEF论​​坛上的交叉发布)类似refreshVisuals()中的以下内容。

getParent().setLayoutConstraint(this, figure, layout);

layout这里必须是draw2d Rectangle。您可以通过为xy提供值来计算,getFigure().getPreferredSize().widthlayout.width和dto。高度。

对于基本的GEF用法 - 这是一个案例 - 我建议你看一下Rubel等人的GEF Book

相关问题