1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-09 10:05:24 +02:00

[153652] allowing for drag and drop from windows explorer

This commit is contained in:
David McKnight 2007-03-12 16:53:40 +00:00
parent 100ee92f16
commit 0bb3fc01d8
3 changed files with 35 additions and 28 deletions

View file

@ -87,6 +87,7 @@ import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator; import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.FileTransfer;
import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyAdapter;
@ -763,17 +764,16 @@ implements IMenuListener, ISystemDeleteTarget, ISystemRenameTarget, ISystemSelec
_lastWidths = widths; _lastWidths = widths;
} }
protected void initDragAndDrop() protected void initDragAndDrop()
{ {
int ops = DND.DROP_COPY | DND.DROP_MOVE; int ops = DND.DROP_COPY | DND.DROP_MOVE;
Transfer[] transfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance() Transfer[] dragtransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance()};
/*, FileTransfer.getInstance()*/ Transfer[] droptransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), FileTransfer.getInstance(), EditorInputTransfer.getInstance()};
};
addDragSupport(ops, dragtransfers, new SystemViewDataDragAdapter((ISelectionProvider) this));
addDragSupport(ops, transfers, new SystemViewDataDragAdapter(this)); addDropSupport(ops | DND.DROP_DEFAULT, droptransfers, new SystemViewDataDropAdapter(this));
addDropSupport(ops | DND.DROP_DEFAULT, transfers, new SystemViewDataDropAdapter(this));
} }
/** /**
* Used to asynchronously update the view whenever properties change. * Used to asynchronously update the view whenever properties change.
*/ */

View file

@ -125,6 +125,7 @@ import org.eclipse.rse.ui.view.ISystemViewInputProvider;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator; import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.FileTransfer;
import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyAdapter;
@ -5016,21 +5017,28 @@ ISelectionChangedListener, ITreeViewerListener, ISystemResourceChangeEvents, ISy
return expandable; 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... // Support for EXPAND TO-> ACTIONS...
// ---------------------------------- // ----------------------------------

View file

@ -90,6 +90,7 @@ import org.eclipse.rse.ui.messages.ISystemMessageLine;
import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.rse.ui.messages.SystemMessageDialog;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.FileTransfer;
import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyAdapter;
@ -809,14 +810,12 @@ public class SystemTableView
protected void initDragAndDrop() protected void initDragAndDrop()
{ {
int ops = DND.DROP_COPY | DND.DROP_MOVE; int ops = DND.DROP_COPY | DND.DROP_MOVE;
Transfer[] transfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance() Transfer[] dragtransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), EditorInputTransfer.getInstance()};
/*, FileTransfer.getInstance()*/ Transfer[] droptransfers = new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance(), FileTransfer.getInstance(), EditorInputTransfer.getInstance()};
};
addDragSupport(ops, dragtransfers, new SystemViewDataDragAdapter((ISelectionProvider) this));
addDragSupport(ops, transfers, new SystemViewDataDragAdapter(this)); addDropSupport(ops | DND.DROP_DEFAULT, droptransfers, new SystemViewDataDropAdapter(this));
addDropSupport(ops | DND.DROP_DEFAULT, transfers, new SystemViewDataDropAdapter(this));
} }
/** /**
* Used to asynchronously update the view whenever properties change. * Used to asynchronously update the view whenever properties change.
* @see org.eclipse.rse.model.ISystemResourceChangeListener#systemResourceChanged(org.eclipse.rse.model.ISystemResourceChangeEvent) * @see org.eclipse.rse.model.ISystemResourceChangeListener#systemResourceChanged(org.eclipse.rse.model.ISystemResourceChangeEvent)