001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.preferences.display;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006import org.openstreetmap.josm.gui.help.HelpUtil;
007import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
008import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
009import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
010import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
011
012/**
013 * "GPS Points" drawing preferences.
014 */
015public class GPXPreference extends DefaultTabPreferenceSetting {
016
017    /**
018     * Factory used to create a new {@code GPXPreference}.
019     */
020    public static class Factory implements PreferenceSettingFactory {
021        @Override
022        public PreferenceSetting createPreferenceSetting() {
023            return new GPXPreference();
024        }
025    }
026
027    GPXPreference() {
028        super("layer/gpx_small", tr("GPS Points"), tr("Settings that control the drawing of GPS tracks."));
029    }
030
031    private GPXSettingsPanel gpxPanel;
032
033    @Override
034    public void addGui(PreferenceTabbedPane gui) {
035        gpxPanel = new GPXSettingsPanel();
036        gui.addValidationListener(gpxPanel);
037        createPreferenceTabWithScrollPane(gui, gpxPanel);
038    }
039
040    @Override
041    public boolean ok() {
042        return gpxPanel.savePreferences();
043    }
044
045    @Override
046    public boolean isExpert() {
047        return false;
048    }
049
050    @Override
051    public String getHelpContext() {
052        return HelpUtil.ht("/Preferences/GPXPreference");
053    }
054}