KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > refactoring > ui > j > spi > ui > WhereUsedPanel


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-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 package org.netbeans.modules.xml.refactoring.ui.j.spi.ui;
20
21 import java.awt.Component JavaDoc;
22 import java.awt.Dimension JavaDoc;
23 import javax.swing.JPanel JavaDoc;
24 import javax.swing.event.ChangeListener JavaDoc;
25 import org.netbeans.modules.xml.xam.Referenceable;
26 import org.netbeans.modules.refactoring.spi.ui.CustomRefactoringPanel;
27
28 /**
29  * @author Jan Becicka
30  */

31 public class WhereUsedPanel extends JPanel JavaDoc implements CustomRefactoringPanel {
32     public static final long serialVersionUID = 1L;
33
34 // private final transient RefObject element;
35
//private final transient ParametersPanel parent;
36
private final transient ChangeListener JavaDoc parent;
37     private transient Referenceable ref;
38
39     /** Creates new form RenamePanelName */
40 // public WhereUsedPanel(String name, RefObject e, ParametersPanel parent) {
41
// setName(NbBundle.getMessage(WhereUsedPanel.class,"LBL_WhereUsed")); // NOI18N
42
// this.element = e;
43
// this.parent = parent;
44
// initComponents();
45
// parent.setPreviewEnabled(false);
46
// }
47

48     public WhereUsedPanel(Referenceable ref, ChangeListener JavaDoc parent) {
49         this.parent = parent;
50         this.ref = ref;
51     }
52
53     private boolean initialized = false;
54     private String JavaDoc methodDeclaringSuperClass = null;
55     private String JavaDoc methodDeclaringClass = null;
56     
57     String JavaDoc getMethodDeclaringClass() {
58         return isMethodFromBaseClass() ? methodDeclaringSuperClass : methodDeclaringClass;
59     }
60     
61     public void initialize() {
62 // String m_isBaseClassText = null;
63
// if (initialized) return;
64
// final String labelText;
65
// int modif = 0;
66
//
67
// JavaModel.getJavaRepository().beginTrans(true);
68
// try {
69
// if (element instanceof Method) {
70
// Method method = (Method) element;
71
// JavaModel.setClassPath(method.getResource());
72
// modif = method.getModifiers();
73
// labelText = NbBundle.getMessage(WhereUsedPanel.class, "DSC_MethodUsages", getHeader(method), getSimpleName(method.getDeclaringClass())); // NOI18N
74
//
75
// methodDeclaringClass = getSimpleName(method.getDeclaringClass());
76
// Collection overridens = JavaModelUtil.getOverriddenMethods(method);
77
// if (!overridens.isEmpty()) {
78
// m_isBaseClassText =
79
// new MessageFormat(NbBundle.getMessage(WhereUsedPanel.class, "LBL_UsagesOfBaseClass")).format(
80
// new Object[] {
81
// methodDeclaringSuperClass = getSimpleName(((Method) overridens.iterator().next()).getDeclaringClass())
82
// }
83
// );
84
// }
85
// } else if (element instanceof JavaClass) {
86
// labelText = NbBundle.getMessage(WhereUsedPanel.class, "DSC_ClassUsages", ((JavaClass) element).getSimpleName()); // NOI18N
87
// } else if (element instanceof Constructor) {
88
// labelText = NbBundle.getMessage(WhereUsedPanel.class, "DSC_ConstructorUsages", getHeader((CallableFeature)element), getSimpleName(((Constructor) element).getDeclaringClass())); // NOI18N
89
// } else if (element instanceof Field) {
90
// labelText = NbBundle.getMessage(WhereUsedPanel.class, "DSC_FieldUsages", ((NamedElement) element).getName(), getSimpleName(((Field) element).getDeclaringClass())); // NOI18N
91
// } else if (element instanceof JavaPackage) {
92
// labelText = NbBundle.getMessage(WhereUsedPanel.class, "DSC_PackageUsages", ((NamedElement) element).getName()); // NOI18N
93
// } else if (element instanceof NamedElement) {
94
// labelText = NbBundle.getMessage(WhereUsedPanel.class, "DSC_VariableUsages", ((NamedElement) element).getName()); // NOI18N
95
// } else {
96
// labelText = null;
97
// }
98
// } finally {
99
// JavaModel.getJavaRepository().endTrans();
100
// }
101
//
102
// final int modifiers = modif;
103
// final String isBaseClassText = m_isBaseClassText;
104
//
105
// SwingUtilities.invokeLater(new Runnable() {
106
// public void run() {
107
// remove(classesPanel);
108
// remove(methodsPanel);
109
// label.setText(labelText);
110
// if (element instanceof Method) {
111
// add(methodsPanel, BorderLayout.CENTER);
112
// methodsPanel.setVisible(true);
113
// m_usages.setVisible(!Modifier.isStatic(modifiers));
114
// m_overriders.setVisible(! (Modifier.isFinal(modifiers) || Modifier.isStatic(modifiers) || Modifier.isPrivate(modifiers)));
115
// if (methodDeclaringSuperClass != null ) {
116
// m_isBaseClass.setVisible(true);
117
// m_isBaseClass.setSelected(true);
118
// Mnemonics.setLocalizedText(m_isBaseClass, isBaseClassText);
119
// } else {
120
// m_isBaseClass.setVisible(false);
121
// m_isBaseClass.setSelected(false);
122
// }
123
// } else if (element instanceof JavaClass) {
124
// add(classesPanel, BorderLayout.CENTER);
125
// classesPanel.setVisible(true);
126
// } else {
127
// remove(classesPanel);
128
// remove(methodsPanel);
129
// c_subclasses.setVisible(false);
130
// m_usages.setVisible(false);
131
// c_usages.setVisible(false);
132
// c_directOnly.setVisible(false);
133
// }
134
// validate();
135
// }
136
// });
137
// initialized = true;
138
}
139     
140 // private String getSimpleName(ClassDefinition clazz) {
141
// if (clazz instanceof JavaClass) {
142
// return ((JavaClass) clazz).getSimpleName();
143
// } else {
144
// return NbBundle.getMessage(WhereUsedPanel.class, "LBL_AnonymousClass"); // NOI18N
145
// }
146
// }
147
//
148
// private String getHeader(CallableFeature call) {
149
// if (((CallableFeatureImpl) call).getParser() == null) {
150
// if (call instanceof Method) {
151
// return ((Method) call).getName();
152
// } else if (call instanceof Constructor) {
153
// return getSimpleName(call.getDeclaringClass());
154
// }
155
// return "";
156
// }
157
// int s = ((MetadataElement) call).getPartStartOffset(ElementPartKindEnum.HEADER);
158
// int element = ((MetadataElement) call).getPartEndOffset(ElementPartKindEnum.HEADER);
159
// String result = call.getResource().getSourceText().substring(s,element);
160
// if (result.length() > 50) {
161
// result = result.substring(0,49) + "..."; // NOI18N
162
// }
163
// return CheckUtils.htmlize(result);
164
// }
165
//
166
// public void requestFocus() {
167
// super.requestFocus();
168
// }
169

170     /** This method is called from within the constructor to
171      * initialize the form.
172      * WARNING: Do NOT modify this code. The content of this method is
173      * always regenerated by the Form Editor.
174      */

175     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
176
private void initComponents() {
177         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
178
179         buttonGroup = new javax.swing.ButtonGroup JavaDoc();
180         methodsPanel = new javax.swing.JPanel JavaDoc();
181         m_isBaseClass = new javax.swing.JCheckBox JavaDoc();
182         jPanel1 = new javax.swing.JPanel JavaDoc();
183         m_overriders = new javax.swing.JCheckBox JavaDoc();
184         m_usages = new javax.swing.JCheckBox JavaDoc();
185         classesPanel = new javax.swing.JPanel JavaDoc();
186         jPanel2 = new javax.swing.JPanel JavaDoc();
187         c_subclasses = new javax.swing.JRadioButton JavaDoc();
188         c_usages = new javax.swing.JRadioButton JavaDoc();
189         c_directOnly = new javax.swing.JRadioButton JavaDoc();
190         jPanel3 = new javax.swing.JPanel JavaDoc();
191         label = new javax.swing.JLabel JavaDoc();
192         searchInComments = new javax.swing.JCheckBox JavaDoc();
193
194         setLayout(new java.awt.BorderLayout JavaDoc());
195
196         methodsPanel.setLayout(new java.awt.GridBagLayout JavaDoc());
197
198         m_isBaseClass.setSelected(true);
199         m_isBaseClass.addActionListener(new java.awt.event.ActionListener JavaDoc() {
200             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
201                 m_isBaseClassActionPerformed(evt);
202             }
203         });
204
205         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
206         gridBagConstraints.gridx = 0;
207         gridBagConstraints.gridy = 3;
208         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
209         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 12, 0, 0);
210         methodsPanel.add(m_isBaseClass, gridBagConstraints);
211         m_isBaseClass.getAccessibleContext().setAccessibleDescription(null);
212
213         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
214         gridBagConstraints.gridx = 0;
215         gridBagConstraints.gridy = 4;
216         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
217         gridBagConstraints.weightx = 1.0;
218         gridBagConstraints.weighty = 1.0;
219         methodsPanel.add(jPanel1, gridBagConstraints);
220
221         m_overriders.addActionListener(new java.awt.event.ActionListener JavaDoc() {
222             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
223                 m_overridersActionPerformed(evt);
224             }
225         });
226
227         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
228         gridBagConstraints.gridx = 0;
229         gridBagConstraints.gridy = 2;
230         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
231         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 12, 0, 0);
232         methodsPanel.add(m_overriders, gridBagConstraints);
233         m_overriders.getAccessibleContext().setAccessibleDescription(null);
234
235         m_usages.setSelected(true);
236         m_usages.setMargin(new java.awt.Insets JavaDoc(10, 2, 2, 2));
237         m_usages.addActionListener(new java.awt.event.ActionListener JavaDoc() {
238             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
239                 m_usagesActionPerformed(evt);
240             }
241         });
242
243         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
244         gridBagConstraints.gridx = 0;
245         gridBagConstraints.gridy = 1;
246         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
247         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 12, 0, 0);
248         methodsPanel.add(m_usages, gridBagConstraints);
249         m_usages.getAccessibleContext().setAccessibleDescription(null);
250
251         add(methodsPanel, java.awt.BorderLayout.CENTER);
252
253         classesPanel.setLayout(new java.awt.GridBagLayout JavaDoc());
254
255         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
256         gridBagConstraints.gridx = 0;
257         gridBagConstraints.gridy = 4;
258         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
259         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
260         gridBagConstraints.weightx = 1.0;
261         gridBagConstraints.weighty = 1.0;
262         classesPanel.add(jPanel2, gridBagConstraints);
263
264         buttonGroup.add(c_subclasses);
265         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
266         gridBagConstraints.gridx = 0;
267         gridBagConstraints.gridy = 2;
268         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
269         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 12, 0, 0);
270         classesPanel.add(c_subclasses, gridBagConstraints);
271         c_subclasses.getAccessibleContext().setAccessibleDescription(null);
272
273         buttonGroup.add(c_usages);
274         c_usages.setSelected(true);
275         c_usages.setMargin(new java.awt.Insets JavaDoc(4, 2, 2, 2));
276         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
277         gridBagConstraints.gridx = 0;
278         gridBagConstraints.gridy = 1;
279         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
280         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 12, 0, 0);
281         classesPanel.add(c_usages, gridBagConstraints);
282         c_usages.getAccessibleContext().setAccessibleDescription(null);
283
284         buttonGroup.add(c_directOnly);
285         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
286         gridBagConstraints.gridx = 0;
287         gridBagConstraints.gridy = 3;
288         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
289         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 12, 0, 0);
290         classesPanel.add(c_directOnly, gridBagConstraints);
291         c_directOnly.getAccessibleContext().setAccessibleDescription(null);
292
293         add(classesPanel, java.awt.BorderLayout.CENTER);
294
295         jPanel3.setLayout(new java.awt.BorderLayout JavaDoc());
296
297         jPanel3.add(label, java.awt.BorderLayout.NORTH);
298
299         searchInComments.setMargin(new java.awt.Insets JavaDoc(10, 14, 2, 2));
300         searchInComments.addItemListener(new java.awt.event.ItemListener JavaDoc() {
301             public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
302                 searchInCommentsItemStateChanged(evt);
303             }
304         });
305
306         jPanel3.add(searchInComments, java.awt.BorderLayout.SOUTH);
307         searchInComments.getAccessibleContext().setAccessibleDescription(searchInComments.getText());
308
309         add(jPanel3, java.awt.BorderLayout.NORTH);
310
311     }// </editor-fold>//GEN-END:initComponents
312

