001 // License: GPL. Copyright 2007 by Immanuel Scholz and others
002 package org.openstreetmap.josm.gui;
003
004 import javax.swing.Icon;
005
006 /**
007 * An interface to provide showing/hiding method for buttons,
008 * when hidden state is stored in preferences
009 */
010 interface 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 }