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 013 void setButtonHidden(boolean b); 014 015 void showButton(); 016 017 void hideButton(); 018 019 String getActionName(); 020 021 Icon getIcon(); 022 023 boolean isButtonVisible(); 024 025 void setShowHideButtonListener(ShowHideButtonListener l); 026}