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 }