Interface IAction

All Known Subinterfaces:
ActionFactory.IWorkbenchAction
All Known Implementing Classes:
AbstractAction, AbstractTextEditor.LineEndAction, AbstractTextEditor.LineStartAction, Action, AddBookmarkAction, AddMarkerAction, AddMemoryRenderingActionDelegate, AddTaskAction, AddTaskAction, BackAction, BaseSelectionListenerAction, BooleanPropertyAction, BuildAction, CaseAction, ChangeCompareFilterPropertyAction, ChangeEncodingAction, ChangePropertyAction, ClearOutputAction, CloseAllSavedAction, CloseConsoleAction, CloseResourceAction, CloseUnrelatedProjectsAction, org.eclipse.ui.internal.actions.CommandAction, ContentAssistAction, ContributedAction, ConvertLineDelimitersAction, CopyProjectAction, CopyResourceAction, CreateFileAction, CreateFolderAction, DebugCommandAction, DeleteLineAction, DeleteResourceAction, EditorPluginAction, ExportResourcesAction, FileBufferOperationAction, FindNextAction, FindReplaceAction, ForwardAction, FrameAction, GlobalBuildAction, GoIntoAction, GotoAnnotationAction, GotoLastEditPositionAction, GotoLineAction, GotoNextEditPositionAction, ImportResourcesAction, IncrementalFindAction, InsertLineAction, JoinLinesAction, LabelRetargetAction, LaunchAction, LaunchAsAction, LaunchShortcutsAction, MarkAction, MarkerRulerAction, MarkerRulerInfoAction, MergeViewerAction, ModelParticipantAction, MoveLinesAction, MoveProjectAction, MoveResourceAction, NavigationAction, NavigationHistoryAction, NewExampleAction, NewProjectAction, NewWizardAction, NewWizardDropDownAction, ObjectPluginAction, OpenCheatSheetAction, OpenFileAction, OpenInNewWindowAction, OpenLaunchDialogAction, OpenPerspectiveAction, OpenPreferencesAction, OpenResourceAction, OpenSystemEditorAction, OperationHistoryActionHandler, PageEventAction, PartEventAction, PartPluginAction, PerspectiveAction, PinPropertySheetAction, PluginAction, PropertyDialogAction, QuickStartAction, RecenterAction, RedoActionHandler, RefreshAction, RenameResourceAction, ResourceAction, RetargetAction, RetargetTextEditorAction, RevertToSavedAction, RulerBreakpointAction, RunToLineAction, SaveAction, ScrubLocalAction, SelectAnnotationRulerAction, SelectionListenerAction, SelectionProviderAction, SelectMarkerRulerAction, SelectMarkerRulerInfoAction, ShiftAction, ShowWhitespaceAction, ShowWhitespaceCharactersAction, SynchronizeModelAction, TextEditorAction, TextEditorPropertyAction, TextNavigationAction, TextOperationAction, TextViewerAction, TextViewerGotoLineAction, ToggleBreakpointAction, ToggleEditorsVisibilityAction, UndoActionHandler, UpAction, ViewPluginAction, ViewPreferencesAction, WorkspaceAction, WWinPluginAction, WWinPluginPulldown

@NoImplement public interface IAction
An action represents the non-UI side of a command which can be triggered by the end user. Actions are typically associated with buttons, menu items, and items in tool bars. The controls for a command are built by some container, which furnished the context where these controls appear and configures them with data from properties declared by the action. When the end user triggers the command via its control, the action's run method is invoked to do the real work.

Actions support a predefined set of properties (and possibly others as well). Clients of an action may register property change listeners so that they get notified whenever the value of a property changes.

Clients should subclass the abstract base class Action to define concrete actions rather than implementing IAction from scratch.

This interface exists only to define the API for actions. It is not intended to be implemented by clients.

