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. Isso é feito geralmente na hora em que a parte cria suas ações e controles. O nome da ação reatingível (conforme definido em IWorkbenchActionConstants) é utilizado para especificar para qual ação a rotina de tratamento foi planejada. O seguinte exemplo mostra como a lista de tarefas do workbench registra sua rotina de tratamento 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 workbench e sua exibição ou editor estiver ativo. O workbench trata dos detalhes de assegurar que a ação reatingível seja sempre associada à exibição ou editor atualmente ativo.