Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/filesview/FilesView.java |
=================================================================== |
--- editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/filesview/FilesView.java (revision 5183) |
+++ editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/filesview/FilesView.java (working copy) |
@@ -45,6 +45,9 @@ |
import org.eclipse.jface.viewers.ISelection; |
import org.eclipse.jface.viewers.IStructuredSelection; |
import org.eclipse.jface.viewers.TreeViewer; |
+import org.eclipse.swt.dnd.DND; |
+import org.eclipse.swt.dnd.FileTransfer; |
+import org.eclipse.swt.dnd.Transfer; |
import org.eclipse.swt.graphics.Font; |
import org.eclipse.swt.widgets.Composite; |
import org.eclipse.swt.widgets.Menu; |
@@ -59,7 +62,10 @@ |
import org.eclipse.ui.ide.IDE; |
import org.eclipse.ui.model.WorkbenchLabelProvider; |
import org.eclipse.ui.part.ISetSelectionTarget; |
+import org.eclipse.ui.part.PluginTransfer; |
+import org.eclipse.ui.part.ResourceTransfer; |
import org.eclipse.ui.part.ViewPart; |
+import org.eclipse.ui.views.navigator.LocalSelectionTransfer; |
import java.util.Iterator; |
@@ -152,6 +158,8 @@ |
}); |
treeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); |
+ initDragAndDrop(); |
+ |
getSite().setSelectionProvider(treeViewer); |
fillInToolbar(getViewSite().getActionBars().getToolBarManager()); |
@@ -335,4 +343,15 @@ |
return getSite().getShell(); |
} |
+ private void initDragAndDrop() { |
+ int ops = DND.DROP_COPY | DND.DROP_MOVE;// | DND.DROP_LINK; |
+ Transfer[] transfers = new Transfer[] { |
+ LocalSelectionTransfer.getInstance(), ResourceTransfer.getInstance(), |
+ FileTransfer.getInstance(), PluginTransfer.getInstance()}; |
+ treeViewer.addDragSupport(ops, transfers, new FilesViewDragAdapter(treeViewer)); |
+ FilesViewDropAdapter adapter = new FilesViewDropAdapter(treeViewer); |
+ adapter.setFeedbackEnabled(true); |
+ treeViewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, adapter); |
+ } |
+ |
} |