4

私のRCP - プロジェクトでは、Eclipseデータバインディングを使用してUIをバックエンドに接続しています。開いているエディターでのすべての変更を元に戻せるようにしたい。私のドメインモデルと UI は 2 つの異なるプラグインに分かれています。

私の現在のアプローチは、データバインディング用に独自の UpdateValueStrategy クラスを実装することです。通常の UpdateValueStrategy を拡張し、doSet Methode をオーバーライドします。

そこから OperationHistory と Global UndoContext を取得し、新しい Operation を作成します。「ChangeCustomerName」や「ChangeCustomerNote」など、さまざまな操作があります。

質問:

  1. 元に戻す/やり直しのロジックを自分で実装する必要がありますか、それともフレームワークが何らかの方法でこれをサポートしていますか?
  2. UpdateValue - Strategy クラスの doSet() よりも、取り消し可能な操作を作成するためのより良い場所または方法はありますか。変更されたテキストフィールドにアクセスするのは簡単ではありません。
4

1 に答える 1

2

あなたが得る答えは主に次のとおりです。EMF.Editを使用してください

EMF を使用しない JFace データバインディングにも元に戻す/やり直しを含めることについて、Eclipse バグトラッカーに未解決の機能要求がありますが、まだ完成していません。また、 eclipse フォーラムでも議論されています。

于 2011-04-29T09:36:07.907 に答える