[inspections] Use OptPane

GitOrigin-RevId: f93b9c7e714b5e8509c0060eacb75f16df9d56cb
This commit is contained in:
Tagir Valeev
2022-12-13 18:59:13 +00:00
committed by intellij-monorepo-bot
parent f01a64f460
commit bb5468b39e
4 changed files with 32 additions and 78 deletions
@@ -15,13 +15,13 @@
*/
package com.siyeh.ig.methodmetrics;
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
import com.intellij.codeInspection.options.OptPane;
import com.intellij.psi.PsiMethod;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspectionVisitor;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import static com.intellij.codeInspection.options.OptPane.*;
public class MethodCouplingInspection extends MethodMetricInspection {
@@ -59,18 +59,12 @@ public class MethodCouplingInspection extends MethodMetricInspection {
}
@Override
public JComponent createOptionsPanel() {
final MultipleCheckboxOptionsPanel panel = new MultipleCheckboxOptionsPanel(this);
final String configurationLabel = getConfigurationLabel();
final JLabel label = new JLabel(configurationLabel);
final JFormattedTextField valueField = prepareNumberEditor("m_limit");
panel.addRow(label, valueField);
panel.addCheckbox(InspectionGadgetsBundle.message("include.java.system.classes.option"), "m_includeJavaClasses");
panel.addCheckbox(InspectionGadgetsBundle.message("include.library.classes.option"), "m_includeLibraryClasses");
return panel;
public @NotNull OptPane getOptionsPane() {
return pane(
number("m_limit", getConfigurationLabel(), 1, 1000),
checkbox("m_includeJavaClasses", InspectionGadgetsBundle.message("include.java.system.classes.option")),
checkbox("m_includeLibraryClasses", InspectionGadgetsBundle.message("include.library.classes.option"))
);
}
@Override
@@ -15,7 +15,7 @@
*/
package com.siyeh.ig.methodmetrics;
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
import com.intellij.codeInspection.options.OptPane;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiStatement;
import com.intellij.psi.PsiType;
@@ -25,7 +25,7 @@ import com.siyeh.ig.psiutils.ControlFlowUtils;
import com.siyeh.ig.psiutils.MethodUtils;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import static com.intellij.codeInspection.options.OptPane.*;
public class MultipleReturnPointsPerMethodInspection
extends MethodMetricInspection {
@@ -62,18 +62,12 @@ public class MultipleReturnPointsPerMethodInspection
}
@Override
public JComponent createOptionsPanel() {
final MultipleCheckboxOptionsPanel panel = new MultipleCheckboxOptionsPanel(this);
final JLabel label = new JLabel(InspectionGadgetsBundle.message(
"return.point.limit.option"));
final JFormattedTextField termLimitTextField =
prepareNumberEditor("m_limit");
panel.addRow(label, termLimitTextField);
panel.addCheckbox(InspectionGadgetsBundle.message("ignore.guard.clauses.option"), "ignoreGuardClauses");
panel.addCheckbox(InspectionGadgetsBundle.message("ignore.for.equals.methods.option"), "ignoreEqualsMethod");
return panel;
public @NotNull OptPane getOptionsPane() {
return pane(
number("m_limit", InspectionGadgetsBundle.message("return.point.limit.option"), 1, 100),
checkbox("ignoreGuardClauses", InspectionGadgetsBundle.message("ignore.guard.clauses.option")),
checkbox("ignoreEqualsMethod", InspectionGadgetsBundle.message("ignore.for.equals.methods.option"))
);
}
@Override
@@ -15,7 +15,7 @@
*/
package com.siyeh.ig.controlflow;
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
import com.intellij.codeInspection.options.OptPane;
import com.intellij.psi.*;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.TokenSet;
@@ -27,10 +27,9 @@ import com.siyeh.ig.fixes.ExtractMethodFix;
import com.siyeh.ig.psiutils.ExpressionUtils;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import static com.intellij.codeInspection.options.OptPane.*;
public class OverlyComplexBooleanExpressionInspection extends BaseInspection {
private static final TokenSet s_booleanOperators =
@@ -58,16 +57,11 @@ public class OverlyComplexBooleanExpressionInspection extends BaseInspection {
}
@Override
public JComponent createOptionsPanel() {
final MultipleCheckboxOptionsPanel panel = new MultipleCheckboxOptionsPanel(this);
final JLabel label = new JLabel(InspectionGadgetsBundle.message("overly.complex.boolean.expression.max.terms.option"));
final JFormattedTextField termLimitTextField = prepareNumberEditor("m_limit");
panel.addRow(label, termLimitTextField);
panel.addCheckbox(InspectionGadgetsBundle.message("overly.complex.boolean.expression.ignore.option"), "m_ignorePureConjunctionsDisjunctions");
return panel;
public @NotNull OptPane getOptionsPane() {
return pane(
number("m_limit", InspectionGadgetsBundle.message("overly.complex.boolean.expression.max.terms.option"), 2, 100),
checkbox("m_ignorePureConjunctionsDisjunctions", InspectionGadgetsBundle.message("overly.complex.boolean.expression.ignore.option"))
);
}
@Override
@@ -9,7 +9,7 @@ import com.intellij.codeInspection.EnhancedSwitchMigrationInspection;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.codeInspection.ProblemHighlightType;
import com.intellij.codeInspection.dataFlow.NullabilityUtil;
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
import com.intellij.codeInspection.options.OptPane;
import com.intellij.codeInspection.util.IntentionFamilyName;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.WriteExternalException;
@@ -22,7 +22,6 @@ import com.intellij.psi.util.JavaPsiPatternUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.TypeConversionUtil;
import com.intellij.ui.DocumentAdapter;
import com.intellij.util.containers.ContainerUtil;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
@@ -35,11 +34,6 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.text.Document;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -76,35 +70,13 @@ public class IfCanBeSwitchInspection extends BaseInspection {
}
@Override
public JComponent createOptionsPanel() {
final MultipleCheckboxOptionsPanel panel = new MultipleCheckboxOptionsPanel(this);
final JLabel label = new JLabel(InspectionGadgetsBundle.message("if.can.be.switch.minimum.branch.option"));
final NumberFormat formatter = NumberFormat.getIntegerInstance();
formatter.setParseIntegerOnly(true);
final JFormattedTextField valueField = new JFormattedTextField(formatter);
valueField.setValue(Integer.valueOf(minimumBranches));
valueField.setColumns(2);
final Document document = valueField.getDocument();
document.addDocumentListener(new DocumentAdapter() {
@Override
public void textChanged(@NotNull DocumentEvent e) {
try {
valueField.commitEdit();
minimumBranches =
((Number)valueField.getValue()).intValue();
}
catch (ParseException ignore) {
// No luck this time
}
}
});
panel.addRow(label, valueField);
panel.addCheckbox(InspectionGadgetsBundle.message("if.can.be.switch.int.option"), "suggestIntSwitches");
panel.addCheckbox(InspectionGadgetsBundle.message("if.can.be.switch.enum.option"), "suggestEnumSwitches");
panel.addCheckbox(InspectionGadgetsBundle.message("if.can.be.switch.null.safe.option"), "onlySuggestNullSafe");
return panel;
public @NotNull OptPane getOptionsPane() {
return OptPane.pane(
OptPane.number("minimumBranches", InspectionGadgetsBundle.message("if.can.be.switch.minimum.branch.option"), 1, 100),
OptPane.checkbox("suggestIntSwitches", InspectionGadgetsBundle.message("if.can.be.switch.int.option")),
OptPane.checkbox("suggestEnumSwitches", InspectionGadgetsBundle.message("if.can.be.switch.enum.option")),
OptPane.checkbox("onlySuggestNullSafe", InspectionGadgetsBundle.message("if.can.be.switch.null.safe.option"))
);
}
public void setOnlySuggestNullSafe(boolean onlySuggestNullSafe) {