GMF изменить цвет соединения

В настоящее время я работаю с gmf, и я хотел бы изменить цвет соединений. Я отладил код и увидел, что после установки метода createConnectionFigure() цвет переднего плана метод refresh() в классе AbstractGraphicalEditPart переопределяет этот цвет. Есть ли особый способ, которым я могу изменить цвет? Также хочу создать круг для исходного и целевого оформления ссылки. Я знаю, что должен расширить класс Polyline, но ничего не имею об остальном. Вы знаете какой-нибудь доступный пример?

1 ответ

Предпочтительный способ изменить цвет вашей фигуры - через модель обозначений (View).

При создании вида края вы можете установить цвет линии для края в обозначении края.

Connector edge = NotationFactory.eINSTANCE.createConnector();
ViewUtil.setStructuralFeatureValue(edge,NotationPackage.eINSTANCE.getLineStyle_LineColor(),new RGB(0,0,0));

Если вы создали свой плагин редактора GMF с использованием инструментов GMF, будет класс ViewProvider. Там они будут иметь методы для создания края. Вы можете изменить это там.

ИЛИ ЖЕ

Установите цвет в PreferenceStore.

ИЛИ ЖЕ

в худшем случае вы можете переопределить функцию refreshForegroundColor() в ConnectionEditPart и установить свой собственный цвет. Однако недостатком этого подхода является то, что вы не можете изменить цвет через пользовательский интерфейс.

Что касается украшений, то в вашем соединении фигура может быть установлена ​​через setSourceDecoration & setTargetDecoration

например: connection.setSourceDecoration(new org.eclipse.draw2d.PolylineDecoration());

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