org.eclipse.ui.editorActions

Acabámos de ver como os editores podem contribuir com as suas próprias acções para os menus e a barra de ferramentas da área de trabalho quando se tornam activos.  O ponto de extensão org.eclipse.ui.editorActions permite a um plug-in adicionar aos menus e barra de ferramentas da área de trabalho quando o editor de outro plug-in se tornar activo.

No exemplo do readme, o plug-in utiliza o ponto de extensão editorActions para contribuir com mais acções para o menu, que por seu turno é contributo do editor do readme. a definição no nosso ficheiro plugin.xml já deve ser conhecida agora.

<extension
    point = "org.eclipse.ui.editorActions">
      <editorContribution 
         id="org.eclipse.ui.examples.readmetool.ec1" 
         targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor">        
	   <action id="org.eclipse.ui.examples.readmetool.ea1" 
              label="%Editors.Action.label" 
              toolbarPath="ReadmeEditor"
              icon="icons/obj16/editor.png" 
              tooltip="%Editors.Action.tooltip" 
              class="org.eclipse.ui.examples.readmetool.EditorActionDelegate" 
              definitionId="org.eclipse.ui.examples.readmetool.ea1"
              /> 
      </editorContribution>
 </extension>

Semelhante à acção vista, a extensão deve especificar o targetID do editor para o qual contribui com acções.  A própria acção é muito semelhante a uma acção vista (id, etiqueta, ícone, toolbarPath... ), exceptuando o facto de uma classe especificada ter de implementar IEditorActionDelegate e o definitionId pode ser especificado para ligar esta acção a um Comando especificado pela extensão org.eclipse.ui.commands, que é importante para as associações de teclas. Consulte Comandos.

Repare que não foi especificado nesta marcação nenhum caminho de barra de menus.  Por conseguinte, a acção irá aparecer na barra de ferramentas da área de trabalho quando o editor estiver activo, mas não na barra de menus da área de trabalho.   (Consulte Caminhos de menus e barras de ferramentas para ver uma abordagem dos caminhos de barras de ferramentas e menus.

É certo que, quando o editor está activo, vemos a acção do nosso editor na barra de ferramentas junto às acções que foram contributos do próprio editor.

Acção de editor aparece junto aos contributos do editor original na barra de ferramentas da área de trabalho

A ferramenta readme faculta um EditorActionDelegate para implementar a acção.  Esta classe é muito semelhante ao delegado de acções de vista que vimos antes.

public void run(IAction action) {
	MessageDialog.openInformation(editor.getSite().getShell(),
		MessageUtil.getString("Readme_Editor"),
		MessageUtil.getString("Editor_Action_executed")); 
}