org.eclipse.ui.IViewPart? はパースペクティブ内のひとつのビュー(コンソールとか、パッケージエクスプローラとかの)を表すインターフェースです。このインターフェースを実装することによって、自作のビューを作成することが出来ます。
org.eclipse.ui.views
<extension point="org.eclipse.ui.views"> <category name="サンプルMyView" <- viewが属するカテゴリ名 id="com.samples.myview"> <- カテゴリのID </category> <view name="シンプルView" <- viewのバーのタイトル category="com.samples.myview" <- viewが属するカテゴリID class="com.samples.myview.SimpleView" <- viewを実装するクラス名 id="com.samples.myview.simpleview"> <- viewのID </view> </extension>
plugin.xmlを開いているときのプロパティビューより、classを選択すると対応するクラス(ここではcom.samples.myview.SimpleView?)のスケルトンをウィザードが作ってくれます。
ビューを画面に描画するとき*1createPartControl?が呼ばれるので、このメソッド内でウィジェットを配置していきます。
自分が選択されたときに、ビュー内を更新したいときなどに使用します。
public void setFocus() { ウィジェットの更新処理 }
など
ビューは選択しているオブジェクトの情報を表示することが多いので、選択しているものが変わったときにウィジェットを更新する、というアルゴリズムにしたいことが多いと思います。その場合はISelectionListener?を実装します。
public void selectionChanged(IWorkbenchPart part,ISelection selection){ ウィジェットの更新処理 }
この場合、自分(this)を IWorkbenchPage?インターフェースにattachする必要がありますが、createPartControl?メソッド内で
getViewSite().getPage().addSelectionListener(this);
とすればよいでしょう。
このリスナですが、呼ばれるタイミングは、
などみたいですが、
は呼ばれないんですね。ようわからんです。
この記事は
現在のアクセス:17871