diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java deleted file mode 100644 index 662746d536..0000000000 --- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java +++ /dev/null @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.sse.ui.internal; - -import org.eclipse.jface.text.ITextViewer; -import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.DropTargetAdapter; -import org.eclipse.swt.dnd.DropTargetEvent; -import org.eclipse.swt.dnd.FileTransfer; -import org.eclipse.swt.dnd.Transfer; -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.swt.graphics.Point; -import org.eclipse.ui.IEditorPart; -import org.eclipse.wst.sse.ui.internal.TransferBuilder.TransferProxyForDelayLoading; - -/** - * ExtendedEditorDropTargetAdapter - */ -public class ExtendedEditorDropTargetAdapter extends DropTargetAdapter { - private String[] editorIds; - private Point originalRange = null; - private IEditorPart targetEditor = null; - private ITextViewer textViewer = null; - - private Transfer[] transfers = null; - - private boolean useProxy; - - /** - * @deprecated use ExtendedEditorDropTargetAdapter(boolean useProxy) for - * the performance - */ - public ExtendedEditorDropTargetAdapter() { - this(false); - } - - public ExtendedEditorDropTargetAdapter(boolean useProxy) { - super(); - this.useProxy = useProxy; - } - - protected boolean doDrop(Transfer transfer, DropTargetEvent event) { - TransferBuilder tb = new TransferBuilder(useProxy); - - IDropAction[] as = null; - if (editorIds != null && editorIds.length > 0) - as = tb.getDropActions(editorIds, transfer); - else - as = tb.getDropActions(getTargetEditor().getClass().getName(), transfer); - - for (int i = 0; i < as.length; ++i) { - IDropAction da = as[i]; - Transfer actualTransfer; - if (transfer instanceof TransferProxyForDelayLoading) { - actualTransfer = ((TransferProxyForDelayLoading) transfer).getTransferClass(); - } - else { - actualTransfer = transfer; - } - if (actualTransfer instanceof FileTransfer) { - if (event.data == null) { - Logger.log(Logger.ERROR, "No data in DropTargetEvent from " + event.widget); //$NON-NLS-1$ - return false; - } - String[] strs = (String[]) event.data; - boolean[] bs = new boolean[strs.length]; - int c = 0; - for (int j = 0; j < strs.length; ++j) { - bs[j] = false; - if (da.isSupportedData(strs[j])) { - event.data = new String[]{strs[j]}; - if (!da.run(event, targetEditor)) { - bs[j] = true; - c++; - } - } - else { - bs[j] = true; - c++; - } - } - if (c == 0) { - return true; - } - - int k = 0; - String[] rests = new String[c]; - for (int j = 0; j < strs.length; ++j) { - if (bs[j]) - rests[k++] = strs[j]; - } - event.data = rests; - } - else if (da.isSupportedData(event.data)) { - if (da.run(event, targetEditor)) { - return true; - } - } - } - - return false; - } - - /** - */ - public void dragEnter(DropTargetEvent event) { - TransferData data = null; - Transfer[] ts = getTransfers(); - for (int i = 0; i < ts.length; i++) { - for (int j = 0; j < event.dataTypes.length; j++) { - if (ts[i].isSupportedType(event.dataTypes[j])) { - data = event.dataTypes[j]; - break; - } - } - if (data != null) { - event.currentDataType = data; - break; - } - } - - if (textViewer != null) { - originalRange = textViewer.getSelectedRange(); - } - } - - public void dragLeave(DropTargetEvent event) { - if (textViewer != null) { - textViewer.setSelectedRange(originalRange.x, originalRange.y); - } - else { - originalRange = null; - } - } - - /** - * Scroll the visible area as needed - */ - public void dragOver(DropTargetEvent event) { - event.operations &= ~DND.DROP_MOVE; - event.detail = DND.DROP_COPY; - event.feedback |= DND.FEEDBACK_SCROLL; - } - - /** - */ - public void drop(DropTargetEvent event) { - if (event.operations == DND.DROP_NONE) - return; - - Transfer[] ts = getTransfers(); - for (int i = 0; i < ts.length; i++) { - if (ts[i].isSupportedType(event.currentDataType)) { - if (doDrop(ts[i], event)) { - break; - } - } - } - } - - public IEditorPart getTargetEditor() { - return targetEditor; - } - - public ITextViewer getTextViewer() { - return textViewer; - } - - /** - * @return org.eclipse.swt.dnd.Transfer[] - */ - public Transfer[] getTransfers() { - if (transfers == null) { - TransferBuilder tb = new TransferBuilder(useProxy); - if (editorIds == null || editorIds.length == 0) - transfers = tb.getDropTargetTransfers(getTargetEditor().getClass().getName()); - else - transfers = tb.getDropTargetTransfers(editorIds); - } - return transfers; - } - - /** - */ - public void setTargetEditor(IEditorPart targetEditor) { - this.targetEditor = targetEditor; - } - - public void setTargetIDs(String[] ids) { - editorIds = ids; - } - - public void setTextViewer(ITextViewer textViewer) { - this.textViewer = textViewer; - } - -} |