Top / Eclipse / プラグイン開発のTIPS集 / メニューバーとか、ポップアップとかのまとめ

ポップアップやメニューバーにアクションを追加するための拡張ポイント、インターフェースをまとめました。

用途拡張ポイント対応するインターフェース
メニューバーや、ツールバーにアクションを表示させたいactionSetsIWorkbenchWindowActionDelegate
他のビューのメニューバーにアクションを表示させたいviewActionsIViewActionDelegate
他のビュー内のViewerにポップアップを表示させたい(ビューを指定)popupMenusIViewActionDelegate
他のビュー内のViewerにポップアップを表示させたい(選択されているオブジェクトを指定)popupMenusIObjectActionDelegate
エディタにポップアップを表示させたいpopupMenusIEditorActionDelegate
エディタのメニューバーにアクションを表示させたいeditorActionsIViewActionDelegate



メニューバーや、ツールバーにアクションを表示させたい

拡張ポイントorg.eclipse.ui.actionSets
インタフェースorg.eclipse.ui.IWorkbenchWindowActionDelegate
actionSets01.png

plugin.xmlの記述

<extension point="org.eclipse.ui.actionSets">
 <actionSet label="サンプル・アクション・セット"
   visible="true"
   ↑こうしておくと、パースペクティブのカスタマイズの
     コマンドに自動的にチェックが入る
     ようするにデフォルトで表示される。
   id="nu.mine.kino.example.actionSet">
   <menu label="サンプル・メニュー(&amp;M)" id="sampleMenu">
     <separator name="sampleGroup"></separator>
   </menu>
   <action label="サンプル・アクション(&amp;S)"
     icon="icons/sample.gif"
     class="nu.mine.kino.example.actions.SampleAction"
     tooltip="Hello, Eclipse world"
     menubarPath="sampleMenu/sampleGroup"
     toolbarPath="sampleGroup"
     id="nu.mine.kino.example.actions.SampleAction">
   </action>
 </actionSet>
</extension>

詳細はメニューバーを構築するにまとめました。

他のビューのメニューバーにアクションを表示させたい

拡張ポイントorg.eclipse.ui.viewActions
インタフェースorg.eclipse.ui.IViewActionDelegate?

plugin.xml の記述

  <extension
        point="org.eclipse.ui.viewActions">
     <viewContribution
           id="nu.mine.kino.plugin.samples.rcp.viewContribution2"
           targetID="nu.mine.kino.plugin.samples.rcp.view3">
        <action
              class="nu.mine.kino.plugin.samples.rcp.ViewActionDelegate2"
              id="nu.mine.kino.plugin.samples.rcp.action2"
              label="アクション3"
              menubarPath="addition"
              style="push"/>
     </viewContribution>
  </extension>

他のビュー内のViewerにポップアップを表示させたい(ビューを指定)

拡張ポイントorg.eclipse.ui.popupMenus
インタフェースorg.eclipse.ui.IViewActionDelegate?

plugin.xmlの記述

<extension point="org.eclipse.ui.popupMenus">
  <viewerContribution
      targetID="nu.mine.kino.plugin.javadocsearch.views.JavadocsearchView"
      id="nu.mine.kino.plugin.google.contributions.JavaDocSearchContext">
    <action
      label="Googleで検索" icon="icons/icon.gif"
      class="nu.mine.kino.plugin.google.popup.actions.JavaDocSearchViewContextAction"
      menubarPath="additions"
      id="nu.mine.kino.plugin.google.contributions.JavaDocSearchViewContextAction">
    </action>
  </viewerContribution>
</extension>

他のビュー内のViewerにポップアップを表示させたい(選択されているオブジェクトを指定)

拡張ポイントorg.eclipse.ui.popupMenus
インタフェースorg.eclipse.ui.IObjectActionDelegate?
popupMenus02.png

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"  <- 選択したファイルが1つだけの時有効
       id="kino.actions.HogeAction">
     </action>
  </objectContribution>
</extension>

エディタにポップアップを表示させたい

拡張ポイントorg.eclipse.ui.popupMenus
インタフェースorg.eclipse.ui.IEditorActionDelegate?
popupMenus03.png

plugin.xmlの記述

<extension point="org.eclipse.ui.popupMenus">
  <viewerContribution
      targetID="#TextEditorContext"
      id="nu.mine.kino.plugin.google.contributions.TextEditorContext">
    <action
       label="Googleで検索"
       icon="icons/icon.gif"
       class="nu.mine.kino.plugin.google.popup.actions.
              CompilationUnitEditorContextAction"
       menubarPath="additions"
       id="nu.mine.kino.plugin.google.popup.actions.
              CompilationUnitEditorContextAction">
         <selection
           class="org.eclipse.jface.text.ITextSelection">
         </selection>
    </action>
  </viewerContribution>
</extension>

エディタのメニューバーにアクションを表示させたい

拡張ポイントorg.eclipse.ui.editorActions
インタフェースorg.eclipse.ui.IViewActionDelegate?

この記事は

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

Top / Eclipse / プラグイン開発のTIPS集 / メニューバーとか、ポップアップとかのまとめ

現在のアクセス:17619


添付ファイル: filepopupMenus02.png 996件 [詳細] filepopupMenus03.png 905件 [詳細] fileactionSets01.png 892件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-12-05 (水) 18:16:10 (4151d)