シェル(アプリケーション)全体ではなく、ビューにモーダルなダイアログを作成する方法はありますか?たとえば、AというビューがBという別のビューに重なっている場合、ビューAに対してのみモーダルなダイアログを開きたいので、ビューBに切り替えると、ダイアログとビューAは次のようにカバーされます。ビューB.通常の方法ではない場合でも、とにかくこれを行うことができますか?
ありがとう!
シェル(アプリケーション)全体ではなく、ビューにモーダルなダイアログを作成する方法はありますか?たとえば、AというビューがBという別のビューに重なっている場合、ビュー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を参照してください。