# Class PageSwitcher

java.lang.Object
org.eclipse.ui.part.PageSwitcher

public abstract class PageSwitcher extends Object
Provides the implementation for switching pages in a view. A view may track pages however it wishes. The view should subclass PageSwitcher to provide the abstract methods, and then instantiate their page switcher once.

Since:
  3.4

## Constructor Summary

Constructors
Constructor
Description
`PageSwitcher(IWorkbenchPart part)`
Register the handlers for page switching with this view or editor.

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`activatePage(Object page)`
Displays the given page in the view.
`int`
`getCurrentPageIndex()`
Returns the index of the currently active page.
`abstract ImageDescriptor`
`getImageDescriptor(Object page)`
Returns an `ImageDescriptor` for the page.
`abstract String`
`getName(Object page)`
Returns a readable name to identify the page.
`abstract Object[]`
`getPages()`
Returns the pages available in the view.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PageSwitcher

public PageSwitcher(IWorkbenchPart part)
Register the handlers for page switching with this view or editor.

Parameters:
  `part` - The part to register against.

## Method Details

### activatePage

public abstract void activatePage(Object page)
Displays the given page in the view. The page must already exist in the view.

Parameters:
  `page` - the page to display, never `null`.

### getImageDescriptor

public abstract ImageDescriptor getImageDescriptor(Object page)
Returns an `ImageDescriptor` for the page.

Parameters:
  `page` - the page to retrieve an `ImageDescriptor`
Returns:
  An `ImageDescriptor` for the page, may be `null`.

### getName

public abstract String getName(Object page)
Returns a readable name to identify the page.

Parameters:
  `page` - the page to get the name
Returns:
  the name of the page

### getPages

public abstract Object[] getPages()
Returns the pages available in the view. These may be used for populating the pop-up dialog when switching pages. These are the objects that will be used in `activatePage(Object)`.

Returns:
  an array of pages

### getCurrentPageIndex

public int getCurrentPageIndex()
Returns the index of the currently active page. The default implementation returns 0. Subclasses can override.

Returns:
  the 0-based index of the currently active page from `getPages()`, or an arbitrary value if `getPages()` is an empty array.