diff --git a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties index 4fa8ce045799..075b68241e22 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties +++ b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties @@ -1305,7 +1305,7 @@ negated.conditional.ignore.option=Ignore '!= null' comparisons negated.conditional.invert.quickfix=Invert condition negated.if.else.ignore.option=Ignore '!= null' comparisons negated.if.else.invert.quickfix=Invert If Condition -overly.complex.boolean.expression.overly.option=Maximum number of terms: +overly.complex.boolean.expression.max.terms.option=Maximum number of terms: pointless.boolean.expression.ignore.option=Ignore named constant in determining pointless expressions simplifiable.conditional.expression.problem.descriptor=#ref can be simplified to ''{0}'' #loc simplifiable.if.statement.problem.descriptor=#ref statement can be replaced with ''{0}'' #loc @@ -1407,7 +1407,7 @@ redundant.method.override.problem.descriptor=Method #ref() is ident redundant.method.override.quickfix=Remove redundant method refused.bequest.problem.descriptor=Method #ref() ignores defined method in superclass #loc refused.bequest.ignore.empty.super.methods.option=Ignore empty super methods (degrades performance of this inspection) -overly.complex.boolean.expression.ignore.pure.conjunctions.and.disjunctions.option=Ignore pure conjunctions and disjunctions +overly.complex.boolean.expression.ignore.option=Ignore pure conjunctions and disjunctions pointless.indexof.comparison.display.name=Pointless 'indexOf()' comparison pointless.indexof.comparison.always.true.problem.descriptor=#ref is always true #loc pointless.indexof.comparison.always.false.problem.descriptor=#ref is always false #loc diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.form b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.form deleted file mode 100644 index 9fce1977d546..000000000000 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.form +++ /dev/null @@ -1,48 +0,0 @@ - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.java index ab8224a23d2a..8fe9a0662d3e 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/OverlyComplexBooleanExpressionInspection.java @@ -32,6 +32,7 @@ import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.Document; +import java.awt.*; import java.text.NumberFormat; import java.text.ParseException; import java.util.HashSet; @@ -51,10 +52,6 @@ public class OverlyComplexBooleanExpressionInspection s_booleanOperators.add("|"); } - private JFormattedTextField m_termLimitTextField; - private JCheckBox m_ignoreConjunctionsDisjunctionsCheckBox; - private JPanel m_contentPanel; - /** @noinspection PublicField*/ public int m_limit = 3; @@ -77,21 +74,28 @@ public class OverlyComplexBooleanExpressionInspection @Override public JComponent createOptionsPanel() { - final ButtonModel pureModel = - m_ignoreConjunctionsDisjunctionsCheckBox.getModel(); - pureModel.setSelected(m_ignorePureConjunctionsDisjunctions); - pureModel.addChangeListener(new ChangeListener() { + final JPanel panel = new JPanel(new GridBagLayout()); + final JCheckBox ignoreConjunctionsDisjunctionsCheckBox = + new JCheckBox(InspectionGadgetsBundle.message( + "overly.complex.boolean.expression.ignore.option"), + m_ignorePureConjunctionsDisjunctions); + ignoreConjunctionsDisjunctionsCheckBox.addChangeListener( + new ChangeListener() { - public void stateChanged(ChangeEvent e) { - m_ignorePureConjunctionsDisjunctions = pureModel.isSelected(); - } - }); + public void stateChanged(ChangeEvent e) { + m_ignorePureConjunctionsDisjunctions = + ignoreConjunctionsDisjunctionsCheckBox.isSelected(); + } + } + ); final NumberFormat formatter = NumberFormat.getIntegerInstance(); formatter.setParseIntegerOnly(true); - m_termLimitTextField.setValue(Integer.valueOf(m_limit)); - m_termLimitTextField.setColumns(4); - UIUtil.fixFormattedField(m_termLimitTextField); - final Document document = m_termLimitTextField.getDocument(); + final JFormattedTextField termLimitTextField = + new JFormattedTextField(formatter); + termLimitTextField.setValue(Integer.valueOf(m_limit)); + termLimitTextField.setColumns(2); + UIUtil.fixFormattedField(termLimitTextField); + final Document document = termLimitTextField.getDocument(); document.addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { textChanged(); @@ -107,15 +111,30 @@ public class OverlyComplexBooleanExpressionInspection private void textChanged() { try { - m_termLimitTextField.commitEdit(); - final Number number = (Number)m_termLimitTextField.getValue(); + termLimitTextField.commitEdit(); + final Number number = (Number)termLimitTextField.getValue(); m_limit = number.intValue(); } catch (ParseException e) { // No luck this time } } }); - return m_contentPanel; + final GridBagConstraints constraints = new GridBagConstraints(); + final JLabel label = new JLabel(InspectionGadgetsBundle.message( + "overly.complex.boolean.expression.max.terms.option")); + constraints.anchor = GridBagConstraints.BASELINE_LEADING; + constraints.fill = GridBagConstraints.HORIZONTAL; + panel.add(label, constraints); + constraints.fill = GridBagConstraints.NONE; + constraints.gridx = 1; + panel.add(termLimitTextField, constraints); + constraints.gridx = 0; + constraints.gridy = 1; + constraints.gridwidth = 2; + constraints.weightx = 1.0; + constraints.weighty = 1.0; + panel.add(ignoreConjunctionsDisjunctionsCheckBox, constraints); + return panel; } @Override @@ -263,4 +282,4 @@ public class OverlyComplexBooleanExpressionInspection isPureConjunctionDisJunction(rOperand, operator); } } -} \ No newline at end of file +}