Index: java/editor/src/org/netbeans/modules/editor/java/NbJMIResultItem.java
===================================================================
RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/NbJMIResultItem.java,v
retrieving revision 1.11
diff -u -r1.11 NbJMIResultItem.java
--- java/editor/src/org/netbeans/modules/editor/java/NbJMIResultItem.java 29 Mar 2005 09:33:32 -0000 1.11
+++ java/editor/src/org/netbeans/modules/editor/java/NbJMIResultItem.java 16 Apr 2005 20:41:55 -0000
@@ -7,12 +7,21 @@
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
- * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
+ * Code is Sun Microsystems, Inc. Portions Copyright 1997-2005 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.editor.java;
+import java.awt.Color;
+import java.awt.Component;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.JTextComponent;
+import org.netbeans.api.java.classpath.ClassPath;
import org.netbeans.editor.BaseDocument;
import org.netbeans.editor.Formatter;
import org.netbeans.editor.Utilities;
@@ -21,28 +30,28 @@
import org.netbeans.editor.ext.java.JCExpression;
import org.netbeans.editor.ext.java.JavaCompletion;
import org.netbeans.editor.ext.java.JavaSettingsNames;
-import org.netbeans.jmi.javamodel.*;
+import org.netbeans.jmi.javamodel.AnnotationType;
+import org.netbeans.jmi.javamodel.Attribute;
+import org.netbeans.jmi.javamodel.CallableFeature;
+import org.netbeans.jmi.javamodel.ClassDefinition;
+import org.netbeans.jmi.javamodel.Constructor;
+import org.netbeans.jmi.javamodel.Field;
+import org.netbeans.jmi.javamodel.JavaClass;
+import org.netbeans.jmi.javamodel.JavaEnum;
+import org.netbeans.jmi.javamodel.JavaPackage;
+import org.netbeans.jmi.javamodel.Method;
+import org.netbeans.jmi.javamodel.Parameter;
+import org.netbeans.jmi.javamodel.ParameterizedType;
+import org.netbeans.jmi.javamodel.PrimitiveType;
+import org.netbeans.jmi.javamodel.Type;
import org.netbeans.modules.javacore.internalapi.JavaMetamodel;
import org.openide.filesystems.FileObject;
-
import org.openide.filesystems.FileUtil;
import org.openide.util.RequestProcessor;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import javax.swing.text.BadLocationException;
-import javax.swing.text.JTextComponent;
-
/**
- *
* @author Dusan Balek
*/
-
public abstract class NbJMIResultItem implements CompletionQuery.ResultItem {
protected int selectionStartOffset = -1;
@@ -614,7 +623,15 @@
if (displayFQN) {
FileObject resourceFO = JavaMetamodel.getManager().getFileObject(cls.getResource());
if (resourceFO != null) { // Fix of #57032
- this.fileName = FileUtil.getFileDisplayName(resourceFO);
+ // XXX surely there is an easier way to do this?
+ // #49737: show location of the source (just the root, not full path which is redundant).
+ ClassPath sourcepath = ClassPath.getClassPath(resourceFO, ClassPath.SOURCE);
+ if (sourcepath != null) {
+ FileObject[] roots = sourcepath.getRoots();
+ if (roots.length == 1) {
+ this.fileName = FileUtil.getFileDisplayName(roots[0]);
+ }
+ }
}
}
}
Index: java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.java
===================================================================
RCS file: /cvs/java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.java,v
retrieving revision 1.3
diff -u -r1.3 JavaFastOpenPanel.java
--- java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.java 3 Mar 2005 08:11:56 -0000 1.3
+++ java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.java 16 Apr 2005 20:41:55 -0000
@@ -7,33 +7,43 @@
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
- * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
+ * Code is Sun Microsystems, Inc. Portions Copyright 1997-2005 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.editor.ext.java;
-
import java.awt.Color;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-
+import javax.swing.AbstractAction;
+import javax.swing.ActionMap;
+import javax.swing.InputMap;
+import javax.swing.JComponent;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.KeyStroke;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
import org.netbeans.editor.LocaleSupport;
-
-import javax.swing.*;
+import org.netbeans.editor.ext.CompletionQuery;
/**
* The panel for opening java classes.
*
* @author Miloslav Metelka
- * @version 1.0
*/
-class JavaFastOpenPanel extends javax.swing.JPanel {
+class JavaFastOpenPanel extends JPanel {
private static String CASE_SENSITIVE_SHORTCUT_ACTION = "JFOP_CaseSensitiveShortcutAction"; // NOI18N
private static String INNER_CLASSES_SHORTCUT_ACTION = "JFOP_InnerClassesShortcutAction"; // NOI18N
@@ -50,7 +60,7 @@
getAccessibleContext().setAccessibleDescription(LocaleSupport.getString ("ACSD_JFO")); // NOI18N
expField.getAccessibleContext().setAccessibleDescription(LocaleSupport.getString("ACSD_JFOP_expLabel")); // NOI18N
expField.setPreferredSize(null);
- final javax.swing.JList jl = jfo.getResultList();
+ final JList jl = jfo.getResultList();
listScrollPane.setViewportView(jl);
foundLabel.setLabelFor(jl);
jl.getAccessibleContext().setAccessibleDescription(LocaleSupport.getString("ACSD_JFOP_foundLabel")); // NOI18N
@@ -61,6 +71,18 @@
}
}
});
+ jl.addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ Object o = jl.getSelectedValue();
+ if (o instanceof CompletionQuery.ResultItem) {
+ Component comp = ((CompletionQuery.ResultItem) o).getPaintComponent(jl, true, true);
+ if (comp instanceof JComponent) {
+ // #49737: show location of a class we are opening.
+ locationField.setText(((JComponent) comp).getToolTipText());
+ }
+ }
+ }
+ });
expLabel.setDisplayedMnemonic (LocaleSupport.getString ("JFOP_expLabelMnemonic", "C").charAt (0)); // NOI18N
expLabel.setLabelFor(expField);
@@ -205,7 +227,8 @@
libraryClasses.setSelected(value);
}
- private void initComponents() {//GEN-BEGIN:initComponents
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
queryPanel = new javax.swing.JPanel();
@@ -214,6 +237,8 @@
listPanel = new javax.swing.JPanel();
foundLabel = new javax.swing.JLabel();
listScrollPane = new javax.swing.JScrollPane();
+ locationField = new javax.swing.JTextField();
+ locationLabel = new javax.swing.JLabel();
checkBoxesPanel = new javax.swing.JPanel();
caseSensitive = new javax.swing.JCheckBox();
innerClasses = new javax.swing.JCheckBox();
@@ -225,7 +250,7 @@
queryPanel.setLayout(new java.awt.GridBagLayout());
expLabel.setLabelFor(expField);
- expLabel.setText(LocaleSupport.getString( "JFOP_expLabel", "Class Name:" ));
+ org.openide.awt.Mnemonics.setLocalizedText(expLabel, LocaleSupport.getString( "JFOP_expLabel", "Class Name:" ));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(2, 0, 0, 0);
@@ -246,7 +271,7 @@
listPanel.setLayout(new java.awt.GridBagLayout());
listPanel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(12, 0, 0, 0)));
- foundLabel.setText(LocaleSupport.getString( "JFOP_foundLabel", "Matching Classes:" ));
+ org.openide.awt.Mnemonics.setLocalizedText(foundLabel, LocaleSupport.getString( "JFOP_foundLabel", "Matching Classes:" ));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
@@ -262,26 +287,44 @@
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 2, 0);
listPanel.add(listScrollPane, gridBagConstraints);
+ locationField.setEditable(false);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ listPanel.add(locationField, gridBagConstraints);
+
+ locationLabel.setLabelFor(locationField);
+ org.openide.awt.Mnemonics.setLocalizedText(locationLabel, org.openide.util.NbBundle.getMessage(JavaFastOpenPanel.class, "JFOP_LBL_location"));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.ipadx = 1;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 2, 0);
+ listPanel.add(locationLabel, gridBagConstraints);
+
add(listPanel, java.awt.BorderLayout.CENTER);
checkBoxesPanel.setLayout(new java.awt.GridBagLayout());
checkBoxesPanel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(12, 0, 0, 0)));
- caseSensitive.setText(LocaleSupport.getString("JFOP_caseSensitiveBox", "Case Sensitive"));
+ org.openide.awt.Mnemonics.setLocalizedText(caseSensitive, LocaleSupport.getString("JFOP_caseSensitiveBox", "Case Sensitive"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
checkBoxesPanel.add(caseSensitive, gridBagConstraints);
- innerClasses.setText(LocaleSupport.getString("JFOP_innerClassesBox", "Show Inner Classes"));
+ org.openide.awt.Mnemonics.setLocalizedText(innerClasses, LocaleSupport.getString("JFOP_innerClassesBox", "Show Inner Classes"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
checkBoxesPanel.add(innerClasses, gridBagConstraints);
- libraryClasses.setText(LocaleSupport.getString("JFOP_libraryClassesBox", "Show Non-Project Classes"));
+ org.openide.awt.Mnemonics.setLocalizedText(libraryClasses, LocaleSupport.getString("JFOP_libraryClassesBox", "Show Non-Project Classes"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
@@ -289,9 +332,10 @@
add(checkBoxesPanel, java.awt.BorderLayout.SOUTH);
- }//GEN-END:initComponents
-
-
+ }
+ // //GEN-END:initComponents
+//GEN-FIRST:event_locationFieldActionPerformed
+//GEN-LAST:event_locationFieldActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBox caseSensitive;
@@ -303,6 +347,8 @@
private javax.swing.JCheckBox libraryClasses;
private javax.swing.JPanel listPanel;
private javax.swing.JScrollPane listScrollPane;
+ private javax.swing.JTextField locationField;
+ private javax.swing.JLabel locationLabel;
private javax.swing.JPanel queryPanel;
// End of variables declaration//GEN-END:variables
Index: java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.form
===================================================================
RCS file: /cvs/java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.form,v
retrieving revision 1.2
diff -u -r1.2 JavaFastOpenPanel.form
--- java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.form 12 Jan 2005 07:36:27 -0000 1.2
+++ java/editor/lib/src/org/netbeans/editor/ext/java/JavaFastOpenPanel.form 16 Apr 2005 20:41:55 -0000
@@ -9,6 +9,10 @@
+
+
+
+
@@ -88,12 +92,37 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: java/editor/lib/src/org/netbeans/editor/ext/java/Bundle.properties
===================================================================
RCS file: /cvs/java/editor/lib/src/org/netbeans/editor/ext/java/Bundle.properties,v
retrieving revision 1.3
diff -u -r1.3 Bundle.properties
--- java/editor/lib/src/org/netbeans/editor/ext/java/Bundle.properties 17 Mar 2005 09:42:25 -0000 1.3
+++ java/editor/lib/src/org/netbeans/editor/ext/java/Bundle.properties 16 Apr 2005 20:41:55 -0000
@@ -64,3 +64,5 @@
# JavaSettingsDefaults
macro-debug-var=Debug Identifier
+
+JFOP_LBL_location=&Location\: