|
org.eclipse.ui
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
run
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.
-
-
Parameters:
-
action - the action proxy that handles the presentation portion of the
action
selectionChanged
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.
-
-
Parameters:
-
action - the action proxy that handles presentation portion of
the action -
selection - the current selection, or null if there
is no selection.
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|