Definindo uma Rotina de Tratamento de Ação Global

Um plug-in contribui com uma ação reatingível para uma parte de exibição ou de editor implementando uma IAction e registrando-a como uma rotina de tratamento de ação global com as barras de ações da parte.  Nas visualizações, isso geralmente é feito no momento em que a parte cria suas ações e controles. Para editores, consulte Ações do Editor que Podem Ser Executadas Novamente. O nome da ação que pode ser executada novamente (conforme definido em IWorkbenchActionConstants) é utilizado para especificar para qual ação o manipulador está planejado.  Veja a seguir como a visualização da lista de tarefas do ambiente de trabalho registra seu manipulador para a ação PROPERTIES.

public void createPartControl(Composite parent) {
	...
	makeActions();
	...

	// Incluir rotinas de tratamento de ação global.
	...	
	getViewSite().getActionBars().setGlobalActionHandler(
		IWorkbenchActionConstants.PROPERTIES,
		propertiesAction);
	...

A ação propriedades é criada no método local makeActions:

void makeActions() {
	...
	// propriedades
	propertiesAction = new TaskPropertiesAction(this, "properties");
	propertiesAction.setText(TaskListMessages.getString("Properties.text"));
	propertiesAction.setToolTipText(TaskListMessages.getString("Properties.tooltip"));
	propertiesAction.setEnabled(false);
}

Isso é tudo o que se precisa.  Sua ação será executada quando o usuário escolher a ação na barra de menus ou na barra de ferramentas do ambiente de trabalho e sua exibição ou editor estiver ativo.  O ambiente de trabalho manipula os detalhes da garantia de que a ação que pode ser executada novamente sempre esteja associada à visualização ativa no momento. O mesmo se aplica às ações do editor fornecidas por meio do EditorActionBarContributor.