ブール式およびアクション・フィルター

メニュー拡張ポイントのいずれかを使用してプラグインがワークベンチ UI にアクションを組み込むとき、 プラグインは、メニュー内でメニュー項目を可視および/または使用可能にする条件を指定できます。  選択カウントおよび選択クラスなど、簡単な使用可能化条件の提供に加え、 プラグインはブール式を使用してアクションを可視または使用可能にできます。

ブール式

ブール式には、簡単なブール演算子 (NOT、AND、OR) および以下の条件を評価できる事前定義式を組み込むことができます。

例えば、以下の部分は、アクション・セットの仮定のアクションで使用できる使用可能性式を表します。

<action id="org.eclipse.examples.actionEnablement.class" 
       label="Red Element" 
       menubarPath="additions"
       class="org.eclipse.examples.actionEnablement.ObjectTestAction"> 
       <enablement> 
	 <and>
	   <objectClass name="org.eclipse.examples.actionEnablement.TestElement"/> 
           <objectState name="name" value="red"/> 
	 </and>
       </enablement> 
</action>
<action id="org.eclipse.examples.actionEnablement.property" 
       label="Property" 
       menubarPath="additions"
       class="org.eclipse.examples.actionEnablement.PropertyTestAction"> 
       <enablement> 
           <systemProperty name="MyTestProperty" value="puppy"/> 
       </enablement> 
</action>
<action id="org.eclipse.examples.actionEnablement.pluginState" 
       label="Installed" 
       menubarPath="additions"
       class="org.eclipse.examples.actionEnablement.PluginTestAction"> 
       <enablement> 
           <pluginState id="x.y.z.anotherPlugin" value="installed"/> 
       </enablement> 
</action>

これらの式の詳しいサンプルおよび XML の完全な説明については、 下にある拡張ポイントの参照ドキュメンテーションを参照してください。

下の表では、アクションを組み込む拡張ポイントがリストされ、 XML マークアップ属性およびブール式を使用して使用可能性に影響を与える方法も要約されています。

拡張ポイント名

使用可能性に影響を与える属性

ブール式

viewActions,

editorActions,

actionSets

enablesFor - 使用可能になるアクションに適合する必要のある選択カウントを指定します。

selection class - アクションを使用可能にするため、選択オブジェクトがサブクラス化またはインプリメントする必要のあるクラス。

selection name - 選択内のオブジェクトに適用できるワイルドカード・フィルター。

visibility - ブール式。  メニュー項目をメニューに表示するかどうかを制御します。

enablement - ブール式。  メニュー項目をメニューで使用可能にするかどうかを制御します。  enablesFor 属性、selection class、および name は、使用可能性式を 適用する前に基準を満たしている必要があります。

popupMenus

(オブジェクト contribution の場合のみ)

objectClass - 選択内のオブジェクトがサブクラス化またはインプリメントする必要のあるクラスを指定します。

(オブジェクト contribution とビューアー contribution の両方の場合)

enablesFor - 使用可能になるアクションに適合する必要のある選択カウントを指定します。

selection class - アクションを使用可能にするため、選択オブジェクトがサブクラス化またはインプリメントする必要のあるクラス。

selection name - 選択内のオブジェクトに適用できるワイルドカード・フィルター。

 

(オブジェクト contribution とビューアー contribution の両方の場合)

visibility - ブール式。  メニュー項目をメニューに表示するかどうかを制御します。

enablement - ブール式。  メニュー項目をメニューで使用可能にするかどうかを制御します。  enablesFor 属性、selection class、および name は、使用可能性式を 適用する前に基準を満たしている必要があります。

Copyright IBM Corporation and others 2000, 2003.