001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.help;
003
004/**
005 * Help browser super interface.
006 * @since 9644
007 */
008interface IHelpBrowser {
009
010    /**
011     * Replies the current URL.
012     * @return the current URL
013     */
014    String getUrl();
015
016    /**
017     * Sets the current URL.
018     * @param url the current URL
019     * @since 14807
020     */
021    void setUrl(String url);
022
023    /**
024     * Replies the browser history.
025     * @return the browser history
026     */
027    HelpBrowserHistory getHistory();
028
029    /**
030     * Loads and displays the help information for a help topic given
031     * by a relative help topic name, i.e. "/Action/New".
032     *
033     * @param relativeHelpTopic the relative help topic
034     */
035    void openHelpTopic(String relativeHelpTopic);
036
037    /**
038     * Opens an URL and displays the content.
039     *
040     * If the URL is the locator of an absolute help topic, help content is loaded from
041     * the JOSM wiki. Otherwise, the help browser loads the page from the given URL.
042     *
043     * @param url the url
044     */
045    void openUrl(String url);
046}