1 /* 2 Copyright (C) 2000 - 2007 Grid Systems, S.A. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License, version 2, as 6 published by the Free Software Foundation. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 18 /* 19 * Project: KernelConfigurator 20 * Created on 26-feb-2004 21 * 22 * Copyright (c)2003 Grid Systems 23 */ 24 package com.gridsystems.config; 25 26 import javax.swing.Icon; 27 import javax.swing.JComponent; 28 import javax.swing.event.ChangeListener; 29 30 /** 31 * Specialized Swing version of ConfiguratorView interface. 32 * 33 * @author <a href="mailto:rruiz@gridsystems.com">Rodrigo Ruiz Aguayo</a> 34 * @version 1.0 35 */ 36 public interface SwingConfiguratorView extends ConfiguratorView { 37 38 /** 39 * Gets an icon instance for displaying on the view panel topright side. 40 * Its recommended size is 55 x 55 pixels 41 * 42 * @return An icon for the view 43 */ 44 Icon getIcon(); 45 46 /** 47 * Gets an icon instance for displaying on the menu tree node. 48 * Its recommended size is 18 x 18 pixels 49 * 50 * @return An icon for the menu tree 51 */ 52 Icon getSmallIcon(); 53 54 /** 55 * Gets a Swing component for visual edition. 56 * 57 * @return A Swing component 58 */ 59 JComponent getComponent(); 60 61 /** 62 * ChangeListeners will be notified when a change is performed on the 63 * view data, giving the GUI an opportunity to refresh its state. 64 * 65 * @param listener The listener instance 66 */ 67 void addChangeListener(ChangeListener listener); 68 69 /** 70 * Gets if a change has been performed on the view data, with respect to the 71 * model data. 72 * 73 * @return true if the view data differs from its initial value 74 */ 75 boolean isModified(); 76 }