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

[182403] drag and drop to the scratchpad was not refreshing at all. It used to work but some recent refactoring seems to have broken it. Anyway, this solves that part of the problem.

This commit is contained in:
David McKnight 2007-05-22 20:24:14 +00:00
parent 089766f081
commit 56a587f45e
2 changed files with 15 additions and 6 deletions

View file

@ -31,6 +31,8 @@ import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.events.ISystemRemoteChangeEvents;
import org.eclipse.rse.core.events.ISystemResourceChangeEvents;
import org.eclipse.rse.core.events.SystemResourceChangeEvent;
import org.eclipse.rse.core.filters.ISystemFilterReference;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemContainer;
@ -45,6 +47,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemBasePlugin;
import org.eclipse.rse.ui.internal.model.SystemScratchpad;
import org.eclipse.rse.ui.messages.SystemMessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
@ -616,6 +619,7 @@ public class SystemDNDTransferRunnable extends WorkspaceJob
if (_resultTgtObjects.size() > 0)
{
boolean doRefresh = _ok;
for (int t = 0; t < _resultTgtObjects.size() && t < _resultSrcObjects.size(); t++)
{
Object tgt = _resultTgtObjects.get(t);
@ -647,6 +651,10 @@ public class SystemDNDTransferRunnable extends WorkspaceJob
{
registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, _resultTgtObjects, _target, _targetSubSystem, null, _originatingViewer);
}
else if (_target instanceof SystemScratchpad)
{
registry.fireEvent(new SystemResourceChangeEvent(_resultTgtObjects, ISystemResourceChangeEvents.EVENT_ADD_MANY, _target));
}
}
return Status.OK_STATUS;

View file

@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import org.eclipse.core.runtime.Assert;
@ -273,7 +274,7 @@ public class SystemScratchpadView
*/
protected ISystemViewElementAdapter getViewAdapter(Object obj)
{
return SystemAdapterHelpers.getViewAdapter(obj, this);
return SystemAdapterHelpers.getViewAdapter(obj);
}
@ -421,11 +422,11 @@ public class SystemScratchpadView
Object remoteResourceParent = event.getResourceParent();
Object remoteResource = event.getResource();
//boolean originatedHere = (event.getOriginatingViewer() == this);
Vector remoteResourceNames = null;
if (remoteResource instanceof Vector)
List remoteResourceNames = null;
if (remoteResource instanceof List)
{
remoteResourceNames = (Vector) remoteResource;
remoteResource = remoteResourceNames.elementAt(0);
remoteResourceNames = (List) remoteResource;
remoteResource = remoteResourceNames.get(0);
}
String remoteResourceName = getRemoteResourceAbsoluteName(remoteResource);
if (remoteResourceName == null)
@ -551,7 +552,7 @@ public class SystemScratchpadView
remoteResourceName = (String) remoteResource;
else
{
ISystemRemoteElementAdapter ra = getRemoteAdapter(remoteResource);
ISystemViewElementAdapter ra = getViewAdapter(remoteResource);
if (ra == null)
return null;
remoteResourceName = ra.getAbsoluteName(remoteResource);