Top / Eclipse / プラグイン開発のTIPS集 / ワークベンチなど

ワークベンチ以下の関連

プラグイン開発で、いろいろなUIにアクセスしたいわけですが、それぞれのUIがどのような関連になっているのかをまとめてみました。

workbench_decomposed.gif

WorkBench? window

ワークベンチ(ワークベンチ・ウィンドウ)とは、大ざっぱに言うと、「プラットフォームの始動時に開くウィンドウ」のことです。

ちなみに

IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();

で IWorkbenchWindow? の配列が取得できますが、この配列はEclipseで ウィンドウ >> 新規ウィンドウ で開いているウィンドウたちです。

Page

ワークベンチ・ウィンドウの内部には、パーツを含む 1 つのページがあります。ページは、パーツをグループ化するためのインプリメンテーション・メカニズムです。

単純にパースペクティブと1対1でもないんでしょうか*1

また、

workbench.getActiveWorkbenchWindow().getActivePage().getLabel());

としたら、ワークスペース - J2EEってのが表示されました。やっぱ、パースペクティブだよなぁ。

各インタフェースの関係

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
               .getActivePart().getSite().getPage();

など無限に行き来できるみたいですが、これをみてもわかるとおり、

Workbench(1) -> (N)IWorkbenchWindow(1) -> (N)IWorkbenchPage
(1) -> (N)IWorkbenchPart(1) -> (1)IWorkbenchPartSite(1) -> (1)IWorkbenchPage ...

となっています。

IWorkbenchPart?はいわゆるビューやエディタで、それに1対1でIWorkbenchPartSite?があり、名前とかIDとか、ビュー・エディタの情報を管理しています。

IWorkbenchPage?はビューの集まりでパースペクティブかな?もちろんIWorkbenchWindow?とは1対Nとなります。

IWorkbenchWindow?はいわゆるウィンドウです。新しいウィンドウを開くとかやると複数開くので、Workbenchとは1対Nになります。


この記事は

選択肢 投票
おもしろかった 7  
そうでもない 1  

Top / Eclipse / プラグイン開発のTIPS集 / ワークベンチなど

現在のアクセス:16583


*1 どうも WorkbenchWindow? -> IWorkbenchPage? -> IViewPart? となっているようだ

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS