public static DragSourceDescriptor addDragSupport(Control control, ISelectionProvider provider) {
int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_DEFAULT;
Set<Transfer> transfers = getTransfers();
transfers.remove(FileTransfer.getInstance());
DragSource dragSource=new DragSource(control, dndOperations);
DragController dragController = new DragController(dragSource, transfers);
provider.addSelectionChangedListener(dragController);
dragController.setTransfers((IStructuredSelection) provider.getSelection());
UDIGControlDragListener controlDragListener = new UDIGControlDragListener(provider);
dragSource.addDragListener(controlDragListener);
return new DragSourceDescriptor(dragSource, controlDragListener);
}