01: /*
02: * Copyright 2001-2006 C:1 Financial Services GmbH
03: *
04: * This software is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU Lesser General Public
06: * License Version 2.1, as published by the Free Software Foundation.
07: *
08: * This software is distributed in the hope that it will be useful,
09: * but WITHOUT ANY WARRANTY; without even the implied warranty of
10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11: * Lesser General Public License for more details.
12: *
13: * You should have received a copy of the GNU Lesser General Public
14: * License along with this library; if not, write to the Free Software
15: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
16: */
17:
18: package de.finix.contelligent.client.gui;
19:
20: import java.awt.event.ActionListener;
21: import java.util.Iterator;
22:
23: /**
24: * Interface for contelligent component editors. You can impelement this
25: * interface in order to provide a special editor for a component. The
26: * constructor of the editor is called with two parameters: The component that
27: * is being edited and the view that contains your editor.
28: */
29: public interface ComponentEditor extends ComponentRenderer {
30:
31: /**
32: * Used to switch editor between render and edit mode. Should be used to set
33: * graphical elements read-only/editable.
34: */
35: public void setEditable(boolean editable);
36:
37: /**
38: * Returns whether this editor is in renderer or edit mode.
39: *
40: * @return a <code>boolean</code> value.
41: */
42: public boolean isEditable();
43:
44: /**
45: * The rollback function has to ensure that all components that have been
46: * modified by the user are reloaded and the editor displays the initial
47: * values afterwords.
48: *
49: */
50: public void rollback();
51:
52: /**
53: * The commit method has to save all modified components.
54: */
55: public void commit();
56:
57: /**
58: * Implement this function so that all registered listeners get informed if
59: * editing of this component stopped. This is necessary for editors that
60: * live inside another editor (e.g. inside a table editor)
61: *
62: * @param actionListener
63: * an <code>ActionListener</code> value
64: */
65: public void addActionListener(ActionListener actionListener);
66:
67: /**
68: * Used to remove a previous added listener from the list of action
69: * listeners.
70: *
71: * @param a
72: * <code>java.awt.event.ActionListener</code> value.
73: */
74: public void removeActionListener(ActionListener actionListener);
75:
76: /**
77: * Returns iterator over registered action listeners.
78: *
79: * @return a <code>java.util.Iterator</code> value.
80: */
81: public Iterator getActionListeners();
82:
83: }
|