|
What this is
Other links
The source code/* * 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.netbeans.modules.cvsclient.actions; import org.netbeans.modules.vcscore.actions.*; import org.openide.filesystems.*; import org.openide.nodes.*; import org.netbeans.modules.cvsclient.*; import org.openide.util.HelpCtx; /** * A utility class to remove action's implementation details from * the ActionSupporter * @author Milos Kleint */ public class CallBackCommandAction extends GeneralCommandAction implements ClusterItemVisualizer { private transient boolean ctrlSwitched; private static final String COMMAND_ACTION_DEF = "CommandActionDefinition"; /** * Is called from XML layer when creating the right action for the command. * Expects the fileobject to have an attribute COMMAND_ACTION_DEF, with the string * that holds classname. */ public static ClusterItemVisualizer createCommandActionInstance(FileObject inst) throws java.io.IOException { String className = (String)inst.getAttribute(COMMAND_ACTION_DEF); if (className != null) { Class actionClass = null; try { actionClass = Class.forName(className); } catch (ClassNotFoundException exc) { return null; } return (ClusterItemVisualizer)org.openide.util.SharedClassObject.findObject(actionClass, true); } return null; } /** Creates new UpdateCommandAction */ public CallBackCommandAction() { } public HelpCtx getHelpCtx() { HelpCtx retValue; retValue = super.getHelpCtx(); return retValue; } /** * Is called from the ActionSupporter when it starts iterating the * collected filesystems and fileobjects.. * Can be used for initial settings, eg. to create a common displayer for everyone. * */ public void initCallBack(JavaCvsActionSupporter supporter) { // does nothing by default.. } /** * method is called from the ActionSupporter and executes the action on the fileobjects.. * */ public void performCallBack(NbJavaCvsFileSystem fs, FileObject[] fos) { } /** * Is called from the ActionSupporter when it stops iterating the * collected filesystems and fileobjects.. * Can be used for clean up, etc. * */ public void finishCallBack() { // does nothing by default.. } /** * can be called on the action to find out quickly if the action is enabled or * not. Is to be used in areas where a lot of actions are questioned for "enabled" state, * to avoid multiple time computing of same things.. * @param fos an array of already converted fileobjects. * @param isDir if true, at least one of the fileobjects is a directory. */ boolean isEnabledShortcut(FileObject[] fos, boolean isDir, boolean isRoot, boolean isFile) { return true; } /** * when included in the popup menu, this property denotes if the action has * switchable customizer. if true and with the right user Interface mode, * such action will be appended the 3 dots if CTRL is pressed. * */ public boolean isSwitchable() { return false; } public void setSwitched(boolean CTRLSwitch) { ctrlSwitched = CTRLSwitch; } boolean isSwitched() { return ctrlSwitched; } public boolean isItemEnabled(ClusteringAction action) { return true; } public void performAction(Node[] nodes, ClusteringAction action) { // setSwitched(action.isSwitched()); putValue(GeneralCommandAction.GROUP_NAME_PROP, action.getValue(GeneralCommandAction.GROUP_NAME_PROP)); putValue(GeneralCommandAction.GROUP_DESCRIPTION_PROP, action.getValue(GeneralCommandAction.GROUP_DESCRIPTION_PROP)); performAction(); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.