Expressões Booleanas 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 visível e/ou ativado 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 booleanas para ativar ou tornar visível uma ação.

Expressões Booleanas

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

Por exemplo, os seguintes fragmentos 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 a documentação de referência dos pontos de extensão a seguir 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 booleanas 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 Booleanas

viewActions,

editorActions,

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.

visibility - uma expressão booleana.  Controla se o item de menu está visível no menu.

enablement - uma expressão booleana.  Controla se o item de menu está ativado no menu.  O atributo enablesFor, selection class e name, 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

(Para as contribuições de objetos e de 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.

 

(Para as contribuições de objetos e de visualizadores)

visibility - uma expressão booleana.  Controla se o item de menu está visível no menu.

enablement - uma expressão booleana.  Controla se o item de menu está ativado no menu.  O atributo enablesFor, selection class e name, devem ser atendidos antes que a expressão enablement seja aplicada.

Copyright IBM Corporation e outros 2000, 2003.