All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.ui.IActionBars Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2000, 2015 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.ui;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.ui.services.IServiceLocator;

/**
 * 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. *

* * @noimplement This interface is not intended to be implemented by clients. */ public interface IActionBars { /** * 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. *

*/ void clearGlobalActionHandlers(); /** * Returns the global action handler for the action with the given id. * * @param actionId an action id declared in the registry * @return an action handler which implements the action id, or * null if none is registered * @see IWorkbenchActionConstants * @see #setGlobalActionHandler(String, IAction) */ IAction getGlobalActionHandler(String actionId); /** * 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. *

* * @return the menu manager */ IMenuManager getMenuManager(); /** * Returns the service locator for these action bars. The locator is found by * looking locally, and then ascending the action bar hierarchy. * * @return The service locator; never null. * @since 3.2 */ IServiceLocator getServiceLocator(); /** * 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. *

* * @return the status line manager */ IStatusLineManager getStatusLineManager(); /** * 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. *

* * @return the tool bar manager */ IToolBarManager getToolBarManager(); /** * 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. *

* * @param actionId an action id declared in the registry * @param handler an action which implements the action id, or * null to clear any existing handler * @see IWorkbenchActionConstants */ void setGlobalActionHandler(String actionId, IAction handler); /** * Updates the action bars. *

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

* * @see #setGlobalActionHandler(String, IAction) * @see #clearGlobalActionHandlers() */ void updateActionBars(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy