From f4fd613e8285a90da570d00ae3b8c91e4f8cf165 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 23 Mar 2011 19:09:14 +0100 Subject: [PATCH] inplace introduce: correct balloon position after scrolling --- .../introduceField/InplaceIntroduceConstantPopup.java | 2 ++ .../refactoring/introduceField/InplaceIntroduceFieldPopup.java | 2 ++ .../introduceParameter/InplaceIntroduceParameterPopup.java | 2 ++ .../introduceVariable/VariableInplaceIntroducer.java | 3 ++- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java index 2e13cdc49563..987c40445702 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java @@ -24,6 +24,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.RangeMarker; +import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.LanguageLevelProjectExtension; import com.intellij.openapi.util.Computable; @@ -200,6 +201,7 @@ public class InplaceIntroduceConstantPopup { final PsiField field = createFieldToStartTemplateOn(names, defaultType); if (field != null) { myEditor.getCaretModel().moveToOffset(field.getTextOffset()); + myEditor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE); final LinkedHashSet nameSuggestions = new LinkedHashSet(); nameSuggestions.add(field.getName()); nameSuggestions.addAll(Arrays.asList(names)); diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java index dda9a4e4aecf..c5bb407d8646 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java @@ -22,6 +22,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.RangeMarker; +import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; import com.intellij.psi.*; @@ -176,6 +177,7 @@ public class InplaceIntroduceFieldPopup { final PsiField field = createFieldToStartTemplateOn(suggestedNameInfo.names, defaultType); if (field != null) { myEditor.getCaretModel().moveToOffset(field.getTextOffset()); + myEditor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE); final LinkedHashSet nameSuggestions = new LinkedHashSet(); nameSuggestions.add(field.getName()); nameSuggestions.addAll(Arrays.asList(suggestedNameInfo.names)); diff --git a/java/java-impl/src/com/intellij/refactoring/introduceParameter/InplaceIntroduceParameterPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceParameter/InplaceIntroduceParameterPopup.java index 55f269d5c712..a63f7a2a676f 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceParameter/InplaceIntroduceParameterPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceParameter/InplaceIntroduceParameterPopup.java @@ -22,6 +22,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.RangeMarker; +import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.*; import com.intellij.psi.*; @@ -135,6 +136,7 @@ class InplaceIntroduceParameterPopup extends IntroduceParameterSettingsUI { if (parameter != null) { myParameterIndex = myMethod.getParameterList().getParameterIndex(parameter); myEditor.getCaretModel().moveToOffset(parameter.getTextOffset()); + myEditor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE); final LinkedHashSet nameSuggestions = new LinkedHashSet(); nameSuggestions.add(parameter.getName()); nameSuggestions.addAll(Arrays.asList(names)); diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java index 1b83e2b70790..e421ee9c60a4 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java @@ -158,8 +158,9 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { @Override public boolean performInplaceRename(boolean processTextOccurrences, LinkedHashSet nameSuggestions) { + final boolean result = super.performInplaceRename(processTextOccurrences, nameSuggestions); showBalloon(); - return super.performInplaceRename(processTextOccurrences, nameSuggestions); + return result; } public RangeMarker getExprMarker() {