エディターのメニュー、ツールバー、およびアクション

ID: org.eclipse.ui.editorActions

説明: この拡張ポイントは、 他のプラグインにより登録されたエディターのメニューおよびツールバーにアクションを追加するために使用します。

エディターの初期 contribution セットは、 他の拡張ポイント (org.eclipse.ui.editors) によって定義されます。 アクションのセットが 1 つ作成されて、同じエディター・タイプのすべてのインスタンスにより共用されます。 これらのアクションは、起動時にアクティブなエディターに対し動作を行います。 この拡張ポイントは、同じパターンをとります。 それぞれのアクションの拡張機能が作成され、同じエディター・タイプのすべてのインスタンスにより共用されます。 アクション・クラスは、org.eclipse.ui.IEditorActionDelegate をインプリメントする必要があります。 IEditorActionDelegate#setActiveEditor が起動され、アクティブ・エディターが代行者に渡されます。

構成マークアップ:

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

  • id - この contribution の参照に使用する固有 ID
  • editorID - 以前に登録され、この contribution のターゲットとなるエディターの固有 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 など)。
    例:

    エディター・アクション拡張ポイントの例を次に示します。

       <extension point="org.eclipse.ui.editorActions">
          <editorContribution
             id="com.xyz.xyzContribution"
             targetID="com.ibm.XMLEditor">
             <menu id="com.xyz.xyzMenu" label="&amp;XYZ Menu">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  state="true"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ">
             </action>
          </editorContribution>
       </extension>

    上記の例で、指定されたアクションは、メニュー内のチェック・ボックス項目として、 また、ツールバーのトグル・ボタンとして表示されます。

    API 情報: class 属性の値は、 org.eclipse.ui.IEditorActionDelegate をインプリメントする Java クラスの完全修飾名である必要があります。 このインターフェースは、プラグイン全体が必要となる前に全体がロードされることのないよう、 できる限り後からロードされます。メソッド setActiveEditor は、 指定タイプのエディターが活動化されるごとに呼び出されます。 現在ワークベンチで開かれているエディターのインスタンスの数に関係なく、 指定されたエディター・タイプのすべてのインスタンスについて 1 セットのアクションとメニューが作成されます。

    この拡張ポイントを使用して、以前にターゲット・エディターにより作成されたメニューに、アクションを追加します。 また、メニューとアクションはワークベンチ・ウィンドウに対しても提供することができます。 ワークベンチ・ウィンドウ内のアクションおよび主要グループの ID は、 org.eclipse.ui.IWorkbenchActionConstants に定義されます。 これらは、新規アクションを追加するための参照ポイントとして使用されます。 トップレベルのメニューは、path 属性の次の値を使用して作成されます。

    これらのパスに追加されたアクションおよびメニューは、関連するエディターが活動化されている場合にのみ表示されます。 エディターを閉じると、メニューとアクションは除去されます。

    提供されるインプリメンテーション: ワークベンチには、 「デフォルトのテキスト・エディター」が組み込まれています。 このデフォルトのエディター、または他のプラグインの提供するエディターに対しプラグインを提供することができます。

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