blob: 4ede5d21d7c9d0349d43e118ec00c72ca54ea92d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.commands;
import java.util.Collection;
/**
* An instance of this interface provides support for managing commands at the
* <code>IWorkbench</code> level.
* <p>
* This interface is not intended to be extended or implemented by clients.
* </p>
*
* @since 3.0
* @deprecated Please use <code>ICommandService</code> and
* <code>IHandlerService</code> instead.
* @see org.eclipse.ui.commands.ICommandService
* @see org.eclipse.ui.handlers.IHandlerService
*/
public interface IWorkbenchCommandSupport {
/**
* Adds a single handler submissions for consideration by the workbench. The
* submission indicates to the workbench a set of conditions under which the
* handler should become active. The workbench, however, ultimately decides
* which handler becomes active (in the event of conflicts or changes in
* state). This could cause the handlers for one or more commands to change.
*
* @param handlerSubmission
* The submission to be added; must not be <code>null</code>.
*/
void addHandlerSubmission(HandlerSubmission handlerSubmission);
/**
* Adds a collection of handler submissions for consideration by the
* workbench. The submission indicates to the workbench a set of conditions
* under which the handler should become active. The workbench, however,
* ultimately decides which handler becomes active (in the event of
* conflicts or changes in state). This could cause the handlers for one or
* more commands to change.
*
* @param handlerSubmissions
* The submissions to be added; must not be <code>null</code>,
* and must contain zero or more instances of
* <code>HandlerSubmission</code>.
*/
void addHandlerSubmissions(Collection handlerSubmissions);
/**
* Returns the command manager for the workbench.
*
* @return the command manager for the workbench. Guaranteed not to be
* <code>null</code>.
*/
ICommandManager getCommandManager();
/**
* Removes a single handler submission from consideration by the workbench.
* The handler submission must be the same as the one added (not just
* equivalent). This could cause the handlers for one or more commands to
* change.
*
* @param handlerSubmission
* The submission to be removed; must not be <code>null</code>.
*/
void removeHandlerSubmission(HandlerSubmission handlerSubmission);
/**
* Removes a single handler submission from consideration by the workbench.
* The handler submission must be the same as the one added (not just
* equivalent). This could cause the handlers for one or more commands to
* change.
*
* @param handlerSubmissions
* The submissions to be removed; must not be <code>null</code>,
* and must contain instances of <code>HandlerSubmission</code>
* only.
*/
void removeHandlerSubmissions(Collection handlerSubmissions);
}