001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui;
003
004import javax.swing.Icon;
005
006/**
007 * An interface to provide showing/hiding method for buttons,
008 * when hidden state is stored in preferences
009 */
010interface HideableButton {
011    void applyButtonHiddenPreferences();
012    void setButtonHidden(boolean b);
013    void showButton();
014    void hideButton();
015    String getActionName();
016    Icon getIcon();
017    boolean isButtonVisible();
018    void setShowHideButtonListener(ShowHideButtonListener l);
019}