#eclipse #eclipse-plugin #eclipse-rcp #eclipse-gef #eclipse-gmf
#eclipse #eclipse-плагин #eclipse-rcp #eclipse-gef #eclipse-gmf
Вопрос:
Мы разрабатываем приложение, в котором мы обрабатываем локальные копии / вставки в диаграмме с помощью точки расширения org.eclipse.gmf.runtime.emf.clipboard.core.clipboardSupport
События копирования / вставки ресурсов в представлениях обрабатываются с помощью обработчика с идентификатором команды org.eclipse.ui.edit.copy/paste
Мой вопрос в том, каков правильный способ обработки событий копирования / вставки между диаграммой (или любым GraphicalEditor, если на то пошло) и другими представлениями в приложении?
В настоящее время мне удалось решить это программно, поместив этот код в метод инициализации DiagramEditor:
IActionBars actionBars = site.getActionBars();
EditPartViewer diagramGraphicalViewer = getDiagramGraphicalViewer();
actionBars.setGlobalActionHandler(GEFActionConstants.PASTE, new PasteMethodNodeAction(clipboard,diagramGraphicalViewer));
Но это переопределяет другие прослушиватели вставки редактора и обычно прерывает наш дизайн.
Любые идеи будут приветствоваться 🙂