Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/filesview/FilesView.java

Issue 9663030: Files View drag-and-drop v1. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ }
+
}

Powered by Google App Engine
This is Rietveld 408576698