要約
私はemfベースのエディタで作業しています。今まで私はEMFコマンドを使用していませんでしたが、今ではコードを使用してリファクタリングしたいのです。エディタアクション内でEMFコマンドを使用するにはどうすればよいですか?
現在の状態
私はエディタの主要部分としてツリービューアを使用しています。私はorg.eclipse.ui.popupMenus
拡張ポイント経由ですべての種類のアクションを追加しました。これらのアクションは、モデルに直接干渉し、オブジェクトを追加したり削除したりします。私は簡単にエラーを導入したモデルでオブジェクトを削除する際に、手動ですべての参照を削除する必要があり、このアプローチでは
問題
。また、エディタでの元に戻す/やり直しの動作は機能しません。彼らは適切にEMFモデルを変更するコマンドを使用して
ゴール
はアクションをリファクタリング。
Department d = ...
EditingDomain ed = ...
Command cmd = RemoveCommand.create(ed, d);
ed.getCommandStack().execute(cmd);
...私が使用する必要があるコードのようになります。EMFドキュメント内
私はこのコードスニペットを見つけました。しかし、私はどこから
EditingDomain
を得ることができるのか分かりません。
したがって、これらは私の質問は以下のとおりです。
- が、これは私が私の
Action
秒で使用するアプローチですか? EditingDomain
はどこから入手できますか?
emfベースのエディタでは、編集ドメインは通常既に再生中です。これは、オブジェクトを削除するなど、すべての自動生成標準コマンドに使用されます。新しい編集ドメインを作ることは混乱を招くだけです。 – Peter