KickJava   Java API By Example, From Geeks To Geeks.

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


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.action;
21
22 import java.util.ArrayList JavaDoc;
23 import java.util.Collection JavaDoc;
24 import java.util.Collections JavaDoc;
25 import java.util.HashMap JavaDoc;
26 import java.util.Map JavaDoc;
27 import java.util.StringTokenizer JavaDoc;
28 import javax.swing.ComboBoxModel JavaDoc;
29 import javax.swing.DefaultComboBoxModel JavaDoc;
30 import org.netbeans.modules.apisupport.project.ui.wizard.BasicWizardIterator;
31 import org.openide.WizardDescriptor;
32 import org.openide.util.HelpCtx;
33 import org.openide.util.NbBundle;
34
35 /**
36  * The first panel in the <em>New Action Wizard</em>.
37  *
38  * @author Martin Krauskopf
39  */

40 final class ActionTypePanel extends BasicWizardIterator.Panel {
41     
42     private static final Map JavaDoc<String JavaDoc, String JavaDoc> NAME_TO_FQCN;
43     
44     static {
45         Map JavaDoc map = new HashMap JavaDoc(DataModel.PREDEFINED_COOKIE_CLASSES.length);
46         for (int i = 0; i < DataModel.PREDEFINED_COOKIE_CLASSES.length; i++) {
47             String JavaDoc fqcn = DataModel.PREDEFINED_COOKIE_CLASSES[i];
48             String JavaDoc name = DataModel.parseClassName(fqcn);
49             map.put(name, fqcn);
50         }
51         NAME_TO_FQCN = Collections.unmodifiableMap(map);
52     }
53     
54     private DataModel data;
55     
56     public ActionTypePanel(final WizardDescriptor setting, final DataModel data) {
57         super(setting);
58         this.data = data;
59         initComponents();
60         initAccesibility();
61         putClientProperty("NewFileWizard_Title", getMessage("LBL_ActionWizardTitle"));
62         cookieClass.setModel(createCookieClassModel());
63     }
64     
65     protected String JavaDoc getPanelName() {
66         return getMessage("LBL_ActionType_Title");
67     }
68     
69     protected void storeToDataModel() {
70         data.setAlwaysEnabled(alwaysEnabled.isSelected());
71         data.setCookieClasses(getCookieClasses());
72         data.setMultiSelection(isMultiSelection());
73     }
74     
75     private String JavaDoc[] getCookieClasses() {
76         StringTokenizer JavaDoc classesST = new StringTokenizer JavaDoc(
77                 cookieClass.getEditor().getItem().toString(), ","); // NOI18N
78
Collection JavaDoc classes = new ArrayList JavaDoc();
79         while (classesST.hasMoreTokens()) {
80             String JavaDoc clazz = ((String JavaDoc) classesST.nextToken()).trim();
81             String JavaDoc fqcn = (String JavaDoc) NAME_TO_FQCN.get(clazz);
82             classes.add(fqcn == null ? clazz : fqcn);
83         }
84         String JavaDoc[] s = new String JavaDoc[classes.size()];
85         return (String JavaDoc[]) classes.toArray(s);
86     }
87     
88     protected void readFromDataModel() {
89         condionallyEnabledActionPerformed(null);
90         markValid();
91     }
92     
93     protected HelpCtx getHelp() {
94         return new HelpCtx(ActionTypePanel.class);
95     }
96     
97     private boolean isMultiSelection() {
98         return modeMultiple.isSelected();
99     }
100     
101     private static String JavaDoc getMessage(String JavaDoc key) {
102         return NbBundle.getMessage(ActionTypePanel.class, key);
103     }
104     
105     private static ComboBoxModel JavaDoc createCookieClassModel() {
106         DefaultComboBoxModel JavaDoc cookieClassModel = new DefaultComboBoxModel JavaDoc();
107         Map JavaDoc map = new HashMap JavaDoc(DataModel.PREDEFINED_COOKIE_CLASSES.length);
108         for (int i = 0; i < DataModel.PREDEFINED_COOKIE_CLASSES.length; i++) {
109             String JavaDoc fqcn = DataModel.PREDEFINED_COOKIE_CLASSES[i];
110             String JavaDoc name = DataModel.parseClassName(fqcn);
111             map.put(name, fqcn);
112             cookieClassModel.addElement(name);
113         }
114         return cookieClassModel;
115     }
116     
117     /** This method is called from within the constructor to
118      * initialize the form.
119      * WARNING: Do NOT modify this code. The content of this method is
120      * always regenerated by the Form Editor.
121      */

122     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
123
private void initComponents() {
124         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
125
126         whenEnabledGroup = new javax.swing.ButtonGroup JavaDoc();
127         modeGroup = new javax.swing.ButtonGroup JavaDoc();
128         alwaysEnabled = new javax.swing.JRadioButton JavaDoc();
129         condionallyEnabled = new javax.swing.JRadioButton JavaDoc();
130         cookieClassTxt = new javax.swing.JLabel JavaDoc();
131         cookieClass = new javax.swing.JComboBox JavaDoc();
132         filler = new javax.swing.JLabel JavaDoc();
133         modeOne = new javax.swing.JRadioButton JavaDoc();
134         modeMultiple = new javax.swing.JRadioButton JavaDoc();
135
136         setLayout(new java.awt.GridBagLayout JavaDoc());
137
138         whenEnabledGroup.add(alwaysEnabled);
139         alwaysEnabled.setSelected(true);
140         org.openide.awt.Mnemonics.setLocalizedText(alwaysEnabled, org.openide.util.NbBundle.getMessage(ActionTypePanel.class, "CTL_AlwaysEnabled"));
141         alwaysEnabled.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
142         alwaysEnabled.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
143         alwaysEnabled.addActionListener(new java.awt.event.ActionListener JavaDoc() {
144             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
145                 condionallyEnabledActionPerformed(evt);
146             }
147         });
148
149         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
150         gridBagConstraints.gridx = 0;
151         gridBagConstraints.gridy = 0;
152         gridBagConstraints.gridwidth = 2;
153         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
154         gridBagConstraints.insets = new java.awt.Insets JavaDoc(12, 0, 0, 0);
155         add(alwaysEnabled, gridBagConstraints);
156
157         whenEnabledGroup.add(condionallyEnabled);
158         org.openide.awt.Mnemonics.setLocalizedText(condionallyEnabled, org.openide.util.NbBundle.getMessage(ActionTypePanel.class, "CTL_ConditionallyEnabled"));
159         condionallyEnabled.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
160         condionallyEnabled.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
161         condionallyEnabled.addActionListener(new java.awt.event.ActionListener JavaDoc() {
162             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
163                 condionallyEnabledActionPerformed(evt);
164             }
165         });
166
167         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
168         gridBagConstraints.gridx = 0;
169         gridBagConstraints.gridy = 1;
170         gridBagConstraints.gridwidth = 2;
171         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
172         gridBagConstraints.insets = new java.awt.Insets JavaDoc(24, 0, 0, 0);
173         add(condionallyEnabled, gridBagConstraints);
174
175         cookieClassTxt.setLabelFor(cookieClass);
176         org.openide.awt.Mnemonics.setLocalizedText(cookieClassTxt, org.openide.util.NbBundle.getMessage(ActionTypePanel.class, "LBL_CookieClass"));
177         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
178         gridBagConstraints.gridx = 0;
179         gridBagConstraints.gridy = 2;
180         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
181         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 18, 6, 0);
182         add(cookieClassTxt, gridBagConstraints);
183
184         cookieClass.setEditable(true);
185         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
186         gridBagConstraints.gridx = 1;
187         gridBagConstraints.gridy = 2;
188         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
189         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
190         gridBagConstraints.weightx = 1.0;
191         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 12, 6, 0);
192         add(cookieClass, gridBagConstraints);
193
194         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
195         gridBagConstraints.gridx = 0;
196         gridBagConstraints.gridy = 5;
197         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
198         gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
199         gridBagConstraints.weightx = 1.0;
200         gridBagConstraints.weighty = 1.0;
201         add(filler, gridBagConstraints);
202
203         modeGroup.add(modeOne);
204         modeOne.setSelected(true);
205         org.openide.awt.Mnemonics.setLocalizedText(modeOne, org.openide.util.NbBundle.getMessage(ActionTypePanel.class, "CTL_ModeOneNode"));
206         modeOne.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
207         modeOne.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
208         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
209         gridBagConstraints.gridx = 0;
210         gridBagConstraints.gridy = 3;
211         gridBagConstraints.gridwidth = 2;
212         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
213         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 18, 6, 0);
214         add(modeOne, gridBagConstraints);
215
216         modeGroup.add(modeMultiple);
217         org.openide.awt.Mnemonics.setLocalizedText(modeMultiple, org.openide.util.NbBundle.getMessage(ActionTypePanel.class, "CTL_ModeMultipleNode"));
218         modeMultiple.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
219         modeMultiple.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
220         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
221         gridBagConstraints.gridx = 0;
222         gridBagConstraints.gridy = 4;
223         gridBagConstraints.gridwidth = 2;
224         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
225         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 18, 0, 0);
226         add(modeMultiple, gridBagConstraints);
227
228     }// </editor-fold>//GEN-END:initComponents
229

