diff --git a/source/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java b/source/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java index 76c2c86c98ab..7afb0a35a1d9 100644 --- a/source/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java +++ b/source/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java @@ -3,28 +3,27 @@ package com.intellij.refactoring.introduceField; import com.intellij.codeInsight.completion.CompletionUtil; import com.intellij.codeInsight.lookup.LookupItem; import com.intellij.codeInsight.lookup.LookupItemPreferencePolicy; +import com.intellij.ide.util.TreeClassChooser; +import com.intellij.ide.util.TreeClassChooserFactory; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.Messages; -import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.util.Pair; import com.intellij.psi.*; -import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.codeStyle.SuggestedNameInfo; import com.intellij.psi.codeStyle.VariableKind; +import com.intellij.psi.search.GlobalSearchScope; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringSettings; import com.intellij.refactoring.ui.*; import com.intellij.refactoring.util.RefactoringMessageUtil; import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.NonFocusableCheckBox; +import com.intellij.ui.ReferenceEditorWithBrowseButton; import com.intellij.ui.StateRestoringCheckBox; -import com.intellij.ide.util.TreeClassChooserDialog; -import com.intellij.ide.util.TreeClassChooser; -import com.intellij.ide.util.TreeClassChooserFactory; import javax.swing.*; import java.awt.*; @@ -56,7 +55,7 @@ class IntroduceConstantDialog extends DialogWrapper { private StateRestoringCheckBox myCbDeleteVariable; private NameSuggestionsManager myNameSuggestionsManager; private final CodeStyleManager myCodeStyleManager; - private TextFieldWithBrowseButton myTfTargetClassName; + private ReferenceEditorWithBrowseButton myTfTargetClassName; private PsiClass myDestinationClass; public IntroduceConstantDialog(Project project, @@ -202,7 +201,7 @@ class IntroduceConstantDialog extends DialogWrapper { panel.add(nameInputPanel, gbConstraints); { - myTfTargetClassName = new TextFieldWithBrowseButton(new ChooseClassAction()); + myTfTargetClassName = new ReferenceEditorWithBrowseButton(new ChooseClassAction(), "", PsiManager.getInstance(myProject)); JPanel _panel = new JPanel(new BorderLayout()); JLabel label = new JLabel("To (fully qualified name):"); label.setLabelFor(myTfTargetClassName); diff --git a/source/com/intellij/refactoring/move/moveMembers/MoveMembersDialog.java b/source/com/intellij/refactoring/move/moveMembers/MoveMembersDialog.java index 33ff7656fb02..8189339d8c57 100644 --- a/source/com/intellij/refactoring/move/moveMembers/MoveMembersDialog.java +++ b/source/com/intellij/refactoring/move/moveMembers/MoveMembersDialog.java @@ -8,7 +8,6 @@ import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; -import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Ref; import com.intellij.psi.*; @@ -24,14 +23,13 @@ import com.intellij.refactoring.util.RefactoringMessageUtil; import com.intellij.refactoring.util.classMembers.MemberInfo; import com.intellij.refactoring.util.classMembers.MemberInfoChange; import com.intellij.refactoring.util.classMembers.UsesAndInterfacesDependencyMemberInfoModel; -import com.intellij.ui.DocumentAdapter; import com.intellij.ui.IdeBorderFactory; +import com.intellij.ui.ReferenceEditorWithBrowseButton; import com.intellij.ui.ScrollPaneFactory; import com.intellij.util.IncorrectOperationException; import javax.swing.*; import javax.swing.border.Border; -import javax.swing.event.DocumentEvent; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -45,7 +43,7 @@ public class MoveMembersDialog extends RefactoringDialog implements MoveMembersO private PsiClass mySourceClass; private String mySourceClassName; private MemberInfo[] myMemberInfos; - private final TextFieldWithBrowseButton myTfTargetClassName; + private final ReferenceEditorWithBrowseButton myTfTargetClassName; private MemberSelectionTable myTable; private Set myPreselectMembers; private final MoveCallback myMoveCallback; @@ -101,13 +99,10 @@ public class MoveMembersDialog extends RefactoringDialog implements MoveMembersO } } myMemberInfos = memberList.toArray(new MemberInfo[memberList.size()]); - myTfTargetClassName = new TextFieldWithBrowseButton(new ChooseClassAction()); + String fqName = initialTargetClass != null && !sourceClass.equals(initialTargetClass) ? initialTargetClass.getQualifiedName() : ""; + myTfTargetClassName = new ReferenceEditorWithBrowseButton(new ChooseClassAction(), fqName, PsiManager.getInstance(myProject)); init(); - - if (initialTargetClass != null && !sourceClass.equals(initialTargetClass)) { - myTfTargetClassName.setText(initialTargetClass.getQualifiedName()); - } } public String getMemberVisibility() { @@ -150,8 +145,8 @@ public class MoveMembersDialog extends RefactoringDialog implements MoveMembersO _panel.add(myTfTargetClassName, BorderLayout.CENTER); box.add(_panel); - myTfTargetClassName.getTextField().getDocument().addDocumentListener(new DocumentAdapter() { - public void textChanged(DocumentEvent event) { + myTfTargetClassName.getEditorTextField().getDocument().addDocumentListener(new com.intellij.openapi.editor.event.DocumentAdapter() { + public void documentChanged(com.intellij.openapi.editor.event.DocumentEvent e) { myMemberInfoModel.updateTargetClass(); } }); @@ -183,7 +178,7 @@ public class MoveMembersDialog extends RefactoringDialog implements MoveMembersO } public JComponent getPreferredFocusedComponent() { - return myTfTargetClassName.getTextField(); + return myTfTargetClassName.getEditorTextField(); } public PsiMember[] getSelectedMembers() { diff --git a/source/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryDialog.java b/source/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryDialog.java index 13cdbc820646..27f3f8205c70 100644 --- a/source/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryDialog.java +++ b/source/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryDialog.java @@ -4,13 +4,13 @@ import com.intellij.ide.util.TreeClassChooser; import com.intellij.ide.util.TreeClassChooserFactory; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringDialog; import com.intellij.refactoring.ui.NameSuggestionsField; import com.intellij.refactoring.util.RefactoringMessageUtil; +import com.intellij.ui.ReferenceEditorWithBrowseButton; import javax.swing.*; import java.awt.*; @@ -23,7 +23,7 @@ import java.util.ArrayList; */ public class ReplaceConstructorWithFactoryDialog extends RefactoringDialog { private NameSuggestionsField myNameField; - private final TextFieldWithBrowseButton myTfTargetClassName; + private final ReferenceEditorWithBrowseButton myTfTargetClassName; private JComboBox myTargetClassNameCombo; private PsiClass myContainingClass; private final PsiMethod myConstructor; @@ -38,7 +38,7 @@ public class ReplaceConstructorWithFactoryDialog extends RefactoringDialog { setTitle(ReplaceConstructorWithFactoryHandler.REFACTORING_NAME); - myTfTargetClassName = new TextFieldWithBrowseButton(new ChooseClassAction()); + myTfTargetClassName = new ReferenceEditorWithBrowseButton(new ChooseClassAction(), "", myConstructor.getManager()); init(); }