GEF编辑器中绘制节点的顺序(如果有的话)



我试图插入一个(非常)简单的图形布局算法到我的GEF编辑器。我通过简单地将calculateX()calculateY()方法添加到我的NodeEditPart s' refreshVisuals()(图形中明显有一个XYLayout)来实现。

它确实有效,尽管只适用于那些与另一个节点有连接的节点,它们是另一个节点的源。当我试图访问节点的约束时,所讨论的节点有一个连接,它是目标,我得到一个NullPointerException

猜测这与GEF中绘制节点的顺序有关。

我也猜测没有元素解析器检查哪些元素必须首先绘制,而是元素要么按照它们出现在List中的顺序绘制,要么通过EditPartFactory并发绘制(然而,必须从模型中的某种有序集合中获得其输入)。

但是它到底是怎么做的呢?

在GEF中,元素按照它们出现在getModelChildren()返回的列表中的顺序绘制(我不记得是从开始到结束还是向后,但您可以检查代码)

然而,我不明白你的问题到底是什么,所以如果你能提供更多的细节,我可能会帮助你更多。

相关内容

最新更新