摘要
我正在使用基于emf的编辑器。到目前为止,我没有使用EMF命令,但现在我想重构我的代码来使用它们。如何在编辑器动作中使用EMF命令?
当前状态
我正在使用树查看器作为我的编辑器的主要部分。我通过org.eclipse.ui.popupMenus
扩展点添加了所有类型的操作。这些操作直接干扰模型,添加和删除对象。
问题
用这种方法我在这很容易引入错误的模型删除对象时,手动删除所有引用。此外,编辑器中的撤消/重做操作也不起作用。
目标
重构操作,以便它们正确使用EMF命令来修改模型。
内EMF文档,我发现这个代码片段:
Department d = ...
EditingDomain ed = ...
Command cmd = RemoveCommand.create(ed, d);
ed.getCommandStack().execute(cmd);
...它看起来像我必须使用的代码。但我不知道从哪里可以得到EditingDomain
。
所以这是我的问题:
- 这是我想在我
Action
s到使用的方法? - 我在哪里可以获得
EditingDomain
?
使用基于emf的编辑器时,编辑域通常已经在使用。它用于所有自动生成的标准命令,如删除对象。制作一个新的编辑域只会增加混淆。 – Peter 2012-03-22 16:11:36