Eclipse GEF/Draw2d: границы против ограничений

Может кто-нибудь объяснить разницу / отношения между границами и ограничениями в Draw2d?

Я пытаюсь настроить редактор GEF, где экземпляры одного и того же EditPart классы вложены друг в друга (при необходимости я могу опубликовать упрощенную версию кода, но мой вопрос на самом деле просто концептуальный). Каждая фигура имеет XYLayout и я устанавливаю границы и ограничения (Rectangles) каждой фигуры в refreshVisuals,

Прямо сейчас мои границы и ограничения одинаковы для каждой фигуры. Это верно? Так как я использую XYLayout, являются координатами границ относительно родителя Figure? Как насчет ограничений?

1 ответ

Решение

Границы дочерней фигуры указаны только относительно родительской фигуры, если isCoordinateSystem() родителя возвращается true - что вряд ли когда-нибудь случится. Таким образом, на практике границы являются абсолютными координатами.

Прямоугольники, которые вы предоставляете в качестве ограничений в XYLayout ожидается, что они будут содержать координаты относительно родителя, а макет затем преобразует эти относительные координаты подходящим образом. Если, например, ни одна фигура в родительской цепочке не имеет локальной системы координат, получающиеся в результате границы будут абсолютными координатами.

Другие вопросы по тегам