roneditor
Class SelectionProviderIntermediate

java.lang.Object
  extended by roneditor.SelectionProviderIntermediate
All Implemented Interfaces:
org.eclipse.jface.viewers.IPostSelectionProvider, org.eclipse.jface.viewers.ISelectionProvider

public class SelectionProviderIntermediate
extends java.lang.Object
implements org.eclipse.jface.viewers.IPostSelectionProvider

IPostSelectionProvider implementation that delegates to another ISelectionProvider or IPostSelectionProvider. The selection provider used for delegation can be exchanged dynamically. Registered listeners are adjusted accordingly. This utility class may be used in workbench parts with multiple viewers.

Author:
Marc R. Hoffmann

Field Summary
private  org.eclipse.jface.viewers.ISelectionProvider delegate
           
private  org.eclipse.jface.viewers.ISelectionChangedListener postSelectionListener
           
private  org.eclipse.core.runtime.ListenerList postSelectionListeners
           
private  org.eclipse.jface.viewers.ISelectionChangedListener selectionListener
           
private  org.eclipse.core.runtime.ListenerList selectionListeners
           
 
Constructor Summary
SelectionProviderIntermediate()
           
 
Method Summary
 void addPostSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
           
 void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
           
protected  void firePostSelectionChanged(org.eclipse.jface.viewers.ISelection selection)
           
protected  void fireSelectionChanged(org.eclipse.jface.viewers.ISelection selection)
           
private  void fireSelectionChanged(org.eclipse.core.runtime.ListenerList list, org.eclipse.jface.viewers.ISelection selection)
           
 org.eclipse.jface.viewers.ISelection getSelection()
           
 void removePostSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
           
 void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
           
 void setSelection(org.eclipse.jface.viewers.ISelection selection)
           
 void setSelectionProviderDelegate(org.eclipse.jface.viewers.ISelectionProvider newDelegate)
          Sets a new selection provider to delegate to.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

selectionListeners

private final org.eclipse.core.runtime.ListenerList selectionListeners

postSelectionListeners

private final org.eclipse.core.runtime.ListenerList postSelectionListeners

delegate

private org.eclipse.jface.viewers.ISelectionProvider delegate

selectionListener

private org.eclipse.jface.viewers.ISelectionChangedListener selectionListener

postSelectionListener

private org.eclipse.jface.viewers.ISelectionChangedListener postSelectionListener
Constructor Detail

SelectionProviderIntermediate

public SelectionProviderIntermediate()
Method Detail

setSelectionProviderDelegate

public void setSelectionProviderDelegate(org.eclipse.jface.viewers.ISelectionProvider newDelegate)
Sets a new selection provider to delegate to. Selection listeners registered with the previous delegate are removed before.

Parameters:
newDelegate - new selection provider

fireSelectionChanged

protected void fireSelectionChanged(org.eclipse.jface.viewers.ISelection selection)

firePostSelectionChanged

protected void firePostSelectionChanged(org.eclipse.jface.viewers.ISelection selection)

fireSelectionChanged

private void fireSelectionChanged(org.eclipse.core.runtime.ListenerList list,
                                  org.eclipse.jface.viewers.ISelection selection)

addSelectionChangedListener

public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
Specified by:
addSelectionChangedListener in interface org.eclipse.jface.viewers.ISelectionProvider

removeSelectionChangedListener

public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
Specified by:
removeSelectionChangedListener in interface org.eclipse.jface.viewers.ISelectionProvider

addPostSelectionChangedListener

public void addPostSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
Specified by:
addPostSelectionChangedListener in interface org.eclipse.jface.viewers.IPostSelectionProvider

removePostSelectionChangedListener

public void removePostSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
Specified by:
removePostSelectionChangedListener in interface org.eclipse.jface.viewers.IPostSelectionProvider

getSelection

public org.eclipse.jface.viewers.ISelection getSelection()
Specified by:
getSelection in interface org.eclipse.jface.viewers.ISelectionProvider

setSelection

public void setSelection(org.eclipse.jface.viewers.ISelection selection)
Specified by:
setSelection in interface org.eclipse.jface.viewers.ISelectionProvider