blob: 7bd934c2546f87d4e9119744974c9f1c16303c48 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2006 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;
/**
* Extension interface to <code>IPerspectiveListener</code> which
* adds support for listening to perspective open and close events.
* <p>
* This interface may be implemented by clients.
* </p>
*
* @see IPageService#addPerspectiveListener(IPerspectiveListener)
* @see PerspectiveAdapter
* @since 1.0
*/
public interface IPerspectiveListener3 extends IPerspectiveListener2 {
/**
* Notifies this listener that a perspective in the given page has been
* opened.
*
* @param page
* the page containing the opened perspective
* @param perspective
* the perspective descriptor that was opened
* @see IWorkbenchPage#setPerspective(IPerspectiveDescriptor)
*/
public void perspectiveOpened(IWorkbenchPage page,
IPerspectiveDescriptor perspective);
/**
* Notifies this listener that a perspective in the given page has been
* closed.
*
* @param page
* the page containing the closed perspective
* @param perspective
* the perspective descriptor that was closed
* @see IWorkbenchPage#closePerspective(IPerspectiveDescriptor, boolean, boolean)
* @see IWorkbenchPage#closeAllPerspectives(boolean, boolean)
*/
public void perspectiveClosed(IWorkbenchPage page,
IPerspectiveDescriptor perspective);
/**
* Notifies this listener that a perspective in the given page has been
* deactivated.
*
* @param page
* the page containing the deactivated perspective
* @param perspective
* the perspective descriptor that was deactivated
* @see IWorkbenchPage#setPerspective(IPerspectiveDescriptor)
*/
public void perspectiveDeactivated(IWorkbenchPage page,
IPerspectiveDescriptor perspective);
/**
* Notifies this listener that a perspective in the given page has been
* saved as a new perspective with a different perspective descriptor.
*
* @param page
* the page containing the saved perspective
* @param oldPerspective
* the old perspective descriptor
* @param newPerspective
* the new perspective descriptor
* @see IWorkbenchPage#savePerspectiveAs(IPerspectiveDescriptor)
*/
public void perspectiveSavedAs(IWorkbenchPage page,
IPerspectiveDescriptor oldPerspective,
IPerspectiveDescriptor newPerspective);
}