1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-27 10:55:33 +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.jface.viewers.Viewer;
import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; 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.filters.ISystemFilterReference;
import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemContainer; 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.ISystemMessages;
import org.eclipse.rse.ui.RSEUIPlugin; import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemBasePlugin; import org.eclipse.rse.ui.SystemBasePlugin;
import org.eclipse.rse.ui.internal.model.SystemScratchpad;
import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.rse.ui.messages.SystemMessageDialog;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Shell;
@ -616,6 +619,7 @@ public class SystemDNDTransferRunnable extends WorkspaceJob
if (_resultTgtObjects.size() > 0) if (_resultTgtObjects.size() > 0)
{ {
boolean doRefresh = _ok; boolean doRefresh = _ok;
for (int t = 0; t < _resultTgtObjects.size() && t < _resultSrcObjects.size(); t++) for (int t = 0; t < _resultTgtObjects.size() && t < _resultSrcObjects.size(); t++)
{ {
Object tgt = _resultTgtObjects.get(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); 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; return Status.OK_STATUS;

View file

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