Expressões Boolean e Filtros de Ações

Quando um plug-in contribui com uma ação para a UI do workbench utilizando um dos pontos de extensão do menu, ele pode especificar as condições sob as quais o item de menu fica ativado (ou visível) no menu.  Além de fornecer condições simples de ativação, como contagens de seleção e classes de seleção, os plug-ins podem utilizar expressões boolean para ativar uma ação.

Expressões Boolean

As expressões boolean podem conter operadores boolean (NOT, AND, OR) simples e expressões predefinidas que podem avaliar as seguintes condições:

Por exemplo, os seguintes trechos representam expressões de ativação que poderiam ser utilizadas em uma ação hipotética em um conjunto de ações:

<action id="org.eclipse.examples.actionEnablement.class" 
       label="Elemento Vermelho"
       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> 

Consulte expressões de ação para obter exemplos mais elaborados dessas expressões e uma descrição completa do XML.

A tabela a seguir lista os pontos de extensão que contribuem com ações e resume como os atributos e expressões boolean da marcação XML podem ser utilizados para afetar a ativação.

Nome do ponto de extensão

Atributos que afetam a ativação

Expressões boolean

viewActions

enablesFor - especifica a contagem de seleção que deve ser atendida para que a ação seja ativada

selection class - a classe que os objetos selecionados devem subdividir em classes ou implementar para ativar a ação

selection name - um filtro de caractere curinga que pode ser aplicado aos objetos na seleção.

enablement - uma expressão boolean.

selection class, name e enablesFor devem ser atendidos antes que a expressão enablement seja aplicada.

editorActions

enablesFor - especifica a contagem de seleção que deve ser atendida para que a ação seja ativada

selection class - a classe que os objetos selecionados devem subdividir em classes ou implementar para ativar a ação

selection name - um filtro de caractere curinga que pode ser aplicado aos objetos na seleção.

 

enablement - uma expressão boolean.

selection class, name e enablesFor devem ser atendidos antes que a expressão enablement seja aplicada.

popupMenus

(Apenas para contribuições de objetos.)

objectClass - especifica a classe que os objetos na seleção devem subdividir em classes ou implementar

(Apenas para contribuições de objetos e visualizadores)

enablesFor - especifica a contagem de seleção que deve ser atendida para que a ação seja ativada

selection class - a classe que os objetos selecionados devem subdividir em classes ou implementar para ativar a ação

selection name - um filtro de caractere curinga que pode ser aplicado aos objetos na seleção.

 

visibility - uma expressão boolean.

selection class, name e enablesFor devem ser atendidos antes que a expressão enablement seja aplicada.

 

actionSets

enablesFor - especifica a contagem de seleção que deve ser atendida para que a ação seja ativada

selection class - a classe que os objetos selecionados devem subdividir em classes ou implementar para ativar a ação

selection name - um filtro de caractere curinga que pode ser aplicado aos objetos na seleção.

 

enablement - uma expressão boolean.

selection class, name e enablesFor devem ser atendidos antes que a expressão enablement seja aplicada.

 

Copyright IBM Corp. e outros 2000,2002.