1 19 package org.netbeans.modules.refactoring.experimental.ui; 20 21 import java.util.ArrayList ; 22 import java.util.Iterator ; 23 import org.netbeans.jmi.javamodel.Element; 24 import org.netbeans.jmi.javamodel.JavaClass; 25 import org.netbeans.jmi.javamodel.Resource; 26 import org.netbeans.modules.java.JavaDataObject; 27 import org.netbeans.modules.javacore.JMManager; 28 import org.netbeans.modules.javacore.api.JavaModel; 29 import org.netbeans.modules.javacore.internalapi.JavaMetamodel; 30 import org.netbeans.modules.refactoring.spi.ui.AbstractRefactoringAction; 31 import org.netbeans.modules.refactoring.spi.ui.RefactoringUI; 32 import org.openide.loaders.DataObject; 33 import org.openide.nodes.Node; 34 import org.openide.util.NbBundle; 35 36 40 public class CopyClassAction extends AbstractRefactoringAction { 41 42 44 public CopyClassAction() { 45 super(NbBundle.getMessage(CopyClassAction.class, "LBL_CopyClass_Action"), null); putValue("noIconInMenu", Boolean.TRUE); } 48 49 56 protected RefactoringUI createRefactoringUI(Node[] nodes, Element selectedElement) { 57 if (selectedElement == null) { 58 JavaDataObject ob = (JavaDataObject) nodes[0].getCookie(JavaDataObject.class); 60 61 selectedElement = JavaModel.getResource(ob.getPrimaryFile()); 62 } 63 return new CopyClassRefactoringUI(selectedElement.getResource()); 64 } 65 66 70 protected boolean enabled(Node[] activatedNodes) { 71 if (activatedNodes.length != 1) return false; 73 74 DataObject dobj = (DataObject) activatedNodes[0].getCookie(DataObject.class); 78 if ((dobj instanceof JavaDataObject) && ((JMManager) JavaMetamodel.getManager()).mergedCPContains(dobj.getPrimaryFile())) { 81 return true; 82 } else { 83 return false; 84 } 85 } 86 87 protected String iconResource () { 88 return "org/netbeans/modules/refactoring/resources/refactoring.gif"; } 90 } 91 | Popular Tags |