|
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-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.refactoring.ui; import java.awt.event.ActionEvent; import javax.swing.Action; import javax.swing.JMenuItem; import org.netbeans.api.project.FileOwnerQuery; import org.netbeans.jmi.javamodel.JavaPackage; import org.netbeans.modules.javacore.internalapi.JavaMetamodel; import org.netbeans.modules.refactoring.CheckUtils; import org.netbeans.modules.refactoring.api.ui.AbstractRefactoringAction; import org.openide.actions.RenameAction; import org.openide.filesystems.FileObject; import org.openide.loaders.DataObject; import org.openide.loaders.DataFolder; import org.openide.loaders.DataShadow; import org.openide.util.ContextAwareAction; import org.openide.util.HelpCtx; import org.openide.util.Lookup; import org.openide.util.NbBundle; import org.openide.util.actions.SystemAction; import org.openide.util.actions.Presenter.Menu; import org.openide.util.actions.Presenter.Popup; import org.openide.windows.TopComponent; /** Action that displays refactoring submenu action on JavaDataObject * and delegates to it. * * @author Martin Matula */ public class RSMJavaDOAction extends SystemAction implements Menu, Popup, ContextAwareAction { // create delegate (RefactoringSubMenuAction) private final RefactoringSubMenuAction action = new RefactoringSubMenuAction(false); private static final RenameAction renameAction = (RenameAction) SystemAction.get(RenameAction.class); private static final String logicalViewName = NbBundle.getBundle("org.netbeans.modules.project.ui.Bundle").getString("LBL_projectTabLogical_tc"); public void actionPerformed(ActionEvent ev) { // do nothing -- should never be called } public String getName() { return (String) action.getValue(Action.NAME); } public HelpCtx getHelpCtx() { return HelpCtx.DEFAULT_HELP; // If you will provide context help then use: // return new HelpCtx(RSMEditorActionAction.class); } public JMenuItem getMenuPresenter() { return action.getMenuPresenter(); } public JMenuItem getPopupPresenter() { return action.getPopupPresenter(); } public Action createContextAwareInstance(Lookup actionContext) { DataObject dobj = (DataObject) actionContext.lookup(DataObject.class); while (dobj instanceof DataShadow) { dobj = ((DataShadow) dobj).getOriginal(); } if (!(dobj instanceof DataFolder)) { return this; } String tcName = TopComponent.getRegistry().getActivated().getName(); boolean isProjectTabActive = logicalViewName.equals(tcName); if (!isProjectTabActive || CheckUtils.isFolderEmpty(dobj.getPrimaryFile())) { return renameAction.createContextAwareInstance(actionContext); } else { return this; } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 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.