2012-03-16 61 views
2

有人可以解释Draw2d中边界和约束之间的差异/关系吗?Eclipse GEF/Draw2d:边界与约束

我试图设置一个GEF编辑器,其中相同EditPart类的实例相互嵌套(如果需要,我可以发布代码的简化版本,但我的问题实际上只是概念上的)。每个数字有XYLayout,我在refreshVisuals中设置每个数字的边界和约束(Rectangle s)。

现在我的界限和约束对于每个图都是一样的。那是对的吗?由于我使用的是XYLayout,因此相对于父项的边界坐标是Figure?如何约束?

回答

1

如果母公司的isCoordinateSystem()返回true--这种情况几乎不存在,那么子图的边界仅与父图相对。所以在实践中边界是绝对坐标。

您在XYLayout中作为约束提供的矩形预计包含相对于父的坐标,然后布局将以适当的方式转换这些相对坐标。如果例如父链中没有图形具有局部坐标系,则所得到的边界将是绝对坐标。

+0

所以在'refreshVisuals'中我应该只设置约束并让'XYLayout'管理边界?在我看到的几个例子中,约束被设置,但不是边界。 – user1155252 2012-03-16 13:38:12

+1

布局管理器的要点是让它根据您提供的设置和限制来管理其子项的边界。所以你的问题的答案是:是的。 – p12t 2012-03-16 15:08:50

+0

非常感谢您的帮助! – user1155252 2012-03-16 15:27:11