313     private void searchInCommentsItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_searchInCommentsItemStateChanged
314
// used for change default value for searchInComments check-box.
315
// The value is persisted and then used as default in next IDE run.
316
// Boolean b = evt.getStateChange() == ItemEvent.SELECTED ? Boolean.TRUE : Boolean.FALSE;
317
// RefactoringModule.setOption("searchInComments.whereUsed", b);
318
}//GEN-LAST:event_searchInCommentsItemStateChanged
319

320     private void m_isBaseClassActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_m_isBaseClassActionPerformed
321
parent.stateChanged(null);
322     }//GEN-LAST:event_m_isBaseClassActionPerformed
323

324     private void m_overridersActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_m_overridersActionPerformed
325
parent.stateChanged(null);
326     }//GEN-LAST:event_m_overridersActionPerformed
327

328     private void m_usagesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_m_usagesActionPerformed
329
parent.stateChanged(null);
330     }//GEN-LAST:event_m_usagesActionPerformed
331

332     // Variables declaration - do not modify//GEN-BEGIN:variables
333
private javax.swing.ButtonGroup JavaDoc buttonGroup;
334     private javax.swing.JRadioButton JavaDoc c_directOnly;
335     private javax.swing.JRadioButton JavaDoc c_subclasses;
336     private javax.swing.JRadioButton JavaDoc c_usages;
337     private javax.swing.JPanel JavaDoc classesPanel;
338     private javax.swing.JPanel JavaDoc jPanel1;
339     private javax.swing.JPanel JavaDoc jPanel2;
340     private javax.swing.JPanel JavaDoc jPanel3;
341     private javax.swing.JLabel JavaDoc label;
342     private javax.swing.JCheckBox JavaDoc m_isBaseClass;
343     private javax.swing.JCheckBox JavaDoc m_overriders;
344     private javax.swing.JCheckBox JavaDoc m_usages;
345     private javax.swing.JPanel JavaDoc methodsPanel;
346     private javax.swing.JCheckBox JavaDoc searchInComments;
347     // End of variables declaration//GEN-END:variables
348

349     public boolean isMethodFromBaseClass() {
350         return m_isBaseClass.isSelected();
351     }
352     
353     public boolean isMethodOverriders() {
354         return m_overriders.isSelected();
355     }
356     
357     public boolean isClassSubTypes() {
358         return c_subclasses.isSelected();
359     }
360     
361     public boolean isClassSubTypesDirectOnly() {
362         return c_directOnly.isSelected();
363     }
364     
365     public boolean isMethodFindUsages() {
366         return m_usages.isSelected();
367     }
368     
369     public boolean isClassFindUsages() {
370         return c_usages.isSelected();
371     }
372     
373     public Dimension JavaDoc getPreferredSize() {
374         Dimension JavaDoc orig = super.getPreferredSize();
375         return new Dimension JavaDoc(orig.width + 30 , orig.height + 30);
376     }
377     
378     public boolean isSearchInComments() {
379         return searchInComments.isSelected();
380     }
381     
382     public Component JavaDoc getComponent(){
383         return this;
384     }
385                 
386    
387 }
388
389
Popular Tags