blob: e8e2494095d81a869539924ec17c68131568b8ac [file] [log] [blame]
package org.eclipse.ui.views.navigator;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.resources.IResource;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.actions.MoveResourceAction;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.ui.internal.WorkbenchPlugin;
import org.eclipse.ui.help.*;
/**
* The ResourceNavigatorMoveAction is a resource move that aso updates the navigator
* to show the result of the move.
*/
/* package */ class ResourceNavigatorMoveAction extends MoveResourceAction {
private TreeViewer viewer;
/**
* Create a ResourceNavigatorMoveAction and use the supplied viewer to update the UI.
* @param shell Shell
* @param treeViewer TreeViewer
*/
public ResourceNavigatorMoveAction(Shell shell, TreeViewer treeViewer) {
super(shell);
WorkbenchHelp.setHelp(this, new Object[] {INavigatorHelpContextIds.RESOURCE_NAVIGATOR_MOVE_ACTION});
this.viewer = treeViewer;
}
/* (non-Javadoc)
* Method declared on IAction.
*/
public void run() {
super.run();
IWorkspaceRoot root = WorkbenchPlugin.getPluginWorkspace().getRoot();
List resources = new ArrayList();
Iterator iterator = getDestinations().iterator();
while (iterator.hasNext()) {
IResource newResource = root.findMember((IPath) iterator.next());
if (newResource != null)
resources.add(newResource);
}
this.viewer.setSelection(new StructuredSelection(resources), true);
}
}