Ignore:
Timestamp:
2010-06-08T21:56:38+02:00 (14 years ago)
Author:
jttt
Message:

Validate tagging presets when they're added in Preferences dialog

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java

    r3248 r3321  
    4343    static private final Logger logger = Logger.getLogger(PreferenceTabbedPane.class.getName());
    4444
     45    /**
     46     * Allows PreferenceSettings to do validation of entered values when ok was pressed. If data are invalid then event can
     47     * return false to cancel closing of preferences dialog
     48     *
     49     */
     50    public interface ValidationListener {
     51        /**
     52         *
     53         * @return True if preferences can be saved
     54         */
     55        boolean validatePreferences();
     56    }
     57
    4558    private final static Collection<PreferenceSettingFactory> settingsFactory = new LinkedList<PreferenceSettingFactory>();
    4659    private final List<PreferenceSetting> settings = new ArrayList<PreferenceSetting>();
     
    5568    public final javax.swing.JTabbedPane displaycontent = new javax.swing.JTabbedPane();
    5669    public final javax.swing.JTabbedPane mapcontent = new javax.swing.JTabbedPane();
     70
     71    List<ValidationListener> validationListeners = new ArrayList<ValidationListener>();
     72
     73    /**
     74     * Add validation listener to currently open preferences dialog. Calling to removeValidationListener is not necessary, all listeners will
     75     * be automatically removed when dialog is closed
     76     * @param validationListener
     77     */
     78    public void addValidationListener(ValidationListener validationListener) {
     79        validationListeners.add(validationListener);
     80    }
    5781
    5882    /**
     
    244268        settingsFactory.add(new MapPaintPreference.Factory());
    245269        settingsFactory.add(new TaggingPresetPreference.Factory());
    246         if(!Main.applet)
     270        if(!Main.applet) {
    247271            settingsFactory.add(new PluginPreference.Factory());
     272        }
    248273        settingsFactory.add(Main.toolbar);
    249274        settingsFactory.add(new AudioPreference.Factory());
Note: See TracChangeset for help on using the changeset viewer.