From 175d9158af2fce84cdcc7d9578a45852bc8f91bc Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 11 May 2011 14:36:55 +0400 Subject: [PATCH] inplace refactoring balloons with titles --- .../InplaceIntroduceConstantPopup.java | 8 +------ .../InplaceIntroduceFieldPopup.java | 8 +------ .../AbstractInplaceIntroducer.java | 4 ++-- .../InplaceIntroduceParameterPopup.java | 8 +------ .../IntroduceVariableBase.java | 2 +- .../VariableInplaceIntroducer.java | 21 +++++++++++-------- 6 files changed, 18 insertions(+), 33 deletions(-) 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 cc3350a9f84d..ac814659dcc8 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java @@ -132,12 +132,6 @@ public class InplaceIntroduceConstantPopup { myWholePanel = new JPanel(new GridBagLayout()); GridBagConstraints gc = new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0 , 0, 0), 0, 0); - final TitlePanel titlePanel = new TitlePanel(); - titlePanel.setBorder(null); - titlePanel.setText(IntroduceConstantHandler.REFACTORING_NAME); - gc.gridwidth = 2; - myWholePanel.add(titlePanel, gc); - gc.gridwidth = 1; gc.gridy = 1; myWholePanel.add(createLeftPanel(), gc); @@ -388,7 +382,7 @@ public class InplaceIntroduceConstantPopup { myEditor, field, false, myTypeSelectorManager.getTypesForAll().length > 1, myExpr != null && myExpr.isPhysical() ? myEditor.getDocument().createRangeMarker(myExpr.getTextRange()) : null, InplaceIntroduceConstantPopup.this.getOccurrenceMarkers(), - IntroduceConstantHandler.REFACTORING_NAME); + IntroduceConstantHandler.REFACTORING_NAME, IntroduceConstantHandler.REFACTORING_NAME); myDefaultParameterTypePointer = SmartTypePointerManager.getInstance(myProject).createSmartTypePointer(myTypeSelectorManager.getDefaultType()); 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 e66ccc687e4a..acf8d5349d7a 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java @@ -36,7 +36,6 @@ import com.intellij.refactoring.introduceParameter.AbstractInplaceIntroducer; import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer; import com.intellij.refactoring.ui.TypeSelectorManagerImpl; import com.intellij.refactoring.util.occurences.OccurenceManager; -import com.intellij.ui.TitlePanel; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.Nullable; @@ -125,15 +124,10 @@ public class InplaceIntroduceFieldPopup { myWholePanel = new JPanel(new GridBagLayout()); myWholePanel.setBorder(null); - final TitlePanel titlePanel = new TitlePanel(); - titlePanel.setBorder(null); - titlePanel.setText(IntroduceFieldHandler.REFACTORING_NAME); - GridBagConstraints gc = new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,0,0,0), 0, 0); - myWholePanel.add(titlePanel, gc); gc.gridy++; gc.insets.top = 5; @@ -253,7 +247,7 @@ public class InplaceIntroduceFieldPopup { myEditor, psiVariable, false, myTypeSelectorManager.getTypesForAll().length > 1, myInitializerExpression != null && myInitializerExpression.isPhysical() ? myEditor.getDocument().createRangeMarker(myInitializerExpression.getTextRange()) : null, InplaceIntroduceFieldPopup.this.getOccurrenceMarkers(), - IntroduceFieldHandler.REFACTORING_NAME); + IntroduceFieldHandler.REFACTORING_NAME, IntroduceFieldHandler.REFACTORING_NAME); myDefaultParameterTypePointer = SmartTypePointerManager.getInstance(myProject).createSmartTypePointer(myTypeSelectorManager.getDefaultType()); myFieldRangeStart = myEditor.getDocument().createRangeMarker(psiVariable.getTextRange()); diff --git a/java/java-impl/src/com/intellij/refactoring/introduceParameter/AbstractInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceParameter/AbstractInplaceIntroducer.java index 10d3d8886f3b..c5382798e221 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceParameter/AbstractInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceParameter/AbstractInplaceIntroducer.java @@ -57,8 +57,8 @@ public abstract class AbstractInplaceIntroducer extends VariableInplaceIntroduce boolean cantChangeFinalModifier, boolean hasTypeSuggestion, RangeMarker exprMarker, - List occurrenceMarkers, String commandName) { - super(project, expression, editor, elementToRename, cantChangeFinalModifier, hasTypeSuggestion, exprMarker, occurrenceMarkers, commandName); + List occurrenceMarkers, String commandName, String title) { + super(project, expression, editor, elementToRename, cantChangeFinalModifier, hasTypeSuggestion, exprMarker, occurrenceMarkers, commandName, title); } protected abstract boolean isReplaceAllOccurrences(); 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 21e183b22ebe..9761f74e80b1 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceParameter/InplaceIntroduceParameterPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceParameter/InplaceIntroduceParameterPopup.java @@ -111,12 +111,6 @@ class InplaceIntroduceParameterPopup extends IntroduceParameterSettingsUI { final GridBagConstraints gc = new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0); - final TitlePanel titlePanel = new TitlePanel(); - titlePanel.setBorder(null); - titlePanel.setText(IntroduceParameterHandler.REFACTORING_NAME); - gc.gridwidth = 2; - myWholePanel.add(titlePanel, gc); - gc.insets = new Insets(0, 5, 0, 0); gc.gridwidth = 1; gc.fill = GridBagConstraints.NONE; @@ -255,7 +249,7 @@ class InplaceIntroduceParameterPopup extends IntroduceParameterSettingsUI { super(myProject, new TypeExpression(myProject, myTypeSelectorManager.getTypesForAll()), myEditor, parameter, myMustBeFinal, myTypeSelectorManager.getTypesForAll().length > 1, myExprMarker, InplaceIntroduceParameterPopup.this.getOccurrenceMarkers(), - IntroduceParameterHandler.REFACTORING_NAME); + IntroduceParameterHandler.REFACTORING_NAME, IntroduceParameterHandler.REFACTORING_NAME); myDefaultParameterTypePointer = SmartTypePointerManager.getInstance(myProject).createSmartTypePointer(parameter.getType()); } diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java index cf94b6c891e0..6605d527652c 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java @@ -479,7 +479,7 @@ public abstract class IntroduceVariableBase extends IntroduceHandlerBase impleme final boolean cantChangeFinalModifier = (hasWriteAccess || inFinalContext) && choice == OccurrencesChooser.ReplaceChoice.ALL; final VariableInplaceRenamer renamer = new VariableInplaceIntroducer(project, expression, editor, elementToRename, cantChangeFinalModifier, - typeSelectorManager.getTypesForAll().length > 1, exprMarker, occurrenceMarkers, IntroduceVariableBase.REFACTORING_NAME); + typeSelectorManager.getTypesForAll().length > 1, exprMarker, occurrenceMarkers, IntroduceVariableBase.REFACTORING_NAME, IntroduceVariableBase.REFACTORING_NAME); PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(editor.getDocument()); renamer.performInplaceRename(false, new LinkedHashSet(Arrays.asList(suggestedName.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 25400e971588..9394c10aabec 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java @@ -76,6 +76,7 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { protected JCheckBox myCanBeFinalCb; private Balloon myBalloon; + private String myTitle; public VariableInplaceIntroducer(final Project project, final TypeExpression expression, @@ -85,12 +86,14 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { final boolean hasTypeSuggestion, final RangeMarker exprMarker, final List occurrenceMarkers, - final String commandName) { + final String commandName, + final String title) { super(elementToRename, editor); myProject = project; myEditor = editor; myElementToRename = elementToRename; myExpression = expression; + myTitle = title; myExprMarker = exprMarker; myOccurrenceMarkers = occurrenceMarkers; @@ -240,11 +243,6 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { final JPanel panel = new JPanel(new GridBagLayout()); panel.setBorder(null); - final TitlePanel titlePanel = new TitlePanel(); - titlePanel.setBorder(null); - titlePanel.setText(IntroduceVariableBase.REFACTORING_NAME); - panel.add(titlePanel, new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); - if (myCanBeFinalCb != null) { panel.add(myCanBeFinalCb, new GridBagConstraints(0, 1, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0)); } @@ -360,18 +358,23 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { } + protected String getTitle() { + return myTitle; + } + private void showBalloon() { final JComponent component = getComponent(); if (component == null) return; if (ApplicationManager.getApplication().isHeadlessEnvironment()) return; final BalloonBuilder balloonBuilder = JBPopupFactory.getInstance().createBalloonBuilder(component); balloonBuilder.setFadeoutTime(0) - .setFillColor(IdeTooltipManager.GRAPHITE_COLOR.brighter().brighter()) - .setAnimationCycle(0) + .setFillColor(UIManager.getColor("Panel.background")) + .setAnimationCycle(100) .setHideOnClickOutside(false) .setHideOnKeyOutside(false) .setHideOnAction(false) - .setCloseButtonEnabled(true); + .setCloseButtonEnabled(true) + .setTitle(getTitle()); final RelativePoint target = JBPopupFactory.getInstance().guessBestPopupLocation(myEditor); final Point screenPoint = target.getScreenPoint();