KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > form > actions > EditContainerAction


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

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 /** Action that focuses selected container to be edited in FormDesigner.
30  */

31 public class EditContainerAction extends NodeAction {
32
33     private static EditFormAction editFormAction = (EditFormAction)
34                        SharedClassObject.findObject(EditFormAction.class, true);
35
36     private static String JavaDoc 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 JavaDoc getName() {
74         if (name == null)
75             name = org.openide.util.NbBundle.getBundle(EditContainerAction.class)
76                      .getString("ACT_EditContainer"); // NOI18N
77
return name;
78     }
79
80     public HelpCtx getHelpCtx() {
81         return new HelpCtx("gui.containers.designing"); // NOI18N
82
}
83
84 }
85
Popular Tags