私はモーダルの「ダイアログ」でGEFエディタを表示する必要があるRCPアプリケーションを持っています。しかし、エディタのフレームワークは、ワークベンチウィンドウの使用などと密接に結びついているようです。新しいワークベンチウィンドウ(独自のWorkbenchWindowAdvisorなど)を開いて、このワークベンチウィンドウ内で自分のGEFエディタを開くことができる理由を見つける必要があります。このワークベンチウィンドウを開くと、WorkbenchWindowのシェルのスタイルをアプリケーションモーダルに設定します。既存のWorkbenchウィンドウから新しいWorkbenchウィンドウ(独自のWorkbenchWindowAdvisorを使用)を開くにはどうすればよいですか?
1
A
答えて
0
"org.eclipse.ui.window.newWindow"コマンドを使用して新しいウィンドウを開きます。 WorkbenchWindowAdvisor.preWindowOpen()で、IWorkbenchWindowConfigurerのシェルスタイルをアプリケーションモーダルに設定します。クールバー、メニュー、ステータスバーを隠すこともできるので、ウィンドウよりもダイアログのように見えます。
2
私は、次のコンポーネントを使用して、顧客のプロジェクトでこれを行っている:メソッドopenNewWindow(String type, ...)
と
- 静的クラス。これは、新しいウィンドウを開くために呼び出すメソッドです。 type引数は、必要なウィンドウタイプを指定します。
- クラスは新しい拡張ポイントを介して指定されたタイプを検索し、
ILocalWorkbenchWindowAdvisor
と初期パースペクティブIDを取得します。 - それは、グローバル変数に情報を保存し、新しい顧問が保存されて
ILocalWorkbenchWindowAdvisor
に基づいて作成されApplicationWorkbenchAdvisor.createWorkbenchWindowAdvisor(...)
でIWorkbench.openWorkbenchWindow(perspectiveID, ...)
- を呼び出す - 返さ顧問を
ILocalWorkbenchWindowAdvisor
で同じ方法と基本的に委譲し、すべてのpostWindowCreate(...)
、など... - 何
ILocalWorkbenchWindowAdvisor
が保存されていない場合 - オープンするために非常に最初のウィンドウのためのケースである - タイプ「メインウィンドウ」を見上げると使用されている...
それはかなりうまく機能とのすべての部分を聞かせてプロジェクトは必要に応じて新しいウィンドウを追加します。
関連する問題
- 1. Eclipseプラグイン:WorkBenchから新しいウィンドウを開く
- 2. テストで既存の開いたウィンドウを使用するにはどうすればよいですか?
- 3. C++を使用してスタートアップ時に新しいウィンドウを開くにはどうすればよいですか?
- 4. JavaScriptを使用して新しいタブ/ウィンドウを開くにはどうすればよいですか?
- 5. jQueryを使用して新しいウィンドウを開くにはどうすればよいですか?
- 6. 新しいウィンドウを開くことなくウェブページを開くにはどうすればよいですか?
- 7. Linuxのコマンドラインから新しいウィンドウ(シェル)を開くにはどうすればよいですか?
- 8. 新しいEclipse Workbenchウィンドウが常に上にあります
- 9. javascriptを使用してwebviewからモバイルブラウザのウィンドウ(poup)を開くにはどうすればいいですか?
- 10. C#を使用してwordからwpfウィンドウを開くにはどうすればよいですか?
- 11. 既存のウィンドウから新しいPyQt4ウィンドウを作成するには?
- 12. 電子リンクから新しいウィンドウを開くにはどうすればいいですか<a>タグ
- 13. メニューバーから新しいウィンドウを開くにはどうすればいいですか?
- 14. ウォッチの結果、新しいウィンドウを開くのを避けるにはどうすればよいですか?
- 15. 新しいウィンドウで `target =" _ blank "`を使ってリンクを開くにはどうすればいいですか?
- 16. コードビハインドから新しいウィンドウを開く
- 17. applescriptを使用して新しいjavascriptウィンドウを開く既存のウィンドウなしで
- 18. 新しいウィンドウ(と同じ新しいウィンドウ内のすべてのリンク)でリンクを開くにはどうすればよいですか?
- 19. 新しいタブまたはウィンドウでiframe URLを開くにはどうすればよいですか?
- 20. Kie Workbenchをeclipseに接続するにはどうすればいいですか?kie workbenchで作成したプロジェクトをeclipseで使用するには
- 21. 新しいウィンドウでフォーム結果を開くにはどうすればよいですか?
- 22. 新しいスレッドでウィンドウを開くにはどうすればよいですか?
- 23. Pyside/Pyqtウィンドウから新しいウィンドウを開く(イベントループはすでに実行中)
- 24. hrefのハイパーリンクをwindow.locationを使って新しいウィンドウを開くにはどうしたらいいですか?
- 25. 常にトップ・ウィザードを使用したEclipse Workbenchウィンドウ
- 26. 新しいウィンドウがWatir-Webdriverで開くかどうかのテスト
- 27. Kotlinで新しいウィンドウでリンクを開くにはどうすればいいですか
- 28. Selenium IDEで新しいウィンドウを開くにはどうすればいいですか?
- 29. ScriptingBridgeを使用して、新しいウィンドウでURLを開くようにSafariに指示するにはどうすればよいですか?
- 30. badaIDEを使用して既存のbadaプロジェクトを開くにはどうすればよいですか?
ありがとう、しかし、私は本当にそれがメインアプリケーションが使用するWorkbenchWindowAdvisorを使用することを望んでいないので、この新しく開いたウィンドウに独自のWorkbenchWindowAdvisorを与える方法を教えてください。この新しいウィンドウに、親ウィンドウ(メインアプリケーションのウィンドウ)にあるふわふわのものがないようにします。 – Craig
実際にこのコマンドを使用する際の問題は、アクティブなワークベンチウィンドウパースペクティブを持つ新しいウィンドウを開くことです。そしてこれは私が望むものではありません...自分のWorkbenchWindowAdvisorを使って新しいウィンドウを開き、1人のエディタとはまったく異なる見方をしたいのです。メソッド:final IWorkbenchWindow window = PlatformUI.getWorkbench()。openWorkbenchWindow( "NewPerspectiveID"、null);少し上手くいくでしょう...しかし、 "カスタム"ワークベンチウィンドウアドバイザーを使ってそれでも問題がありますので、シェルスタイルを設定することができます – Craig