0

here で説明されているように、カスタム PropertySheet を実装しました。

したがって、selectionprovider を実装するメイン ビューがあり、カスタム PropertySheet ビューにプロパティを表示するように機能します。

私の問題は、プロパティ ビューに保存されていない変更がある場合、プロパティ ビューで選択のいくつかのプロパティを編集し、メイン ビューで選択を変更できないようにすることです。

その問題を解決する最善の方法は何ですか?

カスタム プロパティ ビューに ISaveablePart を実装すると、それをダーティとしてマークできます。プロパティ ビューが汚れている場合、選択を変更できないようにするにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

1

ビューは非モーダル (非ブロッキングなど) UI コンポーネントであるため、ビュー外での選択変更を防ぐ実際の方法はありません。このため、Properties ビューが機能するために期待される方法は、できるだけ早く保存することです。

デフォルトの TreeViewer ベースの EMF モデルの実装では、CellEditor を使用してその値を変更します。CellEditor の値が変更されると、変更された値は元のモデルに自動的に書き戻され、言及したデータ損失のシナリオを回避します。

つまり、永続的な変更を保存するには、データ ソース (選択を提供するエディターなど) に依存する必要があり、そのソース (エディター) を介して変更をシリアル化できます。

于 2016-06-21T12:09:33.620 に答える