我正在尝试将(非常)简单的图形布局算法插入到我的GEF编辑器中。我只需将calculateX()
和calculateY()
方法添加到我的NodeEditPart
s'refreshVisuals()
即可(图表中显示XYLayout
)。
它确实有效,尽管只适用于那些与另一个节点有连接的节点,它们是源节点。当我尝试访问有关节点有连接的节点的约束时,它是目标,我得到NullPointerException
。
我猜测这与在GEF中绘制节点的顺序有关。
我也猜测没有元素解析器检查哪些元素必须首先绘制,而是元素按照它们出现在{的顺序绘制{1}},或同时通过List
(但必须从模型中的某种有序集合中获取其输入)。
但它是如何真正完成的?
答案 0 :(得分:1)
在GEF中,元素按照它们出现在getModelChildren()
返回的列表中的顺序绘制(我不记得是从开始到结束还是向后,但是你可以查看代码)
尽管如此,我无法理解你的问题究竟是什么,所以如果你能提供更多细节,我可能会帮助你。