001    // License: GPL. Copyright 2007 by Immanuel Scholz and others
002    package org.openstreetmap.josm.gui.preferences;
003    
004    /**
005     * Preference settings, that display a top level tab.
006     *
007     * This preference setting's addGui method is called after the user clicked the tab.
008     */
009    public interface TabPreferenceSetting extends PreferenceSetting {
010        
011        /**
012         * Called during preferences dialog initialization to display the preferences tab with the returned icon.
013         * @return The icon name in the preferences folder.
014         */
015        public String getIconName();
016    
017        /**
018         * Called during preferences tab initialization to display its title.
019         * @return The title of this preferences tab.
020         */
021        String getTitle();
022        
023        /**
024         * Called during preferences dialog initialization to display the preferences tab with the returned tooltip.
025         * @return The tooltip of this preferences tab.
026         */
027        public String getTooltip();
028    
029        /**
030         * Called during preferences tab initialization to display a description in one sentence for this tab. 
031         * Will be displayedin italic under the title.
032         * @return The description of this preferences tab.
033         */
034        public String getDescription();
035    }