Ange en global åtgärdshanterare

Ett insticksprogram bidrar med en åtgärd som kan växla mål för en vy- eller redigerardel genom att implementera enIAction och registrera den som en global åtgärdshanterare med delens åtgärdsfält.  I vyer är sker det här vanligen när delen skapar åtgärder och kontroller. Information för redigerare finns i avsnittet om redigeraråtgärder som kan växla mål. Namnet på åtgärden som kan växla mål (som definieras i IWorkbenchActionConstants) används till att ange vilken åtgärd som hanteraren är avsedd för.  Följande visar hur arbetsmiljöns uppgiftslistevy registrerar sin hanterare för åtgärden PROPERTIES.

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

	// Add global action handlers.
	...	
	getViewSite().getActionBars().setGlobalActionHandler(
		IWorkbenchActionConstants.PROPERTIES,
		propertiesAction);
	...

Egenskapsåtgärden skapas i den lokala metoden makeActions:

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

Det är allt som behövs.  Åtgärden körs när användaren väljer åtgärden på arbetsmiljöns meny eller verktygsfält och vyn eller redigeraren är aktiv.  Arbetsmiljön hanterar detaljerna med att säkerställa att åtgärden som kan växla mål alltid är kopplad till den aktiva vyn. Detsamma gäller redigeraråtgärder som är tillgängliga via EditorActionBarContributor.