From 56a587f45e4f7f5859b1d542b5bdee0a278100e0 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Tue, 22 May 2007 20:24:14 +0000 Subject: [PATCH] [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. --- .../internal/ui/view/SystemDNDTransferRunnable.java | 8 ++++++++ .../ui/view/scratchpad/SystemScratchpadView.java | 13 +++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java index 02baa9a3714..47a23fa3411 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java @@ -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; diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java index 5d1f517b772..930fed764d4 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java @@ -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);