En plugin bidrager med en funktion, som kan ændre mål, for en oversigts- eller editordel ved at implementere en IAction og registrere den med en global funktionsbehandler med delens funktionslinjer. I oversigter gøres dette normalt på det tidspunkt, hvor delen opretter sine funktioner og kontroller. Se underRetargetable editor actions for editorers vedkommende. Navnet på den funktion, som har ændret mål som defineret i IWorkbenchActionConstants, bruges til at angive, hvilken funktion behandleren er beregnet til. Følgende viser, hvordan oversigten over arbejdsbænks opgaveliste registrerer din behandler for funktionen PROPERTIES.
public void createPartControl(Composite parent) { ... makeActions(); ... // Add global action handlers. ... getViewSite().getActionBars().setGlobalActionHandler( IWorkbenchActionConstants.PROPERTIES, propertiesAction); ...
Egenskabsfunktionen oprettes i den lokale metode makeActions:
void makeActions() { ... // properties propertiesAction = new TaskPropertiesAction(this, "properties"); propertiesAction.setText(TaskListMessages.getString("Properties.text")); propertiesAction.setToolTipText(TaskListMessages.getString("Properties.tooltip")); propertiesAction.setEnabled(false); }
Mere skal der ikke til. Din funktion udføres, når brugeren vælger funktionen på arbejdsbænkens menu eller værktøjslinje, og din oversigt eller editor er aktiv. Arbejdsbænken styrer selv detaljerne ved kontrollen af, at funktionen med det ændrede mål altid er knyttet til den aktuelt aktive oversigt. Det samme gælder for editorfunktioner, der leveres via EditorActionBarContributor.