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.