/*
* The contents of this file are subject to the terms of the Common Development
* and Distribution License (the License). You may not use this file except in
* compliance with the License.
*
* You can get a copy of the License at http://www.thinkingrock.com.au/cddl.html
* or http://www.thinkingrock.com.au/cddl.txt.
*
* When distributing Covered Code, include this CDDL Header Notice in each file
* and include the License file at http://www.thinkingrock.com.au/cddl.txt.
* If applicable, add the following below the CDDL Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* The Original Software is ThinkingRock. The Initial Developer of the Original
* Software is Avente Pty Ltd, Australia.
*
* Portions Copyright 2006-2007 Avente Pty Ltd. All Rights Reserved.
*/
package tr.view.projects;
import au.com.thinkingrock.tr.resource.Icons;
import org.openide.nodes.Node;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
import org.openide.util.actions.CookieAction;
import tr.model.action.Action;
/**
* Action to convert a TR action to a TR project.
*
* @author Jeremy Moore (jimoore@netspace.net.au)
*/
public class ProjectiseAction extends CookieAction {
/** Constructs a new instance. */
public ProjectiseAction() {
setIcon(Icons.Projectise);
}
/** Gets the display name. */
public String getName() {
return NbBundle.getMessage(getClass(), "CTL_ProjectiseAction");
}
/** Gets help context. */
public HelpCtx getHelpCtx() {
return HelpCtx.DEFAULT_HELP;
}
public Class[] cookieClasses() {
return new Class[] { Action.class };
}
public int mode() {
return MODE_EXACTLY_ONE;
}
@Override
protected boolean asynchronous() {
return false;
}
public void performAction(Node[] nodes) {
if (nodes.length < 1) return;
ProjectiseCookie cookie = (ProjectiseCookie)nodes[0].getCookie(ProjectiseCookie.class);
if (cookie != null) {
cookie.projectise();
}
}
}
|