1 /* 2 * Copyright (c) 2003-2008 by Cosylab d. d. 3 * 4 * This file is part of CosyBeans. 5 * 6 * CosyBeans is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * CosyBeans is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with CosyBeans. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package com.cosylab.gui.displayers; 21 22 import javax.swing.Icon; 23 24 import com.cosylab.gui.ValueIconPair; 25 26 /** 27 * <code>IconDisplayer</code> can display long values (similar to LongDisplayer) 28 * but instead of showing the number value it shows different icons for each of 29 * the received values. 30 * 31 * @author Jaka Bobnar, Cosylab 32 * 33 */ 34 public interface IconDisplayer extends Displayer, LongConsumer { 35 36 /** 37 * Sets the value displayed by the displayer. This method may be invoked 38 * only by the adapter delivering a new value from the modeling layer. 39 * 40 * @param value new value to be displayed 41 */ 42 public void setValue(long value); 43 44 /** 45 * Gets the value displayed by the displayer. This method can be invoked by 46 * any object and will probably most often be invoked by the GUI rendition 47 * code. 48 * 49 * @return double currently displayed value 50 */ 51 public long getValue(); 52 53 /** 54 * Sets the default icon for this displayer. If there is no icon assigned to a specific 55 * value, a default icon is shown when that value arrives. 56 * 57 * @param icon 58 */ 59 public void setDefaultIcon(Icon icon); 60 61 /** 62 * Returns the default icon. 63 * 64 * @return 65 */ 66 public Icon getDefaultIcon(); 67 68 /** 69 * Returns an array of all icons that were associated with values. 70 * 71 * @return 72 */ 73 public ValueIconPair[] getIcons(); 74 75 /** 76 * Associates icons with values. This method overrides all previously loaded icons. 77 * 78 * @param icons 79 */ 80 public void setIcons(ValueIconPair[] pairs); 81 82 /** 83 * Associates icons with values. This methods adds icons to previously 84 * loded inventory and overrides only those values that were loaded before and now 85 * is a different values associated with them. 86 * 87 * @param icons 88 */ 89 public void addIcons(ValueIconPair[] icons); 90 91 /** 92 * Associates icon with value. This methods adds icon to previously 93 * loded inventory. 94 * 95 * @param icons 96 */ 97 public void addIcon(ValueIconPair pair); 98 99 /** 100 * Removes icons. 101 * 102 * @param icons 103 */ 104 public void removeIcon(ValueIconPair pair); 105 106 /** 107 * Removes icons. 108 * 109 * @param icons 110 */ 111 public void removeIcons(ValueIconPair[] pairs); 112 }