Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Eclipse Platform
Release 3.5

Interface IActionDelegate

All Known Subinterfaces:
IActionDelegate2, IEditorActionDelegate, IObjectActionDelegate, IViewActionDelegate, IWorkbenchWindowActionDelegate, IWorkbenchWindowPulldownDelegate, IWorkbenchWindowPulldownDelegate2
All Known Implementing Classes:
AbstractLaunchHistoryAction, AbstractLaunchToolbarAction, AbstractRulerActionDelegate, ActionDelegate, AddMemoryRenderingActionDelegate, ApplyRefactoringScriptAction, BookmarkRulerAction, ContextualLaunchAction, CreateRefactoringScriptAction, DebugAction, org.eclipse.debug.internal.ui.actions.ExecutionAction, FileBufferOperationAction, GotoLastEditPositionAction, LaunchAsAction, LaunchShortcutsAction, LaunchURL, OpenLaunchDialogAction, QuickDiffToggleAction, RedoRefactoringAction, RulerBreakpointTypesActionDelegate, RulerEnableDisableBreakpointActionDelegate, RulerToggleBreakpointActionDelegate, RunAction, RunToLineActionDelegate, SelectRulerAction, ShowRefactoringHistoryAction, TaskRulerAction, org.eclipse.debug.internal.ui.actions.breakpoints.ToggleBreakpointObjectActionDelegate, ToggleMethodBreakpointActionDelegate, ToggleWatchpointActionDelegate, org.eclipse.ltk.internal.ui.refactoring.UndoManagerAction, UndoRefactoringAction

public interface IActionDelegate

Interface for actions contributed via an extension point.

This interface should be implemented by clients who need to contribute actions via an extension point. The workbench will generate a proxy action object on behalf of the plug-in to avoid having to activate the plug-in until the user needs it. If the action is performed the workbench will load the class that implements this interface and create what is called an action delegate object. Then the request, and all subsequent ones, are forwarded through the proxy action to the action delegate, which does the real work.

The proxy action is the one that appears in the UI, so the action delegate will need to talk to the proxy action in order to keep up an appropriate appearance. Once the action delegate has been created, it will be notified of all selection changes, allowing it to enable or disable the proxy action appropriately.

An action delegate cannot be consulted about selection changes before the action is performed because it does not exist. For this reason, control of the action's enable state should also be exercised through simple XML rules contained in the extension. These rules allow enable state control before the action delegate's plug-in is loaded.

Clients can choose to subclass the provided abstract implementation org.eclipse.ui.actions.ActionDelegate or implement the interface directly.

See Also:
ActionDelegate, IActionDelegate2

Method Summary
 void run ( IAction action)
          Performs this action.
 void selectionChanged ( IAction action, ISelection selection)
          Notifies this action delegate that the selection in the workbench has changed.

Method Detail


void run(
IAction action)
Performs this action.

This method is called by the proxy action when the action has been triggered. Implement this method to do the actual work.

Note: If the action delegate also implements IActionDelegate2, then this method is not invoked but instead the runWithEvent(IAction, Event) method is called.

action - the action proxy that handles the presentation portion of the action


void selectionChanged(
IAction action,
ISelection selection)
Notifies this action delegate that the selection in the workbench has changed.

Implementers can use this opportunity to change the availability of the action or to modify other presentation properties.

When the selection changes, the action enablement state is updated based on the criteria specified in the plugin.xml file. Then the delegate is notified of the selection change regardless of whether the enablement criteria in the plugin.xml file is met.

action - the action proxy that handles presentation portion of the action
selection - the current selection, or null if there is no selection.

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.

  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire