View | Details | Raw Unified | Return to bug 192704
Collapse All | Expand All

(-)UI/org/eclipse/rse/internal/ui/view/SystemViewDataDropAdapter.java (-5 / +47 lines)
Lines 18-23 Link Here
18
package org.eclipse.rse.internal.ui.view;
18
package org.eclipse.rse.internal.ui.view;
19
19
20
import java.util.ArrayList;
20
import java.util.ArrayList;
21
import java.util.Iterator;
21
import java.util.List;
22
import java.util.List;
22
23
23
import org.eclipse.core.resources.IResource;
24
import org.eclipse.core.resources.IResource;
Lines 27-32 Link Here
27
import org.eclipse.core.runtime.jobs.MultiRule;
28
import org.eclipse.core.runtime.jobs.MultiRule;
28
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
29
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
29
import org.eclipse.jface.operation.IRunnableContext;
30
import org.eclipse.jface.operation.IRunnableContext;
31
import org.eclipse.jface.util.LocalSelectionTransfer;
32
import org.eclipse.jface.viewers.IStructuredSelection;
30
import org.eclipse.jface.viewers.StructuredViewer;
33
import org.eclipse.jface.viewers.StructuredViewer;
31
import org.eclipse.jface.viewers.ViewerDropAdapter;
34
import org.eclipse.jface.viewers.ViewerDropAdapter;
32
import org.eclipse.rse.core.RSECorePlugin;
35
import org.eclipse.rse.core.RSECorePlugin;
Lines 50-56 Link Here
50
 * Drop adapter for dropping objects in the Systems views.
53
 * Drop adapter for dropping objects in the Systems views.
51
 * 
54
 * 
52
 */
55
 */
53
public class SystemViewDataDropAdapter extends ViewerDropAdapter
56
public class SystemViewDataDropAdapter 
57
//extends PluginDropAdapter
58
extends ViewerDropAdapter
54
{
59
{
55
	protected Shell shell;
60
	protected Shell shell;
56
	protected long hoverStart = 0;
61
	protected long hoverStart = 0;
Lines 94-99 Link Here
94
99
95
		return false;
100
		return false;
96
	}
101
	}
102
	
103
	
104
	// DKM - hack to see if project explorer resources can be dropped in RSE
105
	private boolean isLocalSelectionResources(PluginTransferData transferData)
106
	{
107
		byte[] result = transferData.getData();
108
109
		// get the sources	
110
		String[] tokens = (new String(result)).split("\\"+SystemViewDataDropAdapter.RESOURCE_SEPARATOR); //$NON-NLS-1$
111
		
112
		ArrayList srcObjects = new ArrayList();
113
		for (int i = 0;i < tokens.length; i++)
114
		{
115
			String srcStr = tokens[i];
116
			if (srcStr.equals("org.eclipse.ui.navigator.ProjectExplorer"))
117
			{
118
				return true;
119
			}
120
		}
121
		return false;
122
	}
97
123
98
	private ArrayList getRSESourceObjects(PluginTransferData transferData)
124
	private ArrayList getRSESourceObjects(PluginTransferData transferData)
99
	{
125
	{
Lines 109-116 Link Here
109
		{
135
		{
110
			String srcStr = tokens[i];
136
			String srcStr = tokens[i];
111
137
112
			Object srcObject = getObjectFor(srcStr);
138
			{
113
			srcObjects.add(srcObject);
139
				Object srcObject = getObjectFor(srcStr);
140
				srcObjects.add(srcObject);
141
			}
114
		}
142
		}
115
		return srcObjects;
143
		return srcObjects;
116
	}
144
	}
Lines 124-131 Link Here
124
			if (data instanceof PluginTransferData)
152
			if (data instanceof PluginTransferData)
125
			{
153
			{
126
				PluginTransferData transferData = (PluginTransferData) data;
154
				PluginTransferData transferData = (PluginTransferData) data;
127
				srcObjects = getRSESourceObjects(transferData);
155
				if (isLocalSelectionResources(transferData))
128
				_sourceType = SystemDNDTransferRunnable.SRC_TYPE_RSE_RESOURCE;
156
				{
157
					IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection();
158
					Iterator selIt = selection.iterator();
159
					while (selIt.hasNext())
160
					{
161
						srcObjects.add(selIt.next());
162
					}
163
					_sourceType = SystemDNDTransferRunnable.SRC_TYPE_ECLIPSE_RESOURCE;
164
				}
165
				else
166
				{				
167
					srcObjects = getRSESourceObjects(transferData);
168
					_sourceType = SystemDNDTransferRunnable.SRC_TYPE_RSE_RESOURCE;
169
				}
129
			}
170
			}
130
			// different kind of data            
171
			// different kind of data            
131
			else if (data instanceof IResource[])
172
			else if (data instanceof IResource[])
Lines 152-157 Link Here
152
		return srcObjects;
193
		return srcObjects;
153
	}
194
	}
154
195
196
155
	/**
197
	/**
156
	 * Called by SWT after the drop have been validated to perform the
198
	 * Called by SWT after the drop have been validated to perform the
157
	 * drop transfer.
199
	 * drop transfer.

Return to bug 192704