Eclipse GEF/Draw2d: границы против ограничений
Может кто-нибудь объяснить разницу / отношения между границами и ограничениями в Draw2d?
Я пытаюсь настроить редактор GEF, где экземпляры одного и того же EditPart
классы вложены друг в друга (при необходимости я могу опубликовать упрощенную версию кода, но мой вопрос на самом деле просто концептуальный). Каждая фигура имеет XYLayout
и я устанавливаю границы и ограничения (Rectangle
s) каждой фигуры в refreshVisuals
,
Прямо сейчас мои границы и ограничения одинаковы для каждой фигуры. Это верно? Так как я использую XYLayout
, являются координатами границ относительно родителя Figure
? Как насчет ограничений?
1 ответ
Границы дочерней фигуры указаны только относительно родительской фигуры, если isCoordinateSystem()
родителя возвращается true
- что вряд ли когда-нибудь случится. Таким образом, на практике границы являются абсолютными координатами.
Прямоугольники, которые вы предоставляете в качестве ограничений в XYLayout
ожидается, что они будут содержать координаты относительно родителя, а макет затем преобразует эти относительные координаты подходящим образом. Если, например, ни одна фигура в родительской цепочке не имеет локальной системы координат, получающиеся в результате границы будут абсолютными координатами.