/*
* 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-2000 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.openide.actions;
import org.openide.cookies.OpenCookie;
import org.openide.util.HelpCtx;
import org.openide.util.actions.*;
import org.openide.nodes.Node;
import org.openide.util.NbBundle;
/** Opens a node (for example, in a web browser, or in the Editor).
* @see OpenCookie
*
* @author Petr Hamernik
*/
public class OpenAction extends CookieAction {
/** generated Serialized Version UID */
private static final long serialVersionUID = -5847763658433081444L;
/* @return set of needed cookies */
protected Class[] cookieClasses () {
return new Class[] { OpenCookie.class };
}
/* @return false */
protected boolean surviveFocusChange () {
return false;
}
/* @return any */
protected int mode () {
return MODE_ANY;
}
/* 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(OpenAction.class, "Open");
}
/* Help context where to find more about the action.
* @return the help context for this action
*/
public HelpCtx getHelpCtx() {
return new HelpCtx (OpenAction.class);
}
/*
* Standart perform action extended by actually activated nodes.
* @see CallableSystemAction#performAction
*
* @param activatedNodes gives array of actually activated nodes.
*/
protected void performAction (final Node[] activatedNodes) {
for (int i = 0; i < activatedNodes.length; i++) {
OpenCookie oc =
(OpenCookie)activatedNodes[i].getCookie(OpenCookie.class);
if (oc != null) {
oc.open();
}
}
}
}