View Javadoc

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  }