/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2002 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.openide.actions;
import org.openide.util.HelpCtx;
import org.openide.util.actions.NodeAction;
import org.openide.nodes.Node;
import org.openide.nodes.NodeOperation;
import org.openide.util.NbBundle;
/** Open an Explorer window with a particular root node.
* Final only for better performance.
* @see NodeOperation#explore
* @author Ian Formanek
*/
public final class OpenLocalExplorerAction extends NodeAction {
/** generated Serialized Version UID */
static final long serialVersionUID = -2703311250025273778L;
protected void performAction (Node[] activatedNodes) {
//bugfix #7579 test if nodes array is empty and node is enabled
if ((activatedNodes != null) &&
(activatedNodes.length == 1) &&
(activatedNodes[0].isLeaf() == false) ) {
NodeOperation.getDefault().explore(activatedNodes[0]);
}
}
protected boolean enable (Node[] activatedNodes) {
if ((activatedNodes == null) || (activatedNodes.length != 1) ||
(activatedNodes[0].isLeaf()))
return false;
return true;
}
/* Human presentable name of the action. This should be
* presented as an item in a menu.
* @return the name of the action
*/
public String getName() {
return NbBundle.getMessage(OpenLocalExplorerAction.class, "OpenLocalExplorer");
}
/* Help context where to find more about the action.
* @return the help context for this action
*/
public HelpCtx getHelpCtx() {
return new HelpCtx (OpenLocalExplorerAction.class);
}
/* Icon resource.
* @return name of resource for icon
*/
protected String iconResource () {
return "org/openide/resources/actions/openLocalExplorer.gif"; // NOI18N
}
}