【问题标题】:Eclipse GEF/Draw2d: Bounds vs. ConstraintsEclipse GEF/Draw2d:边界与约束
【发布时间】:2012-04-01 15:12:36
【问题描述】:

有人可以解释 Draw2d 中边界和约束之间的区别/关系吗?

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

现在我的界限和约束对于每个图都是相同的。那是对的吗?由于我使用的是XYLayout,边界的坐标是否相对于父Figure?约束条件如何?

【问题讨论】:

    标签: eclipse-gef draw2d


    【解决方案1】:

    如果父图形的isCoordinateSystem() 返回true,则子图形的边界仅相对于父图形-几乎不会发生这种情况。所以实际上边界是绝对坐标。

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

    【讨论】:

    • 那么在refreshVisuals 中我应该只设置约束并让XYLayout 管理边界吗?在我见过的几个例子中,设置了约束但没有设置边界。
    • 布局管理器的重点是让它根据您提供的设置和约束来管理其子项的边界。所以你的问题的答案是:是的。
    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    相关资源
    最近更新 更多