Gef редактировать деталь для модели EMF - PullRequest
0 голосов
/ 09 ноября 2011

Я создаю редактор GEF из модели EMF; скажем, имя модели StartEvent, и оно имеет такие свойства, как ID и имя.

В части редактирования у меня есть две метки: одна для отображения маленького круга, а другая для отображения имени. Я реализовал интерфейс handleBounds в классе фигур и возвращаю границы метки значка, чтобы при щелчке по фигуре значок выбирался только в том случае, если вы не реализуете интерфейс handleBounds, тогда будет выделена вся фигура.

И ярлык с иконкой, и ярлык с именем должны быть доступны для выбора, и я должен иметь возможность убрать ярлык с именем от него.

Свойство name модели StartEvent сопоставляется с меткой имени.

Я понимаю, что каждая вещь в gef является частью редактирования. Ваш ответ может заключаться в том, что имя метки также должно быть отдельной частью редактирования, но имя не является моделью; это свойство модели.

1 Ответ

1 голос
/ 15 ноября 2011

Если вы хотите, чтобы метка вела себя так же, как любой другой элемент GEF (подвижный, выбираемый и т. Д.), Вам нужно создать EditPart для метки.Неважно, что метка не является сущностью модели, вам нужно создать EditPart для этой метки, используя какой-то специальный обходной путь, например, наличие специального класса, который содержит метку на рисунке (а не простую строку)который может быть идентифицирован EditPartFactory вашего редактора.Из того, что я знаю, нет другого способа сделать это.

...