- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
org.eclipse.ui.IViewPart はパースペクティブ内のひとつのビュー(コンソールとか、パッケージエクスプローラとかの)を表すインターフェースです。このインターフェースを実装することによって、自作のビューを作成することが出来ます。
**使い方
#contents
***拡張ポイント
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)のスケルトンをウィザードが作ってくれます。
ビューを画面に描画するとき((ウィンドウ >> ビューでこのビューを選ぶ時))createPartControlが呼ばれるので、このメソッド内でウィジェットを配置していきます。
**TIPS
***選択されたときに起動するメソッドsetFocus
自分が選択されたときに、ビュー内を更新したいときなどに使用します。
public void setFocus() {
ウィジェットの更新処理
}
など
**TIPS
***ISelectionListenerを実装する
ビューは選択しているオブジェクトの情報を表示することが多いので、選択しているものが変わったときにウィジェットを更新する、というアルゴリズムにしたいことが多いと思います。その場合はISelectionListenerを実装します。
public void selectionChanged(IWorkbenchPart part,ISelection selection){
ウィジェットの更新処理
}
この場合、自分(this)を IWorkbenchPageインターフェースにattachする必要がありますが、createPartControlメソッド内で
getViewSite().getPage().addSelectionListener(this);
とすればよいでしょう。
このリスナですが、テキストエディタ内で文字列を入力とかした場合は呼ばれないんですね。呼ばれるタイミングは、
このリスナですが、呼ばれるタイミングは、
-パッケージエクスプローラ内でなんかを選択した
など、なんかを選択した時なのですが、なぜかテキストエディタ内でドラッグした場合も呼ばれるみたいですね。
-テキストエディタ内でドラッグした
などみたいですが、
-テキストエディタ内で文字列を入力とかした場合
は呼ばれないんですね。ようわからんです。
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}