Skip to content

Commit

Permalink
replace inline dialog impl
Browse files Browse the repository at this point in the history
  • Loading branch information
VISTALL committed Sep 15, 2024
1 parent eb9b982 commit 1ff4cdd
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,13 @@
import com.intellij.java.language.psi.PsiSubstitutor;
import com.intellij.java.language.psi.util.PsiFormatUtil;
import consulo.application.HelpManager;
import consulo.language.editor.refactoring.RefactoringBundle;
import consulo.language.editor.refactoring.inline.InlineOptionsWithSearchSettingsDialog;
import consulo.language.editor.refactoring.localize.RefactoringLocalize;
import consulo.localize.LocalizeValue;
import consulo.project.Project;
import consulo.language.editor.refactoring.RefactoringBundle;
import consulo.ide.impl.idea.refactoring.inline.InlineOptionsWithSearchSettingsDialog;

import javax.annotation.Nonnull;

public class InlineFieldDialog extends InlineOptionsWithSearchSettingsDialog {
public static final String REFACTORING_NAME = RefactoringBundle.message("inline.field.title");
Expand All @@ -45,24 +48,33 @@ public InlineFieldDialog(Project project, PsiField field, PsiReferenceExpression
init();
}

protected String getNameLabelText() {
@Nonnull
@Override
protected LocalizeValue getNameLabelText() {
String fieldText = PsiFormatUtil.formatVariable(myField, PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_TYPE, PsiSubstitutor.EMPTY);
return RefactoringLocalize.inlineFieldFieldNameLabel(fieldText).get();
return RefactoringLocalize.inlineFieldFieldNameLabel(fieldText);
}

protected String getBorderTitle() {
return RefactoringLocalize.inlineFieldBorderTitle().get();
@Nonnull
@Override
protected LocalizeValue getBorderTitle() {
return RefactoringLocalize.inlineFieldBorderTitle();
}

protected String getInlineThisText() {
return RefactoringLocalize.thisReferenceOnlyAndKeepTheField().get();
@Nonnull
@Override
protected LocalizeValue getInlineThisText() {
return RefactoringLocalize.thisReferenceOnlyAndKeepTheField();
}

protected String getInlineAllText() {
@Nonnull
@Override
protected LocalizeValue getInlineAllText() {
final String occurrencesString = myOccurrencesNumber > -1 ? " (" + myOccurrencesNumber + " occurrence" + (myOccurrencesNumber == 1 ? ")" : "s)") : "";
return RefactoringLocalize.allReferencesAndRemoveTheField() + occurrencesString;
return LocalizeValue.join(RefactoringLocalize.allReferencesAndRemoveTheField(), LocalizeValue.localizeTODO(occurrencesString));
}

@Override
protected boolean isInlineThis() {
return JavaRefactoringSettings.getInstance().INLINE_FIELD_THIS;
}
Expand All @@ -87,6 +99,7 @@ protected void saveSearchInTextOccurrences(boolean searchInTextOccurrences) {
JavaRefactoringSettings.getInstance().RENAME_SEARCH_FOR_TEXT_FOR_FIELD = searchInTextOccurrences;
}

@Override
protected void doAction() {
super.doAction();
invokeRefactoring(
Expand All @@ -98,6 +111,7 @@ protected void doAction() {
}
}

@Override
protected void doHelpAction() {
HelpManager.getInstance().invokeHelp(HelpID.INLINE_FIELD);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,13 @@
import com.intellij.java.language.psi.util.PsiFormatUtil;
import consulo.application.HelpManager;
import consulo.codeEditor.Editor;
import consulo.language.editor.refactoring.RefactoringBundle;
import consulo.language.editor.refactoring.inline.InlineOptionsWithSearchSettingsDialog;
import consulo.language.editor.refactoring.localize.RefactoringLocalize;
import consulo.localize.LocalizeValue;
import consulo.project.Project;
import consulo.language.editor.refactoring.RefactoringBundle;
import consulo.ide.impl.idea.refactoring.inline.InlineOptionsWithSearchSettingsDialog;

import javax.annotation.Nonnull;

public class InlineMethodDialog extends InlineOptionsWithSearchSettingsDialog {
public static final String REFACTORING_NAME = RefactoringBundle.message("inline.method.title");
Expand All @@ -52,29 +55,37 @@ public InlineMethodDialog(Project project, PsiMethod method, PsiJavaCodeReferenc
init();
}

protected String getNameLabelText() {
@Nonnull
@Override
protected LocalizeValue getNameLabelText() {
String methodText = PsiFormatUtil.formatMethod(myMethod,
PsiSubstitutor.EMPTY, PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_PARAMETERS, PsiFormatUtil.SHOW_TYPE);
return RefactoringLocalize.inlineMethodMethodLabel(methodText).get();
return RefactoringLocalize.inlineMethodMethodLabel(methodText);
}

protected String getBorderTitle() {
return RefactoringLocalize.inlineMethodBorderTitle().get();
@Nonnull
@Override
protected LocalizeValue getBorderTitle() {
return RefactoringLocalize.inlineMethodBorderTitle();
}

protected String getInlineThisText() {
return RefactoringLocalize.thisInvocationOnlyAndKeepTheMethod().get();
@Nonnull
@Override
protected LocalizeValue getInlineThisText() {
return RefactoringLocalize.thisInvocationOnlyAndKeepTheMethod();
}

protected String getInlineAllText() {
@Nonnull
@Override
protected LocalizeValue getInlineAllText() {
final String occurrencesString = myOccurrencesNumber > -1 ? " (" + myOccurrencesNumber + " occurrence" + (myOccurrencesNumber == 1 ? ")" : "s)") : "";
return (
myMethod.isWritable()
? RefactoringLocalize.allInvocationsAndRemoveTheMethod().get()
: RefactoringLocalize.allInvocationsInProject().get()
) + occurrencesString;
LocalizeValue prefix = myMethod.isWritable()
? RefactoringLocalize.allInvocationsAndRemoveTheMethod()
: RefactoringLocalize.allInvocationsInProject();
return LocalizeValue.join(prefix, LocalizeValue.localizeTODO(occurrencesString));
}

@Override
protected void doAction() {
super.doAction();
invokeRefactoring(
Expand All @@ -86,15 +97,18 @@ protected void doAction() {
}
}

@Override
protected void doHelpAction() {
if (myMethod.isConstructor()) HelpManager.getInstance().invokeHelp(HelpID.INLINE_CONSTRUCTOR);
else HelpManager.getInstance().invokeHelp(HelpID.INLINE_METHOD);
}

@Override
protected boolean canInlineThisOnly() {
return InlineMethodHandler.checkRecursive(myMethod) || myAllowInlineThisOnly;
}

@Override
protected boolean isInlineThis() {
return JavaRefactoringSettings.getInstance().INLINE_METHOD_THIS;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@
import com.intellij.java.language.psi.PsiClass;
import com.intellij.java.language.psi.util.PsiFormatUtil;
import consulo.application.HelpManager;
import consulo.language.editor.refactoring.inline.InlineOptionsWithSearchSettingsDialog;
import consulo.language.editor.refactoring.localize.RefactoringLocalize;
import consulo.localize.LocalizeValue;
import consulo.project.Project;
import consulo.ide.impl.idea.refactoring.inline.InlineOptionsWithSearchSettingsDialog;

import javax.annotation.Nonnull;

/**
* @author yole
Expand All @@ -41,23 +44,32 @@ protected InlineToAnonymousClassDialog(Project project, PsiClass psiClass, final
init();
}

protected String getNameLabelText() {
@Nonnull
@Override
protected LocalizeValue getNameLabelText() {
String className = PsiFormatUtil.formatClass(myClass, PsiFormatUtil.SHOW_NAME);
return RefactoringLocalize.inlineToAnonymousNameLabel(className).get();
return RefactoringLocalize.inlineToAnonymousNameLabel(className);
}

protected String getBorderTitle() {
return RefactoringLocalize.inlineToAnonymousBorderTitle().get();
@Nonnull
@Override
protected LocalizeValue getBorderTitle() {
return RefactoringLocalize.inlineToAnonymousBorderTitle();
}

protected String getInlineAllText() {
return RefactoringLocalize.allReferencesAndRemoveTheClass().get();
@Nonnull
@Override
protected LocalizeValue getInlineAllText() {
return RefactoringLocalize.allReferencesAndRemoveTheClass();
}

protected String getInlineThisText() {
return RefactoringLocalize.thisReferenceOnlyAndKeepTheClass().get();
@Nonnull
@Override
protected LocalizeValue getInlineThisText() {
return RefactoringLocalize.thisReferenceOnlyAndKeepTheClass();
}

@Override
protected boolean isInlineThis() {
return false;
}
Expand All @@ -72,6 +84,7 @@ protected boolean isSearchForTextOccurrences() {
return JavaRefactoringSettings.getInstance().INLINE_CLASS_SEARCH_IN_NON_JAVA;
}

@Override
protected void doAction() {
super.doAction();
invokeRefactoring(new InlineToAnonymousClassProcessor(getProject(), myClass, myCallToInline, isInlineThisOnly(),
Expand All @@ -88,6 +101,7 @@ protected void saveSearchInTextOccurrences(boolean searchInTextOccurrences) {
JavaRefactoringSettings.getInstance().INLINE_CLASS_SEARCH_IN_NON_JAVA = searchInTextOccurrences;
}

@Override
protected void doHelpAction() {
HelpManager.getInstance().invokeHelp(HelpID.INLINE_CLASS);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@

import com.intellij.java.impl.refactoring.JavaRefactoringSettings;
import com.intellij.java.language.psi.PsiClass;
import consulo.ide.impl.idea.refactoring.inline.InlineOptionsDialog;
import consulo.ide.impl.idea.refactoring.ui.DocCommentPanel;
import consulo.language.editor.refactoring.RefactoringBundle;
import consulo.language.editor.refactoring.inline.InlineOptionsDialog;
import consulo.language.editor.refactoring.localize.RefactoringLocalize;
import consulo.localize.LocalizeValue;
import consulo.project.Project;
import consulo.ui.ex.awt.IdeBorderFactory;
import consulo.ui.ex.awt.JBUI;
import consulo.util.lang.StringUtil;

import jakarta.annotation.Nonnull;

import javax.swing.*;
import java.awt.*;
import java.util.function.Function;

public class InlineSuperClassRefactoringDialog extends InlineOptionsDialog {
private final PsiClass mySuperClass;
Expand All @@ -53,6 +53,7 @@ protected InlineSuperClassRefactoringDialog(@Nonnull Project project, PsiClass s
setTitle(InlineSuperClassRefactoringHandler.REFACTORING_NAME);
}

@Override
protected void doAction() {
JavaRefactoringSettings settings = JavaRefactoringSettings.getInstance();
if (myRbInlineThisOnly.isEnabled() && myRbInlineAll.isEnabled()) {
Expand All @@ -66,22 +67,19 @@ protected JComponent createNorthPanel() {
return null;
}

@Override
protected JComponent createCenterPanel() {
final JLabel label = new JLabel("<html>Super class \'" +
mySuperClass.getQualifiedName() +
"\' inheritors: " +
(myTargetClasses.length > 1 ? " <br>&nbsp;&nbsp;&nbsp;\'" : "\'") +
StringUtil.join(myTargetClasses, new Function<PsiClass, String>() {
public String apply(final PsiClass psiClass) {
return psiClass.getQualifiedName();
}
}, "\',<br>&nbsp;&nbsp;&nbsp;\'") +
StringUtil.join(myTargetClasses, PsiClass::getQualifiedName, "\',<br>&nbsp;&nbsp;&nbsp;\'") +
"\'</html>");
label.setBorder(IdeBorderFactory.createEmptyBorder(5, 5, 5, 5));
final JPanel panel = new JPanel(new GridBagLayout());
final GridBagConstraints gc =
new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL,
new Insets(0, 0, 0, 0), 0, 0);
JBUI.emptyInsets(), 0, 0);
panel.add(myDocPanel, gc);
panel.add(label, gc);
gc.weighty = 1;
Expand All @@ -90,24 +88,28 @@ public String apply(final PsiClass psiClass) {
return panel;
}

@Nonnull
@Override
protected String getNameLabelText() {
return "Class " + mySuperClass.getQualifiedName();
protected LocalizeValue getNameLabelText() {
return LocalizeValue.join(LocalizeValue.localizeTODO("Class "), LocalizeValue.of(mySuperClass.getQualifiedName()));
}

@Nonnull
@Override
protected String getBorderTitle() {
return "Inline";
protected LocalizeValue getBorderTitle() {
return RefactoringLocalize.inlineMethodBorderTitle();
}

@Nonnull
@Override
protected String getInlineAllText() {
return RefactoringLocalize.allReferencesAndRemoveSuperClass().get();
protected LocalizeValue getInlineAllText() {
return RefactoringLocalize.allReferencesAndRemoveSuperClass();
}

@Nonnull
@Override
protected String getInlineThisText() {
return RefactoringLocalize.thisReferenceOnlyAndKeepSuperClass().get();
protected LocalizeValue getInlineThisText() {
return RefactoringLocalize.thisReferenceOnlyAndKeepSuperClass();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import consulo.language.editor.refactoring.move.MoveHandlerDelegate;
import consulo.language.editor.refactoring.move.fileOrDirectory.MoveFilesOrDirectoriesUtil;
import consulo.language.editor.refactoring.util.CommonRefactoringUtil;
import consulo.language.editor.ui.RadioUpDownListener;
import consulo.language.editor.ui.awt.RadioUpDownListener;
import consulo.language.psi.PsiDirectory;
import consulo.language.psi.PsiElement;
import consulo.language.psi.PsiFile;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,16 @@
import consulo.language.editor.refactoring.localize.RefactoringLocalize;
import consulo.language.editor.refactoring.move.MoveCallback;
import consulo.language.editor.refactoring.move.MoveHandlerDelegate;
import consulo.language.editor.ui.RadioUpDownListener;
import consulo.language.psi.PsiElement;
import consulo.language.psi.PsiReference;
import consulo.project.Project;
import consulo.ui.Label;
import consulo.ui.RadioButton;
import consulo.ui.ValueGroup;
import consulo.ui.ex.awt.DialogWrapper;
import consulo.ui.ex.awtUnsafe.TargetAWT;
import consulo.ui.layout.LabeledLayout;
import consulo.ui.layout.VerticalLayout;
import consulo.ui.util.RadioUpDownListener;
import jakarta.annotation.Nullable;

import javax.swing.*;
Expand Down Expand Up @@ -122,7 +121,7 @@ protected JComponent createCenterPanel() {
group.add(myRbMoveInner);
group.add(myRbMoveMembers);

new RadioUpDownListener((JRadioButton) TargetAWT.to(myRbMoveInner), (JRadioButton) TargetAWT.to(myRbMoveMembers));
RadioUpDownListener.registerListener(myRbMoveInner, myRbMoveMembers);

VerticalLayout layout = VerticalLayout.create();
layout.add(myRbMoveInner);
Expand Down

0 comments on commit 1ff4cdd

Please sign in to comment.