230     private void condionallyEnabledActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_condionallyEnabledActionPerformed
231
boolean enabled = condionallyEnabled.isSelected();
232         cookieClass.setEnabled(enabled);
233         cookieClassTxt.setEnabled(enabled);
234         modeOne.setEnabled(enabled);
235         modeMultiple.setEnabled(enabled);
236     }//GEN-LAST:event_condionallyEnabledActionPerformed
237

238     // Variables declaration - do not modify//GEN-BEGIN:variables
239
private javax.swing.JRadioButton JavaDoc alwaysEnabled;
240     private javax.swing.JRadioButton JavaDoc condionallyEnabled;
241     private javax.swing.JComboBox JavaDoc cookieClass;
242     private javax.swing.JLabel JavaDoc cookieClassTxt;
243     private javax.swing.JLabel JavaDoc filler;
244     private javax.swing.ButtonGroup JavaDoc modeGroup;
245     private javax.swing.JRadioButton JavaDoc modeMultiple;
246     private javax.swing.JRadioButton JavaDoc modeOne;
247     private javax.swing.ButtonGroup JavaDoc whenEnabledGroup;
248     // End of variables declaration//GEN-END:variables
249

250     private void initAccesibility() {
251         this.getAccessibleContext().setAccessibleDescription(getMessage("ACS_ActionTypePanel"));
252         alwaysEnabled.getAccessibleContext().setAccessibleDescription(getMessage("ACS_CTL_alwaysEnabled"));
253         condionallyEnabled.getAccessibleContext().setAccessibleDescription(getMessage("ACS_CTL_condionallyEnabled"));
254         cookieClass.getAccessibleContext().setAccessibleDescription(getMessage("ACS_CTL_cookieClass"));
255         modeMultiple.getAccessibleContext().setAccessibleDescription(getMessage("ACS_CTL_modeMultiple"));
256         modeOne.getAccessibleContext().setAccessibleDescription(getMessage("ACS_CTL_modeOne"));
257     }
258
259 }
260
261
Popular Tags