1 19 package org.netbeans.modules.refactoring.spi.impl; 20 21 import javax.swing.SwingUtilities ; 22 import org.netbeans.modules.refactoring.api.impl.ActionsImplementationFactory; 23 import org.openide.nodes.Node; 24 import org.openide.util.HelpCtx; 25 import org.openide.util.Lookup; 26 import org.openide.util.NbBundle; 27 28 31 public class SafeDeleteAction extends RefactoringGlobalAction { 32 33 36 public SafeDeleteAction() { 37 super (NbBundle.getMessage(SafeDeleteAction.class, "LBL_SafeDel_Action"), null); 38 putValue("noIconInMenu", Boolean.TRUE); } 40 41 public final void performAction(Lookup context) { 42 ActionsImplementationFactory.doDelete(context); 43 } 44 45 public org.openide.util.HelpCtx getHelpCtx() { 46 return HelpCtx.DEFAULT_HELP; 47 } 48 49 protected boolean asynchronous() { 50 return false; 51 } 52 53 protected boolean enable(Lookup context) { 54 return ActionsImplementationFactory.canDelete(context); 55 } 56 57 public boolean delete(final Node[] nodes) { 58 if (enable(nodes)) { 59 if (java.awt.EventQueue.isDispatchThread()) { 60 performAction(nodes); 61 } else { 62 SwingUtilities.invokeLater(new Runnable () { 63 public void run() { 64 performAction(nodes); 65 } 66 67 }); 68 } 69 return true; 70 } else { 71 return false; 72 } 73 } 74 } 75 | Popular Tags |