See Also:
  • Field Details

    • AS_UNSPECIFIED

      static final int AS_UNSPECIFIED
      Action style constant (value 0) indicating action style is not specified yet. By default, the action will assume a push button style. If setChecked is called, then the style will change to a check box, or if setMenuCreator is called, then the style will change to a drop down menu.
      Since:
      2.1
      See Also:
    • AS_PUSH_BUTTON

      static final int AS_PUSH_BUTTON
      Action style constant (value 1) indicating action is a simple push button.
      See Also:
    • AS_CHECK_BOX

      static final int AS_CHECK_BOX
      Action style constant (value 2) indicating action is a check box (or a toggle button).

      Note: The action is also run when a check box gets deselected. Use isChecked() to determine the selection state.

      See Also:
    • AS_DROP_DOWN_MENU

      static final int AS_DROP_DOWN_MENU
      Action style constant (value 4) indicating action is a drop down menu.
      See Also:
    • AS_RADIO_BUTTON

      static final int AS_RADIO_BUTTON
      Action style constant (value 8) indicating action is a radio button.

      Note: When a radio button gets selected, the action for the unselected radio button will also be run. Use isChecked() to determine the selection state.

      Since:
      2.1
      See Also:
    • TEXT

      static final String TEXT
      Property name of an action's text (value "text").
      See Also:
    • ENABLED

      static final String ENABLED
      Property name of an action's enabled state (value "enabled").
      See Also:
    • IMAGE

      static final String IMAGE
      Property name of an action's image (value "image").
      See Also:
    • TOOL_TIP_TEXT

      static final String TOOL_TIP_TEXT
      Property name of an action's tooltip text (value "toolTipText").
      See Also:
    • DESCRIPTION

      static final String DESCRIPTION
      Property name of an action's description (value "description"). Typically the description is shown as a (longer) help text in the status line.
      See Also:
    • CHECKED

      static final String CHECKED
      Property name of an action's checked status (value "checked"). Applicable when the style is AS_CHECK_BOX or AS_RADIO_BUTTON.
      See Also:
    • RESULT

      static final String RESULT
      Property name of an action's success/fail result (value "result"). The values are Boolean.TRUE if running the action succeeded and Boolean.FALSE if running the action failed or did not complete.

      Not all actions report whether they succeed or fail. This property is provided for use by actions that may be invoked by clients that can take advantage of this information when present (for example, actions used in cheat sheets). Clients should always assume that running the action succeeded in the absence of notification to the contrary.

      Since:
      3.0
      See Also:
    • HANDLED

      static final String HANDLED
      Property name of an action's handler. Some actions delegate some or all of their behaviour or state to another object. In this case, if the object to which behaviour has been delegated changes, then a property change event should be sent with this name. This is used to support backward compatibility of actions within the commands framework.
      Since:
      3.1
      See Also:
  • Method Details

    • addPropertyChangeListener

      void addPropertyChangeListener(IPropertyChangeListener listener)
      Adds a property change listener to this action. Has no effect if an identical listener is already registered.
      Parameters:
      listener - a property change listener
    • getAccelerator

      int getAccelerator()
      Returns the accelerator keycode for this action. The result is the bit-wise OR of zero or more modifier masks and a key, as explained in MenuItem.getAccelerator.
      Returns:
      the accelerator keycode
      See Also:
    • getActionDefinitionId

      String getActionDefinitionId()
      Returns the action definition id of this action.
      Returns:
      the action definition id of this action, or null if none
      Since:
      2.0
    • getDescription

      String getDescription()
      Returns the action's description if it has one. Otherwise it returns getToolTipText().
      Returns:
      a description for the action; may be null
    • getDisabledImageDescriptor

      ImageDescriptor getDisabledImageDescriptor()
      Returns the disabled image for this action as an image descriptor.

      This method is associated with the IMAGE property; property change events are reported when its value changes.

      Returns:
      the image, or null if this action has no image
      See Also:
    • getHelpListener

      HelpListener getHelpListener()
      Returns a help listener for this action.
      Returns:
      a help listener for this action
    • getHoverImageDescriptor

      ImageDescriptor getHoverImageDescriptor()
      Returns the hover image for this action as an image descriptor.

      Hover images will be used on platforms that support changing the image when the user hovers over the item. This method is associated with the IMAGE property; property change events are reported when its value changes.

      Returns:
      the image, or null if this action has no image
      See Also:
    • getId

      String getId()
      Returns a unique identifier for this action, or null if it has none.
      Returns:
      the action id, or null if none
    • getImageDescriptor

      ImageDescriptor getImageDescriptor()
      Returns the image for this action as an image descriptor.

      This method is associated with the IMAGE property; property change events are reported when its value changes.

      Returns:
      the image, or null if this action has no image
      See Also:
    • getMenuCreator

      IMenuCreator getMenuCreator()
      Returns the menu creator for this action.
      Returns:
      the menu creator, or null if none
    • getStyle

      int getStyle()
      Return this action's style.
      Returns:
      one of AS_PUSH_BUTTON, AS_CHECK_BOX, AS_RADIO_BUTTON and AS_DROP_DOWN_MENU.
    • getText

      String getText()
      Returns the text for this action.

      This method is associated with the TEXT property; property change events are reported when its value changes.

      Returns:
      the text, or null if none
      See Also:
    • getToolTipText

      String getToolTipText()
      Returns the tool tip text for this action.

      This method is associated with the TOOL_TIP_TEXT property; property change events are reported when its value changes.

      Returns:
      the tool tip text, or null if none
      See Also:
    • isChecked

      boolean isChecked()
      Returns the checked status of this action. Applicable only if the style is AS_CHECK_BOX or AS_RADIO_BUTTON.

      This method is associated with the CHECKED property; property change events are reported when its value changes.

      Returns:
      the checked status
      See Also:
    • isEnabled

      boolean isEnabled()
      Returns whether this action is enabled.

      This method is associated with the ENABLED property; property change events are reported when its value changes.

      Returns:
      true if enabled, and false if disabled
      See Also:
    • isHandled

      boolean isHandled()
      Returns whether this action is handled. In the default case, this is always true. However, if the action delegates some of its behaviour to some other object, then this method should answer whether such an object is currently available.
      Returns:
      true if all of the action's behaviour is available; false otherwise.
      Since:
      3.1
    • removePropertyChangeListener

      void removePropertyChangeListener(IPropertyChangeListener listener)
      Removes the given listener from this action. Has no effect if an identical listener is not registered.
      Parameters:
      listener - a property change listener
    • run

      void run()
      Runs this action. Each action implementation must define the steps needed to carry out this action. The default implementation of this method in Action does nothing.
      See Also:
    • runWithEvent

      void runWithEvent(Event event)
      Runs this action, passing the triggering SWT event. As of 2.0, ActionContributionItem calls this method instead of run(). The default implementation of this method in Action simply calls run() for backwards compatibility.
      Parameters:
      event - the SWT event which triggered this action being run
      Since:
      2.0
      See Also:
    • setActionDefinitionId

      void setActionDefinitionId(String id)
      Sets the action definition id of this action.
      Parameters:
      id - the action definition id
      Since:
      2.0
    • setChecked

      void setChecked(boolean checked)
      Sets the checked status of this action. Applicable for the styles AS_CHECK_BOX or AS_RADIO_BUTTON.

      Fires a property change event for the CHECKED property if the checked status actually changes as a consequence.

      Parameters:
      checked - the new checked status
      See Also:
    • setDescription

      void setDescription(String text)
      Sets this action's description. Typically the description is shown as a (longer) help text in the status line.

      Fires a property change event for the DESCRIPTION property if the description actually changes as a consequence.

      Parameters:
      text - the description, or null to clear the description
      See Also:
    • setDisabledImageDescriptor

      void setDisabledImageDescriptor(ImageDescriptor newImage)
      Sets the disabled image for this action, as an image descriptor.

      Disabled images will be used on platforms that support changing the image when the item is disabled.Fires a property change event for the IMAGE property if the image actually changes as a consequence.

      Parameters:
      newImage - the image, or null if this action should not have an image
      See Also:
    • setEnabled

      void setEnabled(boolean enabled)
      Sets the enabled state of this action.

      When an action is in the enabled state, the control associated with it is active; triggering it will end up inkoking this action's run method.

      Fires a property change event for the ENABLED property if the enabled state actually changes as a consequence.

      Parameters:
      enabled - true to enable, and false to disable
      See Also:
    • setHelpListener

      void setHelpListener(HelpListener listener)
      Sets a help listener for this action.
      Parameters:
      listener - a help listener for this action
    • setHoverImageDescriptor

      void setHoverImageDescriptor(ImageDescriptor newImage)
      Sets the hover image for this action, as an image descriptor.

      Hover images will be used on platforms that support changing the image when the user hovers over the item.Fires a property change event for the IMAGE property if the image actually changes as a consequence.

      Parameters:
      newImage - the image, or null if this action should not have an image
      See Also:
    • setId

      void setId(String id)
      Sets the unique identifier for this action. This is used to identify actions when added to a contribution manager. It should be set when the action is created. It should not be modified once the action is part of an action contribution item.
      Parameters:
      id - the action id
      See Also:
    • setImageDescriptor

      void setImageDescriptor(ImageDescriptor newImage)
      Sets the image for this action, as an image descriptor.

      Fires a property change event for the IMAGE property if the image actually changes as a consequence.

      Note: This operation is a hint and is not supported in all contexts on platforms that do not have this concept (for example, Windows NT). Furthermore, some platforms (such as GTK), cannot display both a check box and an image at the same time. Instead, they hide the image and display the check box.

      Parameters:
      newImage - the image, or null if this action should not have an image
      See Also:
    • setMenuCreator

      void setMenuCreator(IMenuCreator creator)
      Sets the menu creator for this action. Applicable for style AS_DROP_DOWN_MENU.
      Parameters:
      creator - the menu creator, or null if none
    • setText

      void setText(String text)
      Sets the text for this action.

      An accelerator is identified by the last index of a '\t' character. If there are no '\t' characters, then it is identified by the last index of an '@' character. If neither, then there is no accelerator text. Note that if you want to insert an '@' character into the text (but no accelerator), then you can simply insert an '@' or a '\t' at the end of the text.
      An accelerator specification consists of zero or more modifier tokens followed by a key code token. The tokens are separated by a '+' character.

      Fires a property change event for the TEXT property if the text actually changes as a consequence.

      Parameters:
      text - the text, or null if none
      See Also:
    • setToolTipText

      void setToolTipText(String text)
      Sets the tool tip text for this action.

      Fires a property change event for the TOOL_TIP_TEXT property if the tool tip text actually changes as a consequence.

      Parameters:
      text - the tool tip text, or null if none
      See Also:
    • setAccelerator

      void setAccelerator(int keycode)

      Sets the accelerator keycode that this action maps to. This is a bitwise OR of zero or more SWT key modifier masks (i.e. SWT.CTRL or SWT.ALT) and a character code. For example, for Ctrl+Z, use SWT.CTRL | 'Z'. Use 0 for no accelerator.

      This method should no longer be used for actions in the Eclipse workbench. IWorkbenchCommandSupport and IWorkbenchContextSupport provide all the functionality required for key bindings. If you set an accelerator using this method, then it will not work in the workbench if it conflicts any existing key binding, or if there is a different key binding defined for this action's definition id. The definition id should be used instead -- referring to the command in the workbench from which the key binding should be retrieved.

      Parameters:
      keycode - the keycode to be accepted.