From 0bb3fc01d8570e9af92a7ab6e04427d904053b0d Mon Sep 17 00:00:00 2001 From: David McKnight Date: Mon, 12 Mar 2007 16:53:40 +0000 Subject: [PATCH] [153652] allowing for drag and drop from windows explorer --- .../internal/ui/view/SystemTableTreeView.java | 14 ++++---- .../rse/internal/ui/view/SystemView.java | 36 +++++++++++-------- .../eclipse/rse/ui/view/SystemTableView.java | 13 ++++--- 3 files changed, 35 insertions(+), 28 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java index 9a2f9c6a7f5..f1aebd9658d 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java @@ -87,6 +87,7 @@ import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.BusyIndicator; import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.KeyAdapter; @@ -763,17 +764,16 @@ implements IMenuListener, ISystemDeleteTarget, ISystemRenameTarget, ISystemSelec _lastWidths = widths; } + protected void initDragAndDrop() { int ops = DND.DROP_COPY | DND.DROP_MOVE; - Transfer[] transfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance() - /*, FileTransfer.getInstance()*/ - }; - - addDragSupport(ops, transfers, new SystemViewDataDragAdapter(this)); - addDropSupport(ops | DND.DROP_DEFAULT, transfers, new SystemViewDataDropAdapter(this)); + Transfer[] dragtransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance()}; + Transfer[] droptransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), FileTransfer.getInstance(), EditorInputTransfer.getInstance()}; + + addDragSupport(ops, dragtransfers, new SystemViewDataDragAdapter((ISelectionProvider) this)); + addDropSupport(ops | DND.DROP_DEFAULT, droptransfers, new SystemViewDataDropAdapter(this)); } - /** * Used to asynchronously update the view whenever properties change. */ diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java index 4d4df65aa9b..46a3963bdca 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java @@ -125,6 +125,7 @@ import org.eclipse.rse.ui.view.ISystemViewInputProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.BusyIndicator; import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.KeyAdapter; @@ -5016,21 +5017,28 @@ ISelectionChangedListener, ITreeViewerListener, ISystemResourceChangeEvents, ISy return expandable; } - /** - * Initialize drag and drop support for this view. - * - */ - protected void initDragAndDrop() { - int ops = DND.DROP_COPY | DND.DROP_MOVE; - Transfer[] transfers = new Transfer[] { PluginTransfer.getInstance(), - /*ResourceTransfer.getInstance(), - FileTransfer.getInstance(), - */ - EditorInputTransfer.getInstance() }; - addDragSupport(ops | DND.DROP_DEFAULT, transfers, new SystemViewDataDragAdapter(this)); - addDropSupport(ops | DND.DROP_DEFAULT, transfers, new SystemViewDataDropAdapter(this)); - } + /** + * Initialize drag and drop support for this view. + * + */ + protected void initDragAndDrop() + { + int ops = DND.DROP_COPY | DND.DROP_MOVE; + Transfer[] dragtransfers = new Transfer[] + { PluginTransfer.getInstance(), + EditorInputTransfer.getInstance() + }; + + Transfer[] droptransfers = new Transfer[] + { PluginTransfer.getInstance(), + FileTransfer.getInstance(), + EditorInputTransfer.getInstance() + }; + + addDragSupport(ops | DND.DROP_DEFAULT, dragtransfers, new SystemViewDataDragAdapter(this)); + addDropSupport(ops | DND.DROP_DEFAULT, droptransfers, new SystemViewDataDropAdapter(this)); + } // ---------------------------------- // Support for EXPAND TO-> ACTIONS... // ---------------------------------- diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java index ffb081b499e..99c8e4dd7a5 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java @@ -90,6 +90,7 @@ import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.KeyAdapter; @@ -809,14 +810,12 @@ public class SystemTableView protected void initDragAndDrop() { int ops = DND.DROP_COPY | DND.DROP_MOVE; - Transfer[] transfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance() - /*, FileTransfer.getInstance()*/ - }; - - addDragSupport(ops, transfers, new SystemViewDataDragAdapter(this)); - addDropSupport(ops | DND.DROP_DEFAULT, transfers, new SystemViewDataDropAdapter(this)); + Transfer[] dragtransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance()}; + Transfer[] droptransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), FileTransfer.getInstance(), EditorInputTransfer.getInstance()}; + + addDragSupport(ops, dragtransfers, new SystemViewDataDragAdapter((ISelectionProvider) this)); + addDropSupport(ops | DND.DROP_DEFAULT, droptransfers, new SystemViewDataDropAdapter(this)); } - /** * Used to asynchronously update the view whenever properties change. * @see org.eclipse.rse.model.ISystemResourceChangeListener#systemResourceChanged(org.eclipse.rse.model.ISystemResourceChangeEvent)