Boolean 表示式和動作過濾條件

當外掛程式使用其中一個功能表延伸點來提供動作給工作台 UI 時, 它可以指定功能表項目啟用(或可見的)的條件。除了提供簡單啟用條件,例如選項計數和選項類別,外掛程式可以使用 Boolean 表示式來啟用動作。

Boolean 表示式

Boolean 表示式可以包含簡單 Boolean 運算子(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 標記屬性和 Boolean 表示式來影響啟用。

延伸點名稱

屬性影響啟用

Boolean 表示式

viewActions

enablesFor - 指出必須達到啟用動作的選項計數。

selection class - 已選取物件的類別必須為子類別,或實作以啟用動作。

selection name - 可套用到選項中之物件的萬用字元過濾條件。

enablement - Boolean 表示式。

在套用啟用表示式之前,必須滿足 selection classname,和 enablesFor

editorActions

enablesFor - 指出必須達到啟用動作的選項計數。

selection class - 已選取物件的類別必須為子類別,或實作以啟用動作。

selection name - 可套用到選項中之物件的萬用字元過濾條件。

 

enablement - Boolean 表示式。

在套用啟用表示式之前,必須滿足 selection classname,和 enablesFor

popupMenus

(物件構成要素專屬。)

objectClass - 指定選項中物件的類別必須為子類別或實作。

(物件和檢視器構成要素)

enablesFor - 指出必須達到啟用動作的選項計數。

selection class - 已選取物件的類別必須為子類別,或實作以啟用動作。

selection name - 可套用到選項中之物件的萬用字元過濾條件。

 

visibility - Boolean 表示式。

在套用啟用表示式之前,必須滿足 selection classname,和 enablesFor

 

actionSets

enablesFor - 指出必須達到啟用動作的選項計數。

selection class - 已選取物件的類別必須為子類別,或實作以啟用動作。

selection name - 可套用到選項中之物件的萬用字元過濾條件。

 

enablement - Boolean 表示式。

在套用啟用表示式之前,必須滿足 selection classname,和 enablesFor

 

Copyright IBM Corp. and others 2000,2002.