Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui
Interface IActionBars

All Known Subinterfaces:
  IActionBars2

All Known Implementing Classes:
  SubActionBars, SubActionBars2

public interface IActionBars

Used by a part to access its menu, toolbar, and status line managers.

Within the workbench each part, editor or view, has a private set of action bars. This set, which contains a menu, toolbar, and status line, appears in the local toolbar for a view and in the window for an editor. The view may provide an implementation for pre-existing actions or add new actions to the action bars.

In a workbench window there are a number of actions which are applicable to all parts. Some common examples are `CUT`, `COPY` and `PASTE`. These actions, known as "global actions", are contributed to the workbench window by the window itself and shared by all parts. The presentation is owned by the window. The implementation is delegated to the active part.

To participate in the global action design an `IWorkbenchPart` should register a handler for each global action which is implemented by the part. This can be done by calling `setGlobalActionHandler`. For convenience, the standard global actions are defined in `org.eclipse.ui.IWorkbenchActionConstants`.

Additional work is required for the `Delete` global action. In this case the accelerator is defined in the menu item text but is not hooked on the window. This is to support text editors where the `Delete` key is functional even when the `Delete` action is disabled (no text is selected). An implementation for this accelerator must be defined locally, in each part, by listening for `Delete` key events.

A part may also contribute new actions to the action bars as required. To do this, call `getMenuManager`, `getToolBarManager`, or `getStatusLineManager` as appropriate to get the action target. Add the action(s) to the target and call `update` to commit any changes to the underlying widgets.

This interface is not intended to be implemented by clients.

Method Summary
`void` | `clearGlobalActionHandlers()` Clears the global action handler list.
`IAction` | `getGlobalActionHandler(String actionId)` Returns the global action handler for the action with the given id.
`IMenuManager` | `getMenuManager()` Returns the menu manager.
`IStatusLineManager` | `getStatusLineManager()` Returns the status line manager.
`IToolBarManager` | `getToolBarManager()` Returns the tool bar manager.
`void` | `setGlobalActionHandler(String actionId, IAction handler)` Sets the global action handler for the action with the given id.
`void` | `updateActionBars()` Updates the action bars.

Method Detail

### clearGlobalActionHandlers

    public void clearGlobalActionHandlers()

  Clears the global action handler list.

  Note: Clients who manipulate the global action list are responsible for calling `updateActionBars` so that the changes can be propagated throughout the workbench.

### getGlobalActionHandler

    public IAction getGlobalActionHandler(String actionId)

  Returns the global action handler for the action with the given id.

  Parameters:
    `actionId` - an action id declared in the registry
  Returns:
    an action handler which implements the action id, or `null` if none is registered
  See Also:
    `IWorkbenchActionConstants`, `setGlobalActionHandler(String, IAction)`

### getMenuManager

    public IMenuManager getMenuManager()

  Returns the menu manager.

  Note: Clients who add or remove items from the returned menu manager are responsible for calling `updateActionBars` so that the changes can be propagated throughout the workbench.

  Returns:
    the menu manager

### getStatusLineManager

    public IStatusLineManager getStatusLineManager()

  Returns the status line manager.

  Note: Clients who add or remove items from the returned status line manager are responsible for calling `updateActionBars` so that the changes can be propagated throughout the workbench.

  Returns:
    the status line manager

### getToolBarManager

    public IToolBarManager getToolBarManager()

  Returns the tool bar manager.

  Note: Clients who add or remove items from the returned tool bar manager are responsible for calling `updateActionBars` so that the changes can be propagated throughout the workbench.

  Returns:
    the tool bar manager

### setGlobalActionHandler

    public void setGlobalActionHandler(String actionId,
                                       IAction handler)

  Sets the global action handler for the action with the given id.

  Note: Clients who manipulate the global action list are responsible for calling `updateActionBars` so that the changes can be propagated throughout the workbench.

  Parameters:
    `actionId` - an action id declared in the registry
    `handler` - an action which implements the action id, or `null` to clear any existing handler
  See Also:
    `IWorkbenchActionConstants`

### updateActionBars

    public void updateActionBars()

  Updates the action bars.

  Clients who add or remove items from the menu, tool bar, or status line managers should call this method to propagated the changes throughout the workbench.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.