Package org.eclipse.ui.part

# Class MultiPageSelectionProvider

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

All Implemented Interfaces:
  `IPostSelectionProvider`, `ISelectionProvider`

public class MultiPageSelectionProvider extends Object implements IPostSelectionProvider
Manages the current selection in a multi-page editor by tracking the active nested editor within the multi-page editor. When the selection changes, notifications are sent to all registered listeners.

This class may be instantiated; it is not intended to be subclassed. The base implementation of `MultiPageEditor.init` creates an instance of this class.

Restriction:
  This class is not intended to be subclassed by clients.

## Constructor Summary

Constructors
Constructor
Description
`MultiPageSelectionProvider(MultiPageEditorPart multiPageEditor)`
Creates a selection provider for the given multi-page editor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addPostSelectionChangedListener(ISelectionChangedListener listener)`
Adds a listener for post selection changes in this multi page selection provider.
`void`
`addSelectionChangedListener(ISelectionChangedListener listener)`
Adds a listener for selection changes in this selection provider.
`void`
`firePostSelectionChanged(SelectionChangedEvent event)`
Notifies all post selection changed listeners that the editor's selection has changed.
`void`
`fireSelectionChanged(SelectionChangedEvent event)`
Notifies all registered selection changed listeners that the editor's selection has changed.
`MultiPageEditorPart`
`getMultiPageEditor()`
Returns the multi-page editor.
`ISelection`
`getSelection()`
Returns the current selection for this provider.
`void`
`removePostSelectionChangedListener(ISelectionChangedListener listener)`
Removes a listener for post selection changes in this multi page selection provider.
`void`
`removeSelectionChangedListener(ISelectionChangedListener listener)`
Removes the given selection change listener from this selection provider.
`void`
`setSelection(ISelection selection)`
Sets the current selection for this selection provider.

### Methods inherited from class java.lang.Object

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

## Constructor Details

### MultiPageSelectionProvider

public MultiPageSelectionProvider(MultiPageEditorPart multiPageEditor)
Creates a selection provider for the given multi-page editor.

Parameters:
  `multiPageEditor` - the multi-page editor

## Method Details

### addSelectionChangedListener

public void addSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: `ISelectionProvider`
Adds a listener for selection changes in this selection provider. Has no effect if an identical listener is already registered.

Specified by:
  `addSelectionChangedListener` in interface `ISelectionProvider`
Parameters:
  `listener` - a selection changed listener

### addPostSelectionChangedListener

public void addPostSelectionChangedListener(ISelectionChangedListener listener)
Adds a listener for post selection changes in this multi page selection provider.

Specified by:
  `addPostSelectionChangedListener` in interface `IPostSelectionProvider`
Parameters:
  `listener` - a selection changed listener
Since:
  3.2

### fireSelectionChanged

public void fireSelectionChanged(SelectionChangedEvent event)
Notifies all registered selection changed listeners that the editor's selection has changed. Only listeners registered at the time this method is called are notified.

Parameters:
  `event` - the selection changed event

### firePostSelectionChanged

public void firePostSelectionChanged(SelectionChangedEvent event)
Notifies all post selection changed listeners that the editor's selection has changed.

Parameters:
  `event` - the event to propogate.
Since:
  3.2

### getMultiPageEditor

public MultiPageEditorPart getMultiPageEditor()
Returns the multi-page editor.

Returns:
  the multi-page editor.

### getSelection

public ISelection getSelection()
Description copied from interface: `ISelectionProvider`
Returns the current selection for this provider.

Specified by:
  `getSelection` in interface `ISelectionProvider`
Returns:
  the current selection

### removeSelectionChangedListener

public void removeSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: `ISelectionProvider`
Removes the given selection change listener from this selection provider. Has no effect if an identical listener is not registered.

Specified by:
  `removeSelectionChangedListener` in interface `ISelectionProvider`
Parameters:
  `listener` - a selection changed listener

### removePostSelectionChangedListener

public void removePostSelectionChangedListener(ISelectionChangedListener listener)
Removes a listener for post selection changes in this multi page selection provider.

Specified by:
  `removePostSelectionChangedListener` in interface `IPostSelectionProvider`
Parameters:
  `listener` - a selection changed listener
Since:
  3.2

### setSelection

public void setSelection(ISelection selection)
Description copied from interface: `ISelectionProvider`
Sets the current selection for this selection provider.

Specified by:
  `setSelection` in interface `ISelectionProvider`
Parameters:
  `selection` - the new selection