KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > apisupport > project > ui > wizard > BasicVisualPanel


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.apisupport.project.ui.wizard;
21
22 import javax.swing.JPanel JavaDoc;
23 import org.openide.WizardDescriptor;
24 import org.openide.util.NbBundle;
25
26 /**
27  * Basic visual panel for APISupport wizard panels.
28  *
29  * @author Martin Krauskopf
30  */

31 public abstract class BasicVisualPanel extends JPanel JavaDoc {
32
33     private WizardDescriptor settings;
34
35     protected BasicVisualPanel(final WizardDescriptor setting) {
36         this.settings = setting;
37     }
38
39     public final WizardDescriptor getSettings() {
40         return settings;
41     }
42
43     /**
44      * Set an error message and mark the panel as invalid.
45      */

46     protected final void setError(String JavaDoc message) {
47         if (message == null) {
48             throw new NullPointerException JavaDoc();
49         }
50         setMessage(message);
51         setValid(false);
52     }
53     
54     /**
55      * Set an warning message but mark the panel as valid.
56      */

57     protected final void setWarning(String JavaDoc message) {
58         if (message == null) {
59             throw new NullPointerException JavaDoc();
60         }
61         setMessage(message);
62         setValid(true);
63     }
64     
65     /**
66      * Mark the panel as invalid without any message.
67      * Use with restraint; generally {@link #setError} is better.
68      */

69     protected final void markInvalid() {
70         setMessage(null);
71         setValid(false);
72     }
73     
74     /**
75      * Mark the panel as valid and clear any error or warning message.
76      */

77     protected final void markValid() {
78         setMessage(null);
79         setValid(true);
80     }
81     
82     private final void setMessage(String JavaDoc message) {
83         settings.putProperty("WizardPanel_errorMessage", message); // NOI18N
84
}
85     
86     /**
87      * Sets this panel's validity and fires event to it's wrapper wizard panel.
88      * See {@link BasicWizardPanel#propertyChange} for what happens further.
89      */

90     private final void setValid(boolean valid) {
91         firePropertyChange("valid", null, Boolean.valueOf(valid)); // NOI18N
92
}
93     
94     protected abstract static class NewTemplatePanel extends BasicVisualPanel {
95         
96         private final NewModuleProjectData data;
97         
98         NewTemplatePanel(final NewModuleProjectData data) {
99             super(data.getSettings());
100             this.data = data;
101             String JavaDoc resource;
102             int wizardType = data.getWizardType();
103             switch (data.getWizardType()) {
104                 case NewNbModuleWizardIterator.TYPE_SUITE:
105                     resource = "emptySuite"; // NOI18N
106
break;
107                 case NewNbModuleWizardIterator.TYPE_MODULE:
108                 case NewNbModuleWizardIterator.TYPE_SUITE_COMPONENT:
109                     resource = "emptyModule"; // NOI18N
110
break;
111                 case NewNbModuleWizardIterator.TYPE_LIBRARY_MODULE:
112                     resource = "libraryModule"; // NOI18N
113
break;
114                 default:
115                     assert false : "Unknown wizard type = " + wizardType;
116                     resource = "";
117             }
118             data.getSettings().putProperty("NewProjectWizard_Title", // NOI18N
119
NbBundle.getMessage(BasicVisualPanel.class, "Templates/Project/APISupport/" + resource));
120         }
121         
122         protected NewModuleProjectData getData() {
123             return data;
124         }
125         
126         protected boolean isSuiteWizard() {
127             return getData().getWizardType() == NewNbModuleWizardIterator.TYPE_SUITE;
128         }
129         
130         protected boolean isSuiteComponentWizard() {
131             return getData().getWizardType() == NewNbModuleWizardIterator.TYPE_SUITE_COMPONENT;
132         }
133
134         protected boolean isLibraryWizard() {
135             return getData().getWizardType() == NewNbModuleWizardIterator.TYPE_LIBRARY_MODULE;
136         }
137         
138     }
139     
140 }
141
Popular Tags