001// License: GPL. See LICENSE file for details.
002package org.openstreetmap.josm.gui.preferences.validator;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006import javax.swing.JTabbedPane;
007
008import org.openstreetmap.josm.data.preferences.BooleanProperty;
009import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
010import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
011import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
012import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
013import org.openstreetmap.josm.tools.GBC;
014
015/**
016 * Preference settings for the validator.
017 *
018 * @author frsantos
019 */
020public final class ValidatorPreference extends DefaultTabPreferenceSetting {
021
022    /**
023     * Factory used to create a new {@code ValidatorPreference}.
024     */
025    public static class Factory implements PreferenceSettingFactory {
026        @Override
027        public PreferenceSetting createPreferenceSetting() {
028            return new ValidatorPreference();
029        }
030    }
031
032    private ValidatorPreference() {
033        super("validator", tr("Data validator"),
034                tr("An OSM data validator that checks for common errors made by users and editor programs."),
035                false, new JTabbedPane());
036    }
037
038    /** The preferences prefix */
039    public static final String PREFIX = "validator";
040
041    /** The preferences key for error layer */
042    public static final String PREF_LAYER = PREFIX + ".layer";
043
044    /** The preferences key for enabled tests */
045    public static final String PREF_SKIP_TESTS = PREFIX + ".skip";
046
047    /** The preferences key for enabled tests */
048    public static final String PREF_USE_IGNORE = PREFIX + ".ignore";
049
050    /** The preferences key for enabled tests before upload*/
051    public static final String PREF_SKIP_TESTS_BEFORE_UPLOAD = PREFIX + ".skipBeforeUpload";
052
053    /** The preferences key for ignored severity other on upload */
054    public static final String PREF_OTHER_UPLOAD = PREFIX + ".otherUpload";
055
056    /** The preferences for ignored severity other */
057    public static final BooleanProperty PREF_OTHER = new BooleanProperty(PREFIX + ".other", false);
058
059    /**
060     * The preferences key for enabling the permanent filtering
061     * of the displayed errors in the tree regarding the current selection
062     */
063    public static final String PREF_FILTER_BY_SELECTION = PREFIX + ".selectionFilter";
064
065    @Override
066    public void addGui(PreferenceTabbedPane gui) {
067        gui.createPreferenceTab(this).add(getTabPane(), GBC.eol().fill(GBC.BOTH));
068    }
069
070    @Override
071    public boolean ok() {
072        return false;
073    }
074}