int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT;
Transfer[] transfers = new Transfer[] { LocalSelectionTransfer.getTransfer(),TextTransfer.getInstance(),ResourceTransfer.getInstance(),FileTransfer.getInstance() };
//installTextDragAndDrop(getSourceViewer());
CFEDragDropListener ddListener = new CFEDragDropListener(this,
(ProjectionViewer) this.getSourceViewer(), SelectionCursorListener);
IDragAndDropService dtSvc = (IDragAndDropService) getSite().getService(IDragAndDropService.class);
dtSvc.addMergedDropTarget(tw, operations, transfers, ddListener);
final DragSource source= new DragSource(tw, DND.DROP_COPY | DND.DROP_MOVE);
source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
source.addDragListener(ddListener);
}