private void installTitleDrag(Form form) { if (titleDragSourceListener == null /*&& !hasLeftToolBar()*/) { Transfer[] transferTypes; if (null == task) { transferTypes = new Transfer[] {TextTransfer.getInstance()}; } else { transferTypes = new Transfer[] { LocalSelectionTransfer.getTransfer(), TextTransfer.getInstance(), FileTransfer.getInstance() }; } titleDragSourceListener = new TaskDragSourceListener( new SelectionProviderAdapter() { @Override public ISelection getSelection() { return new StructuredSelection(task); } }); if (titleLabel != null) { DragSource source = new DragSource(titleLabel, DND.DROP_MOVE | DND.DROP_LINK); source.setTransfer(transferTypes); source.addDragListener(titleDragSourceListener); } else { form.addTitleDragSupport( DND.DROP_MOVE | DND.DROP_LINK, transferTypes, titleDragSourceListener); } } }