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になります。


この記事は

選択肢 投票
おもしろかった 14  
そうでもない 1  
Top/Eclipse/プラグイン開発のTIPS集/ワークベンチなど

現在のアクセス:17526


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

添付ファイル: fileclose.png 1691件 [詳細] fileworkbench_decomposed.gif 1890件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-07-15 (水) 00:03:23