Top / Eclipse / プラグイン開発のTIPS集 / org.eclipse.ui.IViewPart(ビュー)

org.eclipse.ui.IViewPart? はパースペクティブ内のひとつのビュー(コンソールとか、パッケージエクスプローラとかの)を表すインターフェースです。このインターフェースを実装することによって、自作のビューを作成することが出来ます。

拡張ポイント

org.eclipse.ui.views

plugin.xmlのサンプル

<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?が呼ばれるので、このメソッド内でウィジェットを配置していきます。

TIPS

選択されたときに起動するメソッドsetFocus

自分が選択されたときに、ビュー内を更新したいときなどに使用します。

public void setFocus() {
 ウィジェットの更新処理
}

など

ISelectionListener?を実装する

ビューは選択しているオブジェクトの情報を表示することが多いので、選択しているものが変わったときにウィジェットを更新する、というアルゴリズムにしたいことが多いと思います。その場合はISelectionListener?を実装します。

public void selectionChanged(IWorkbenchPart part,ISelection selection){
  ウィジェットの更新処理
}

この場合、自分(this)を IWorkbenchPage?インターフェースにattachする必要がありますが、createPartControl?メソッド内で

getViewSite().getPage().addSelectionListener(this);

とすればよいでしょう。

このリスナですが、呼ばれるタイミングは、

などみたいですが、

は呼ばれないんですね。ようわからんです。


この記事は

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

Top / Eclipse / プラグイン開発のTIPS集 / org.eclipse.ui.IViewPart(ビュー)

現在のアクセス:17871


*1 ウィンドウ >> ビューでこのビューを選ぶ時

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