From e78577f9afaac01eb17a4be05ec6547d82dc7bb8 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Tue, 6 Sep 2011 18:49:53 +0400 Subject: [PATCH] extract reusable code --- .../ui/MultipleCheckboxOptionsPanel.java | 16 ++++++-- .../ui/SingleIntegerFieldOptionsPanel.java | 39 +++++++++++-------- 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/platform/lang-api/src/com/intellij/codeInspection/ui/MultipleCheckboxOptionsPanel.java b/platform/lang-api/src/com/intellij/codeInspection/ui/MultipleCheckboxOptionsPanel.java index 23bf4c008d01..30f2419a9569 100644 --- a/platform/lang-api/src/com/intellij/codeInspection/ui/MultipleCheckboxOptionsPanel.java +++ b/platform/lang-api/src/com/intellij/codeInspection/ui/MultipleCheckboxOptionsPanel.java @@ -37,10 +37,7 @@ public class MultipleCheckboxOptionsPanel extends JPanel { @NonNls String property) { final boolean selected = getPropertyValue(owner, property); final JCheckBox checkBox = new JCheckBox(label, selected); - final ButtonModel model = checkBox.getModel(); - final CheckboxChangeListener changeListener - = new CheckboxChangeListener(owner, property, model); - model.addChangeListener(changeListener); + configureCheckbox(owner, property, checkBox); final GridBagConstraints constraints = new GridBagConstraints(); constraints.anchor = GridBagConstraints.FIRST_LINE_START; constraints.gridx = 0; @@ -57,6 +54,17 @@ public class MultipleCheckboxOptionsPanel extends JPanel { add(checkBox, constraints); } + private static void configureCheckbox(InspectionProfileEntry owner, String property, JCheckBox checkBox) { + final ButtonModel model = checkBox.getModel(); + final CheckboxChangeListener changeListener = new CheckboxChangeListener(owner, property, model); + model.addChangeListener(changeListener); + } + + public static void initAndConfigureCheckbox(InspectionProfileEntry owner, String property, JCheckBox checkBox) { + checkBox.setSelected(getPropertyValue(owner, property)); + configureCheckbox(owner, property, checkBox); + } + private static boolean getPropertyValue(InspectionProfileEntry owner, String property) { try { diff --git a/platform/lang-api/src/com/intellij/codeInspection/ui/SingleIntegerFieldOptionsPanel.java b/platform/lang-api/src/com/intellij/codeInspection/ui/SingleIntegerFieldOptionsPanel.java index 9cab01244859..8738a52f7ae9 100644 --- a/platform/lang-api/src/com/intellij/codeInspection/ui/SingleIntegerFieldOptionsPanel.java +++ b/platform/lang-api/src/com/intellij/codeInspection/ui/SingleIntegerFieldOptionsPanel.java @@ -43,6 +43,28 @@ public class SingleIntegerFieldOptionsPanel extends JPanel { int integerFieldColumns) { super(new GridBagLayout()); final JLabel label = new JLabel(labelString); + final JFormattedTextField valueField = createIntegerFieldTrackingValue(owner, property, integerFieldColumns); + final GridBagConstraints constraints = new GridBagConstraints(); + constraints.gridx = 0; + constraints.gridy = 0; + constraints.insets.left = 4; + constraints.insets.top = 4; + constraints.weightx = 0.0; + constraints.anchor = GridBagConstraints.BASELINE_LEADING; + constraints.fill = GridBagConstraints.NONE; + add(label, constraints); + constraints.gridx = 1; + constraints.gridy = 0; + constraints.weightx = 1.0; + constraints.weighty = 1.0; + constraints.anchor = GridBagConstraints.BASELINE_LEADING; + constraints.fill = GridBagConstraints.NONE; + add(valueField, constraints); + } + + public static JFormattedTextField createIntegerFieldTrackingValue(final InspectionProfileEntry owner, + final String property, + int integerFieldColumns) { final NumberFormat formatter = NumberFormat.getIntegerInstance(); formatter.setParseIntegerOnly(true); final JFormattedTextField valueField = @@ -61,22 +83,7 @@ public class SingleIntegerFieldOptionsPanel extends JPanel { } } }); - final GridBagConstraints constraints = new GridBagConstraints(); - constraints.gridx = 0; - constraints.gridy = 0; - constraints.insets.left = 4; - constraints.insets.top = 4; - constraints.weightx = 0.0; - constraints.anchor = GridBagConstraints.BASELINE_LEADING; - constraints.fill = GridBagConstraints.NONE; - add(label, constraints); - constraints.gridx = 1; - constraints.gridy = 0; - constraints.weightx = 1.0; - constraints.weighty = 1.0; - constraints.anchor = GridBagConstraints.BASELINE_LEADING; - constraints.fill = GridBagConstraints.NONE; - add(valueField, constraints); + return valueField; } private static void setPropertyValue(InspectionProfileEntry owner,