Резюме
Я работаю над редактором на основе EMF. До сих пор я не использовал команды EMF, но теперь я хочу реорганизовать свой код для их использования.
Текущее состояние
Я использую дерево просмотра в качестве основной части моего редактора. Я добавил все виды действий через точку расширения org.eclipse.ui.popupMenus
. Эти действия напрямую влияют на модель, добавляя и удаляя объекты.
Проблемы
При таком подходе мне приходится вручную удалять все ссылки при удалении объектов в модели, что легко приводит к ошибкам. Кроме того, действия отмены / возврата в редакторе не работают.
Цель
Измените действия, чтобы они правильно использовали команды EMF для изменения модели.
В документации EMF я нашел этот фрагмент кода:
Department d = ...
EditingDomain ed = ...
Command cmd = RemoveCommand.create(ed, d);
ed.getCommandStack().execute(cmd);
... это похоже на код, который я должен использовать. Но я не знаю, откуда мне взять EditingDomain
.
Так вот мои вопросы:
- Это подход, который я хочу использовать в моих
Action
с?
- Где взять
EditingDomain
?