1 19 20 package org.netbeans.modules.form.actions; 21 22 import org.openide.nodes.Node; 23 import org.openide.util.actions.*; 24 import org.openide.util.*; 25 26 import org.netbeans.modules.form.*; 27 28 29 31 public class EditContainerAction extends NodeAction { 32 33 private static EditFormAction editFormAction = (EditFormAction) 34 SharedClassObject.findObject(EditFormAction.class, true); 35 36 private static String name; 37 38 protected void performAction(Node[] activatedNodes) { 39 if (activatedNodes != null && activatedNodes.length == 1) { 40 RADComponentCookie radCookie = (RADComponentCookie)activatedNodes[0] 41 .getCookie(RADComponentCookie.class); 42 RADComponent metacomp = radCookie == null ? null : 43 radCookie.getRADComponent(); 44 if (metacomp instanceof RADVisualContainer) { 45 FormDesigner designer = FormEditor.getFormDesigner(metacomp.getFormModel()); 46 if (designer != null) { 47 designer.setTopDesignComponent((RADVisualComponent)metacomp, true); 48 designer.requestActive(); 49 } 50 51 editFormAction.setEnabled( 52 metacomp.getFormModel().getTopRADComponent() != metacomp); 53 } 54 } 55 } 56 57 protected boolean asynchronous() { 58 return false; 59 } 60 61 protected boolean enable(Node[] activatedNodes) { 62 if (activatedNodes != null && activatedNodes.length == 1) { 63 RADComponentCookie radCookie = (RADComponentCookie)activatedNodes[0] 64 .getCookie(RADComponentCookie.class); 65 RADComponent metacomp = radCookie == null ? null : 66 radCookie.getRADComponent(); 67 return metacomp instanceof RADVisualContainer 68 && FormEditor.getFormDesigner(metacomp.getFormModel()) != null; 69 } 70 return false; 71 } 72 73 public String getName() { 74 if (name == null) 75 name = org.openide.util.NbBundle.getBundle(EditContainerAction.class) 76 .getString("ACT_EditContainer"); return name; 78 } 79 80 public HelpCtx getHelpCtx() { 81 return new HelpCtx("gui.containers.designing"); } 83 84 } 85 | Popular Tags |