説明: この拡張ポイントは、 他のプラグインにより登録されたビューのメニューおよびツールバーにアクションを追加するために使用します。 各ビューには、ローカルのプルダウン・メニューがあります。これは、通常は右上の領域をクリックしてアクティブにします。 このメニューには、その他のプラグインにより、サブメニューおよびアクションを追加することができます。 また、プラグインにより、ビュー・ツールバーにアクションを追加することもできます。 ビューの所有者は、最初にこれらの領域を配置することができます。 他のプラグインによるオプションの追加内容がこれに加えられます。
構成マークアップ:
<!ELEMENT viewContribution (menu | action)*>
<!ATTLIST viewContribution
id
CDATA #REQUIRED
targetID CDATA #REQUIRED
>
<!ELEMENT menu (separator)+>id - この contribution の参照に使用する固有 ID targetID - contribution が加えられたビューの固有 ID (レジストリーに定義された ID)
<!ELEMENT action (selection)*>name - 後でアクション・パスの最後のトークンとして参照が可能な区切り文字の名前。 区切り文字は、アクションの追加先とすることのできる名前付きグループとして使用することができます。
アクションおよびメニュー・ラベルには、 次の規則に従い略号とアクセラレーターをエンコードする特殊文字を含むことができます。
ビュー・アクション拡張ポイントの例を次に示します (サブエレメントと 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="&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 に定義されます。