Um plug-in contribui com uma acção redestinável para uma parte de vista ou editor implementando uma IAction e registando-a como rotina de tratamento de acções globais junto da barra de acções da parte. Nas vistas, isto é geralmente efectuado no momento em que o componente cria e controla a acção. Para visualizar os editores, consulte Acções de editor redestináveis. O nome da acção redestinável (como está definido em IWorkbenchActionConstants) é utilizado para especificar as acções às quais se destina a rotina de tratamento. Em seguida é apresentado o modo como a vista da lista de tarefas da área de trabalho regista a respectiva rotina de tratamento para a acção PROPERTIES.
public void createPartControl(Composite parent) {
...
makeActions();
...
// Add global action handlers.
...
getViewSite().getActionBars().setGlobalActionHandler(
IWorkbenchActionConstants.PROPERTIES,
propertiesAction);
...
The properties action is created in the local method makeActions:
void makeActions() {
...
// properties
propertiesAction = new TaskPropertiesAction(this, "properties");
propertiesAction.setText(TaskListMessages.getString("Properties.text"));
propertiesAction.setToolTipText(TaskListMessages.getString("Properties.tooltip"));
propertiesAction.setEnabled(false);
}
É só o que é necessário. A sua acção será executada quando o utilizador escolher a acção no menu ou na barra de ferramentas da área de trabalho e a vista ou o editor estiver activo(a). A área de trabalho processa os detalhes para assegurar que a acção redestinável é sempre associada à vista actualmente activa. O mesmo se aplica às acções do editor fornecidas através do EditorActionBarContributor.