Bug 129061 [Common Navigator] Request to support programmatic binding of drag adapter
We have a problem in the Team use of the Common Navigator is that each repository provider may define one or more viewers. It is not practical for each of the viewer definitions to define the complete set of drag assistants, especially considering that each model may have their own elements that can be dragged. It would simplify things if we could just programmatically bind drag assistants to a viewer. Then we could bind he resource drag assistant to all Team viewers for free. Currently, each provider with a viewer must add a dependency to the org.eclipse.ui.navigator.resources plugin and then add the dragAssistant binding to each viewer.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/INavigatorDnDService.java
* </p> 
 * 
 * @see CommonDragAdapter
 * @see CommonDragAdapterAssistant
 * @see CommonDropAdapter
 * @see CommonDropAdapterAssistant
 * @see CommonViewer
 * @see INavigatorContentService#getDnDService()
 * @see <a
 *      href="http://www.eclipse.org/articles/Article-SWT-DND/DND-in-SWT.html">Drag
 *      and Drop: Adding Drag and Drop to an SWT Application</a>
 * @see <a
 *      href="http://www.eclipse.org/articles/Article-Workbench-DND/drag_drop.html">Drag
 *      and Drop in the Eclipse UI (Custom Transfer Types)</a>
 * 
 * @since 3.2
 * 
 * 
 */
public interface INavigatorDnDService {
	/**
	 * 
	 * As part of the <b>org.eclipse.ui.navigator.viewer</b> extension point,
	 * clients may explicit extend the support Transfer Types of a particular
	 * viewer using the <b>dragAssistant</b> element. This element defines a
	 * class which extends {@link CommonDragAdapterAssistant} and can direct the
	 * viewer on how to provide different kinds of DND Transfer Types. The array
	 * is returned in no particular order. 
	 * 
	 * @return An array of {@link CommonDragAdapterAssistant} or an empty array.