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

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

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

/**
 * The workbench's global registry of perspectives.
 * 

* This registry contains a descriptor for each perspectives in the workbench. * It is initially populated with stock perspectives from the workbench's * perspective extension point ("org.eclipse.ui.perspectives") and * with custom perspectives defined by the user. *

*

* This interface is not intended to be implemented by clients. *

* * @see IWorkbench#getPerspectiveRegistry * @noimplement This interface is not intended to be implemented by clients. */ public interface IPerspectiveRegistry { /** * Clones an existing perspective. * * @param id the id for the cloned perspective, which must not already be * used by any registered perspective * @param label the label assigned to the cloned perspective * @param desc the perspective to clone * @return the cloned perspective descriptor * @throws IllegalArgumentException if there is already a perspective with the * given id * * @since 3.0 */ IPerspectiveDescriptor clonePerspective(String id, String label, IPerspectiveDescriptor desc) throws IllegalArgumentException; /** * Deletes a perspective. Has no effect if the perspective is defined in an * extension. * * @param persp the perspective to delete * @since 3.2 */ void deletePerspective(IPerspectiveDescriptor persp); /** * Finds and returns the registered perspective with the given perspective id. * * @param perspectiveId the perspective id * @return the perspective, or null if none * @see IPerspectiveDescriptor#getId */ IPerspectiveDescriptor findPerspectiveWithId(String perspectiveId); /** * Finds and returns the registered perspective with the given label. * * @param label the label * @return the perspective, or null if none * @see IPerspectiveDescriptor#getLabel */ IPerspectiveDescriptor findPerspectiveWithLabel(String label); /** * Returns the id of the default perspective for the workbench. This identifies * one perspective extension within the workbench's perspective registry. *

* Returns null if there is no default perspective. *

* * @return the default perspective id, or null */ String getDefaultPerspective(); /** * Returns a list of the perspectives known to the workbench. * * @return a list of perspectives */ IPerspectiveDescriptor[] getPerspectives(); /** * Sets the default perspective for the workbench to the given perspective id. * If non-null, the id must correspond to a perspective extension * within the workbench's perspective registry. *

* A null id indicates no default perspective. *

* * @param id a perspective id, or null */ void setDefaultPerspective(String id); /** * Reverts a perspective back to its original definition as specified in the * plug-in manifest. * * @param perspToRevert the perspective to revert * * @since 3.0 */ void revertPerspective(IPerspectiveDescriptor perspToRevert); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy