Eclipse RCP、SWT、JFace:(シェル全体ではなく)ビューに対してのみモーダルなダイアログを作成する方法は?

StackOverflow https://stackoverflow.com/questions/800321

質問

とにかく、シェル(アプリケーション)全体ではなく、ビューに対してモーダルなダイアログを作成することはできますか?したがって、Bという別のビューにオーバーレイするAという1つのビューがある場合、Aを表示するモーダルのみのダイアログを開きたいので、ビューBに切り替えると、ダイアログとビューAはビューB。とにかくこれを行うことができますか。たとえそれが通常の習慣ではない場合でも。

ありがとう!

役に立ちましたか?

解決

実装はそれほど簡単ではないと思います。 1つの可能性は、ビューAでモーダルダイアログを使用する代わりに、TabFolderを使用することです。その後、代わりに新しいタブでダイアログの内容を開き、このタブを閉じるまで強制的に上部に保持できます。これは、必要なものと同様の動作です。

これにより、ビューBからビューAに何かをドラッグアンドドロップすることもできます。

他のヒント

ワークベンチの復元の全体的な考え方は、ワークベンチを以前の状態に戻すことです。細部をすべて復元する必要はありませんが、ビューを空白のままにしたくない場合は、元の状態に復元する必要があります。つまり、ワークベンチを閉じたときと同じ入力でビューBを復元する必要があります。ビューAが閉じられた後、ビューBとその入力が引き続き存在する場合、ビューAが存在するかどうかに関係なく、ビューBとその入力を復元できます。ワークベンチの復元中にダイアログボックスを開かないでください。それは良いUIデザインではありません。 Eclipseは、ビューの入力を保存できる非常に使いやすいmementoフレームワークを提供します。それを使用します。

Mementosに慣れていない場合は、たとえば http://wiki.eclipse.org/を参照してください。 FAQ_How_does_a_view_persist_its_state_between_sessions%3F

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top