Changeset 4609 in josm for trunk/src/org/openstreetmap/josm/gui/IconToggleButton.java
- Timestamp:
- 2011-11-26T16:52:05+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/IconToggleButton.java
r3451 r4609 7 7 import java.beans.PropertyChangeListener; 8 8 9 import javax.swing.AbstractAction; 9 10 import javax.swing.Action; 11 import javax.swing.Icon; 10 12 import javax.swing.JToggleButton; 11 13 14 import org.openstreetmap.josm.Main; 12 15 import org.openstreetmap.josm.tools.Destroyable; 13 16 … … 15 18 * Just a toggle button, with smaller border and icon only to display in 16 19 * MapFrame toolbars. 17 * 18 * @author imi 20 * Also provides methods for storing hidden state in preferences 21 * @author imi, akks 19 22 */ 20 public class IconToggleButton extends JToggleButton implements PropertyChangeListener, Destroyable {23 public class IconToggleButton extends JToggleButton implements HideableButton, PropertyChangeListener, Destroyable { 21 24 22 25 public boolean groupbutton; 26 private ShowHideButtonListener listener; 23 27 24 28 /** … … 59 63 action.removePropertyChangeListener(this); 60 64 } 65 66 @Override 67 public void applyButtonHiddenPreferences() { 68 String actionName = (String) getAction().getValue(AbstractAction.NAME); 69 boolean hiddenFlag = 70 Main.pref.getBoolean(actionName + ".itbutton_hidden", false); 71 setVisible(!hiddenFlag); 72 } 73 74 @Override 75 public void setButtonHidden(boolean b) { 76 String actionName = (String) getAction().getValue(AbstractAction.NAME); 77 setVisible(!b); 78 if (listener!=null) { // if someone wants to know about changes of visibility 79 if (!b) listener.buttonShown(); else listener.buttonHidden(); 80 } 81 Main.pref.put(actionName + ".itbutton_hidden", b); 82 83 } 84 @Override 85 public void showButton() { 86 setButtonHidden(false); 87 } 88 @Override 89 public void hideButton() { 90 setButtonHidden(true); 91 } 92 93 @Override 94 public String getActionName() { 95 return (String) getAction().getValue(Action.NAME); 96 } 97 98 @Override 99 public Icon getIcon() { 100 return (Icon) getAction().getValue(Action.SMALL_ICON); 101 } 102 103 @Override 104 public boolean isButtonVisible() { 105 return isVisible(); 106 } 107 108 @Override 109 public void setShowHideButtonListener(ShowHideButtonListener l) { 110 listener = l; 111 } 112 113 61 114 }
Note:
See TracChangeset
for help on using the changeset viewer.