Правильный способ обработки копирования / вставки из представления в графический редактор

#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));
  

Но это переопределяет другие прослушиватели вставки редактора и обычно прерывает наш дизайн.

Любые идеи будут приветствоваться 🙂