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 }