mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
Java: show template chooser even when only generating hashCode() method (IDEA-358888)
GitOrigin-RevId: ea75062115e3f0bece21921b795b7ef92058960c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
df62ea6d28
commit
7438be23bf
@@ -180,6 +180,15 @@ public class GenerateEqualsWizard extends AbstractGenerateEqualsWizard<PsiClass,
|
||||
|
||||
public GenerateEqualsWizard(Project project, @NotNull PsiClass aClass, boolean needEquals, boolean needHashCode) {
|
||||
super(project, new JavaGenerateEqualsWizardBuilder(aClass, needEquals, needHashCode));
|
||||
if (needEquals && needHashCode) {
|
||||
setTitle(JavaBundle.message("generate.equals.hashcode.wizard.title"));
|
||||
}
|
||||
else if (needEquals) {
|
||||
setTitle(JavaBundle.message("generate.equals.wizard.title"));
|
||||
}
|
||||
else if (needHashCode) {
|
||||
setTitle(JavaBundle.message("generate.hashcode.wizard.title"));
|
||||
}
|
||||
}
|
||||
|
||||
public PsiField[] getEqualsFields() {
|
||||
@@ -243,8 +252,7 @@ public class GenerateEqualsWizard extends AbstractGenerateEqualsWizard<PsiClass,
|
||||
|
||||
@Override
|
||||
protected void addSteps() {
|
||||
if (myEqualsPanel != null) {
|
||||
addStep(new TemplateChooserStep(myClass, EqualsHashCodeTemplatesManager.getInstance()) {
|
||||
addStep(new TemplateChooserStep(myClass, EqualsHashCodeTemplatesManager.getInstance(), myEqualsPanel != null) {
|
||||
@Override
|
||||
protected void setErrorText(@NlsContexts.DialogMessage @Nullable String errorText, JComponent component) {
|
||||
GenerateEqualsWizard.this.setErrorText(errorText, component);
|
||||
@@ -255,7 +263,6 @@ public class GenerateEqualsWizard extends AbstractGenerateEqualsWizard<PsiClass,
|
||||
return GenerateEqualsWizard.this.isDisposed();
|
||||
}
|
||||
});
|
||||
}
|
||||
super.addSteps();
|
||||
}
|
||||
|
||||
|
||||
@@ -40,9 +40,15 @@ public abstract class TemplateChooserStep extends StepAdapter {
|
||||
private final JComponent myPanel;
|
||||
private final ComboBox<String> myComboBox;
|
||||
private final EqualsHashCodeTemplatesManagerBase myTemplatesManager;
|
||||
private final boolean myShowEqualsOptions;
|
||||
private @Nullable Set<String> myInvalidTemplates = null;
|
||||
|
||||
protected TemplateChooserStep(PsiElement contextElement, EqualsHashCodeTemplatesManagerBase templatesManager) {
|
||||
this(contextElement, templatesManager, true);
|
||||
}
|
||||
|
||||
protected TemplateChooserStep(PsiElement contextElement, EqualsHashCodeTemplatesManagerBase templatesManager, boolean showEqualsOptions) {
|
||||
myShowEqualsOptions = showEqualsOptions;
|
||||
myPanel = new JPanel(new VerticalFlowLayout());
|
||||
final JPanel templateChooserPanel = new JPanel(new BorderLayout());
|
||||
final JLabel templateChooserLabel = new JLabel(JavaBundle.message("generate.equals.hashcode.template"));
|
||||
@@ -129,6 +135,7 @@ public abstract class TemplateChooserStep extends StepAdapter {
|
||||
boolean useInstanceof = CodeInsightSettings.getInstance().USE_INSTANCEOF_ON_EQUALS_PARAMETER;
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
|
||||
if (myShowEqualsOptions) {
|
||||
JLabel label = new JLabel(JavaBundle.message("generate.equals.hashcode.type.comparison.label"));
|
||||
label.setBorder(JBUI.Borders.emptyTop(UIUtil.LARGE_VGAP));
|
||||
panel.add(label);
|
||||
@@ -149,6 +156,7 @@ public abstract class TemplateChooserStep extends StepAdapter {
|
||||
stepPanel.add(panel);
|
||||
stepPanel.add(instanceofButton);
|
||||
stepPanel.add(getClassButton);
|
||||
}
|
||||
|
||||
final JCheckBox gettersCheckbox = createUseGettersInsteadOfFieldsCheckbox();
|
||||
if (gettersCheckbox != null) {
|
||||
|
||||
@@ -296,6 +296,8 @@ generate.equals.hashcode.template=&Template:
|
||||
generate.equals.hashcode.use.getters=Use &getters when available
|
||||
generate.equals.hashcode.warning.hashcode.for.arrays.is.not.supported=hashCode() for arrays is not supported
|
||||
generate.equals.hashcode.wizard.title=Generate equals() and hashCode()
|
||||
generate.equals.wizard.title=Generate equals()
|
||||
generate.hashcode.wizard.title=Generate hashCode()
|
||||
generate.equals.template.title=Equals Template:
|
||||
generate.equals.warning.equals.for.nested.arrays.not.supported=equals() for nested arrays is not supported
|
||||
generate.equals.warning.generated.equals.could.be.incorrect=Generated equals() for Object[] can be incorrect
|
||||
|
||||
Reference in New Issue
Block a user