org.eclipse.gef.ui.parts
Class SelectionSynchronizer

java.lang.Object
  extended byorg.eclipse.gef.ui.parts.SelectionSynchronizer
All Implemented Interfaces:
org.eclipse.jface.viewers.ISelectionChangedListener

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

A utility for synchronizing the selection of multiple EditPartViewers. 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.


Constructor Summary
SelectionSynchronizer()
           
 
Method Summary
 void addViewer(EditPartViewer viewer)
          Adds a viewer to the set of synchronized viewers
protected  EditPart convert(EditPartViewer viewer, EditPart part)
          Maps the given editpart from one viewer to an editpart in another viewer.
 void removeViewer(EditPartViewer viewer)
          Removes the viewer from the set of synchronzied viewers
 void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
          Receives notification from one viewer, and maps selection to all other members.
 
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(EditPartViewer viewer)
Adds a viewer to the set of synchronized viewers

Parameters:
viewer - the viewer

convert

protected EditPart convert(EditPartViewer viewer,
                           EditPart part)
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
part - a part from another viewer
Returns:
null or a corresponding editpart

removeViewer

public void removeViewer(EditPartViewer viewer)
Removes the viewer from the set of synchronzied 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