ビューのメニュー、ツールバー、およびアクション

ID: org.eclipse.ui.viewActions

説明: この拡張ポイントは、 他のプラグインにより登録されたビューのメニューおよびツールバーにアクションを追加するために使用します。 各ビューには、ローカルのプルダウン・メニューがあります。これは、通常は右上の領域をクリックしてアクティブにします。 このメニューには、その他のプラグインにより、サブメニューおよびアクションを追加することができます。 また、プラグインにより、ビュー・ツールバーにアクションを追加することもできます。 ビューの所有者は、最初にこれらの領域を配置することができます。 他のプラグインによるオプションの追加内容がこれに加えられます。

構成マークアップ:

   <!ELEMENT viewContribution (menu | action)*>
   <!ATTLIST viewContribution
      id         CDATA #REQUIRED
      targetID   CDATA #REQUIRED
   >

  • id - この contribution の参照に使用する固有 ID
  • targetID - contribution が加えられたビューの固有 ID (レジストリーに定義された ID)
  •    <!ELEMENT menu (separator)+>
       <!ATTLIST menu
          id         CDATA #REQUIRED
          label      CDATA #REQUIRED
          path       CDATA #IMPLIED
       >    <!ELEMENT separator EMPTY>
       <!ATTLIST separator
          name       CDATA #REQUIRED
       >
  • name - 後でアクション・パスの最後のトークンとして参照が可能な区切り文字の名前。 区切り文字は、アクションの追加先とすることのできる名前付きグループとして使用することができます。
  •    <!ELEMENT action (selection)*>
       <!ATTLIST action
          id                NMTOKEN #REQUIRED
          label             CDATA #REQUIRED
          menubarPath       CDATA #IMPLIED
          toolbarPath       CDATA #IMPLIED
          icon              CDATA #IMPLIED
          tooltip           CDATA #IMPLIED
          helpContextId     CDATA #IMPLIED
          state             (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > アクションの拡張機能を使用可能にするための基準は、 最初に enablesFor および selection によって定義されます。 ただし、アクションの代行者がインスタンス化されると、 これはその selectionChanged メソッド内で直接アクションの使用可能状態をコントロールすることができます。

    アクションおよびメニュー・ラベルには、 次の規則に従い略号とアクセラレーターをエンコードする特殊文字を含むことができます。

    1. 略号は、変換可能テキスト中の略号文字の前のアンパーサンド ('&') 文字で指定されます。 XML ストリングではアンパーサンドは使用できないため、&amp; 文字エンティティーを使用してください。
    2. オプションのアクセラレーターは、名前ストリングの最後で指定します。 これには、@ に続けて一連の修飾子と最終的なアクセラレーター文字を続けます (例、&amp;Save@Ctrl+S)。 修飾子は、'+' 符号を区切り文字としてつなげることができます (@Ctrl+Shift+S など)。
    例:

    ビュー・アクション拡張ポイントの例を次に示します (サブエレメントと way 属性が使用されています)。

       <extension point="org.eclipse.ui.viewActions">
          <viewContribution
             id="com.xyz.xyzViewC1"
             targetID="org.eclipse.ui.views.navigator.ResourceNavigator">
             <menu id="com.xyz.xyzMenu"
                label="XYZ Menu"
                path="additions">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ"
                  enablesFor="1"/>
                  <selection class="org.eclipse.core.resources.IFile" name="*.java">
             </action>
         </viewContribution>
       </extension>

    上記の例では、指定されたアクションは、単一選択 (enablesFor 属性) に対してのみ使用可能となります。 また、この選択内の各オブジェクトは、指定されたインターフェース (IFile) をインプリメントする必要があり、 Java ファイルである必要があります。 複数の selection エレメントが指定可能であり、この場合は「いずれかの」選択を表します。

    API 情報: class 属性の値は、 org.eclipse.ui.IViewActionDelegate をインプリメントする Java クラスの完全修飾名である必要があります。 このインターフェースは、プラグイン全体が必要となる前に全体がロードされることのないよう、 できる限り後からロードされます。これは org.eclipse.ui.IActionDelegate を拡張し、 contribution 先のビュー・インスタンスにより代行者が初期化を行うことのできるメソッドを追加します。

    提供されるインプリメンテーション: 各ビューには、通常、 プルダウン・メニューとローカル・ツールバーのいくつかの標準項目が提供されています。 他のプラグインによる追加内容は、標準の項目に追加されます。 パブリック・インターフェース内のビューにアクション ID をパブリッシュすると便利です。 たとえば、ワークベンチ・ウィンドウのアクションおよび主要グループは、 org.eclipse.ui.IWorkbenchActionConstants に定義されます。

    Copyright IBM Corp. 2000, 2001.  All Rights Reserved.