org.eclipse.amp.axf.view
Class SelectionSynchronizer

java.lang.Object
  extended by org.eclipse.amp.axf.view.SelectionSynchronizer
All Implemented Interfaces:
org.eclipse.jface.viewers.ISelectionChangedListener
Direct Known Subclasses:
EditPartSelectionSynchronizer

public class SelectionSynchronizer
extends java.lang.Object
implements org.eclipse.jface.viewers.ISelectionChangedListener

A utility for synchronizing the selection of multiple EditPartViewers. Copied from org.eclipse.gef.ui.parts.SelectionSynchronizer and modified to allow conversion from SelectionProvider. This class performs selection synchronization by taking the selection from one viewer, and mapping it to the selection in another viewer. The mapping is performed by matching the models of the selected EditParts from one viewer to the EditParts with the same models in another. The can be customized by overriding the #convert(EditPartViewer, EditPart) method.

Author:
hudsonr

Constructor Summary
SelectionSynchronizer()
           
 
Method Summary
 void addViewer(org.eclipse.jface.viewers.ISelectionProvider viewer)
          Adds a viewer to the set of synchronized viewers.
protected  java.lang.Object convert(org.eclipse.jface.viewers.ISelectionProvider viewer, java.lang.Object object)
          Maps the given editpart from one viewer to an editpart in another viewer.
 void removeViewer(org.eclipse.jface.viewers.ISelectionProvider viewer)
          Removes the viewer from the set of synchronized viewers.
 void replace(SelectionSynchronizer old)
          Replace.
 void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
          Receives notification from one viewer, and maps selection to all other members.
 void setEnabled(boolean value)
          Enables or disabled synchronization between viewers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectionSynchronizer

public SelectionSynchronizer()
Method Detail

addViewer

public void addViewer(org.eclipse.jface.viewers.ISelectionProvider viewer)
Adds a viewer to the set of synchronized viewers.

Parameters:
viewer - the viewer

convert

protected java.lang.Object convert(org.eclipse.jface.viewers.ISelectionProvider viewer,
                                   java.lang.Object object)
Maps the given editpart from one viewer to an editpart in another viewer. It returns null if there is no corresponding part. This method can be overridden to provide custom mapping.

Parameters:
viewer - the viewer being mapped to
object - the object
Returns:
null or a corresponding editpart

removeViewer

public void removeViewer(org.eclipse.jface.viewers.ISelectionProvider viewer)
Removes the viewer from the set of synchronized viewers.

Parameters:
viewer - the viewer to remove

selectionChanged

public void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
Receives notification from one viewer, and maps selection to all other members.

Specified by:
selectionChanged in interface org.eclipse.jface.viewers.ISelectionChangedListener
Parameters:
event - the selection event

setEnabled

public void setEnabled(boolean value)
Enables or disabled synchronization between viewers.

Parameters:
value - true if synchronization should occur
Since:
3.1

replace

public void replace(SelectionSynchronizer old)
Replace.

Parameters:
old - the old