#topicpath
----
//ここにコンテンツを記述します。
org.eclipse.ui.IObjectActionDelegateはパッケージエクスプローラなどを右クリックしたときに現れるポップアップメニューに項目を追加するためのインターフェースです。


#contents

***拡張ポイント
 org.eclipse.ui.popupMenus

***plugin.xmlのサンプル
 <extension point="org.eclipse.ui.popupMenus">
    <objectContribution
        objectClass="org.eclipse.core.resources.IFile"
        ↑ 選択されているのがIFileのときだけ
        id="kino.objectContribution">
       <action
         label="実行!!" <- メニューに表示される文字列
         icon="icons/sample.gif" <- アイコン
         class="kino.actions.HogeAction" <- 実装クラス
         menubarPath="additions"
         enablesFor="1"
         id="kino.actions.HogeAction">
       </action>
    </objectContribution>
 </extension>

**ポイント
実装クラスはIObjectActionDelegateを実装します。実際に使用するメソッドは
 selectionChanged(IAction action, ISelection selection)
 run(IAction action) 
でしょう。

***selectionChanged(IAction action, ISelection selection)
なにかが選択されたときに呼ばれるメソッドです。selectionを用いて、メニュー内でクリックされたリソースが何であるかを判定するロジックを記述します。


***run(IAction action) 
実際にメニューから選択されたときに呼ばれるメソッドです。selectionChangedで選択されたリソースをフィールドに保持して、runメソッド内でロジックを記述する、なんてのが基本パターンでしょうか。




----
この記事は
#vote(おもしろかった,そうでもない)

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

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