アクション・セット

ID: org.eclipse.ui.actionSets

説明: この拡張ポイントは、 ワークベンチ・ウィンドウの共通域にメニューやボタンを追加するために使用します。 これらの contribution は集合的に アクション・セット と呼ばれ、 ユーザーの設定によりワークベンチ・ウィンドウ内に表示されます。

構成マークアップ:

   <!ELEMENT actionSet (menu)* (action)* (description?)>
   <!ATTLIST actionSet
      id        CDATA #REQUIRED
      label     CDATA #REQUIRED
      visible   (true | false) #IMPLIED
    >
    <!ELEMENT description (#PCDATA)>

   <!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
          pulldown          (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.actionSets">
            <actionSet id="com.xyz.actionSet"
                label="My Actions"
                visible="true">
                <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>
            </actionSet>
        </extension>

    上記の例では、指定されたアクション "My Actions" は、各パースペクティブ中、初期状態で可視となります。 これは、単一選択 (enablesFor 属性) に対してのみ使用可能となります。 また、選択内のオブジェクトは、指定されたインターフェース (IFile) をインプリメントする必要があり、 Java ファイルである必要があります。

    API 情報: class 属性の値は、 org.eclipse.ui.IWorkbenchWindowActionDelegate または org.eclipse.ui.IWorkbenchWindowPulldownDelegate をインプリメントするクラスの完全修飾名である必要があります。 後者は、pulldown が true の場合にインプリメントする必要があります。 このクラスは、プラグイン全体が必要になる前に全体がロードされることのないよう、 できる限り後からロードされます。

    提供されるインプリメンテーション: プラグインはこの拡張ポイントを使用して新規のトップレベル・メニューを追加することができます (例、Debug)。 また、プラグインは、 他のプラグインのアクションが提供されるようにするための名前付きグループを定義することもできます。

    トップレベル・メニューは、path 属性に次の値を使用して作成されます。

    path 属性を省略すると、additions メニュー・バー・グループに新規のメニューが追加されます。

    ワークベンチ・ウィンドウのデフォルト・グループは IWorkbenchActionConstants インターフェースで定義されます。 これらの定数は、動的な contribution のコードで使用することができます。 この値は、XML ファイルにコピーして、既存のワークベンチ・メニューおよびツールバーとの詳細な統合を図ることができます。

    ワークベンチ・ウィンドウ内の各種メニューおよびツールバー項目は、アルゴリズムに従って定義されます。 この場合、ウィンドウの拡張には個別のメカニズムが使用されます。 たとえば、新規のワークベンチ・ビューを追加することにより、 「パースペクティブ (Perspective)」メニューには新規のメニュー項目が表示されます。 インポート、エクスポート、および新規ウィザードの拡張機能も自動的にウィンドウに追加されます。
     

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