diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.form b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.form deleted file mode 100644 index b938e38e6bf0..000000000000 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.form +++ /dev/null @@ -1,58 +0,0 @@ - -
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java index 8b1f23cdcccb..eea384f0d8b7 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspection.java @@ -15,25 +15,28 @@ */ package com.siyeh.ig.bugs; -import com.intellij.codeInspection.ui.AddAction; import com.intellij.codeInspection.ui.ListTable; import com.intellij.codeInspection.ui.ListWrappingTableModel; -import com.intellij.codeInspection.ui.RemoveAction; +import com.intellij.openapi.actionSystem.ActionToolbar; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.psi.*; import com.intellij.psi.util.InheritanceUtil; +import com.intellij.ui.ScrollPaneFactory; +import com.intellij.util.ui.CheckBox; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.psiutils.LibraryUtil; -import com.siyeh.ig.ui.ToggleAction; +import com.siyeh.ig.ui.UiUtils; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.awt.*; import java.util.*; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -100,8 +103,48 @@ public class IgnoreResultOfCallInspection extends BaseInspection { @Override public JComponent createOptionsPanel(){ - final Form form = new Form(); - return form.getContentPanel(); + final JPanel panel = new JPanel(new GridBagLayout()); + final ListTable table = + new ListTable(new ListWrappingTableModel( + Arrays.asList(classNames, methodNamePatterns), + InspectionGadgetsBundle.message( + "result.of.method.call.ignored.class.column.title"), + InspectionGadgetsBundle.message( + "result.of.method.call.ignored.method.column.title"))); + final JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(table); + final FontMetrics fontMetrics = table.getFontMetrics(table.getFont()); + scrollPane.setPreferredSize( + new Dimension(0, fontMetrics.getHeight() * 7)); + scrollPane.setMinimumSize( + new Dimension(0, fontMetrics.getHeight() * 3)); + + final ActionToolbar toolbar = UiUtils.createAddRemoveToolbar(table); + + final CheckBox checkBox = new CheckBox(InspectionGadgetsBundle.message( + "result.of.method.call.ignored.non.library.option"), this, + "m_reportAllNonLibraryCalls"); + + final GridBagConstraints constraints = new GridBagConstraints(); + constraints.anchor = GridBagConstraints.FIRST_LINE_START; + constraints.gridx = 0; + constraints.gridy = 0; + constraints.insets.left = 4; + constraints.insets.right = 4; + constraints.fill = GridBagConstraints.HORIZONTAL; + panel.add(toolbar.getComponent(), constraints); + + constraints.gridy = 1; + constraints.weightx = 1.0; + constraints.weighty = 1.0; + constraints.fill = GridBagConstraints.BOTH; + panel.add(scrollPane, constraints); + + constraints.gridy = 2; + constraints.weighty = 0.0; + constraints.fill = GridBagConstraints.HORIZONTAL; + panel.add(checkBox, constraints); + panel.add(checkBox, constraints); + return panel; } @Override @@ -188,37 +231,4 @@ public class IgnoreResultOfCallInspection extends BaseInspection { return matcher.matches(); } } - - private class Form{ - - JPanel contentPanel; - JButton addButton; - JButton removeButton; - ListTable table; - JCheckBox nonLibraryCheckbox; - - Form(){ - addButton.setAction(new AddAction(table)); - removeButton.setAction(new RemoveAction(table)); - nonLibraryCheckbox.setAction(new ToggleAction( - InspectionGadgetsBundle.message( - "result.of.method.call.ignored.non.library.option"), - IgnoreResultOfCallInspection.this, - "m_reportAllNonLibraryCalls")); - nonLibraryCheckbox.setSelected(m_reportAllNonLibraryCalls); - } - - private void createUIComponents() { - table = new ListTable(new ListWrappingTableModel( - Arrays.asList(classNames, methodNamePatterns), - InspectionGadgetsBundle.message( - "result.of.method.call.ignored.class.column.title"), - InspectionGadgetsBundle.message( - "result.of.method.call.ignored.method.column.title"))); - } - - public JComponent getContentPanel(){ - return contentPanel; - } - } } \ No newline at end of file