Package org.eclipse.ui

## Interface IPerspectiveListener3

All Superinterfaces:
  `IPerspectiveListener`, `IPerspectiveListener2`

All Known Subinterfaces:
  `IPerspectiveListener4`

All Known Implementing Classes:
  `PerspectiveAdapter`

    public interface IPerspectiveListener3
    extends IPerspectiveListener2

Extension interface to `IPerspectiveListener` which adds support for listening to perspective open and close events.

This interface may be implemented by clients.

Since:
  3.1
See Also:
  `IPageService.addPerspectiveListener(IPerspectiveListener)`, `PerspectiveAdapter`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `perspectiveClosed​(IWorkbenchPage page, IPerspectiveDescriptor perspective)` Notifies this listener that a perspective in the given page has been closed.
`void` `perspectiveDeactivated​(IWorkbenchPage page, IPerspectiveDescriptor perspective)` Notifies this listener that a perspective in the given page has been deactivated.
`void` `perspectiveOpened​(IWorkbenchPage page, IPerspectiveDescriptor perspective)` Notifies this listener that a perspective in the given page has been opened.
`void` `perspectiveSavedAs​(IWorkbenchPage page, IPerspectiveDescriptor oldPerspective, IPerspectiveDescriptor newPerspective)` Notifies this listener that a perspective in the given page has been saved as a new perspective with a different perspective descriptor.

### Methods inherited from interface org.eclipse.ui.IPerspectiveListener

`perspectiveActivated, perspectiveChanged`

### Methods inherited from interface org.eclipse.ui.IPerspectiveListener2

`perspectiveChanged`

### Method Detail

#### perspectiveOpened

    void perspectiveOpened​(IWorkbenchPage page,
                           IPerspectiveDescriptor perspective)

Notifies this listener that a perspective in the given page has been opened.

Parameters:
  `page` - the page containing the opened perspective
  `perspective` - the perspective descriptor that was opened
See Also:
  `IWorkbenchPage.setPerspective(IPerspectiveDescriptor)`

#### perspectiveClosed

    void perspectiveClosed​(IWorkbenchPage page,
                           IPerspectiveDescriptor perspective)

Notifies this listener that a perspective in the given page has been closed.

Parameters:
  `page` - the page containing the closed perspective
  `perspective` - the perspective descriptor that was closed
See Also:
  `IWorkbenchPage.closePerspective(IPerspectiveDescriptor, boolean, boolean)`, `IWorkbenchPage.closeAllPerspectives(boolean, boolean)`

#### perspectiveDeactivated

    void perspectiveDeactivated​(IWorkbenchPage page,
                                IPerspectiveDescriptor perspective)

Notifies this listener that a perspective in the given page has been deactivated.

Parameters:
  `page` - the page containing the deactivated perspective
  `perspective` - the perspective descriptor that was deactivated
See Also:
  `IWorkbenchPage.setPerspective(IPerspectiveDescriptor)`

#### perspectiveSavedAs

    void perspectiveSavedAs​(IWorkbenchPage page,
                            IPerspectiveDescriptor oldPerspective,
                            IPerspectiveDescriptor newPerspective)

Notifies this listener that a perspective in the given page has been saved as a new perspective with a different perspective descriptor.

Parameters:
  `page` - the page containing the saved perspective
  `oldPerspective` - the old perspective descriptor
  `newPerspective` - the new perspective descriptor
See Also:
  `IWorkbenchPage.savePerspectiveAs(IPerspectiveDescriptor)`