(no commit message)
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / forms / ICdmFormElement.java
1 package eu.etaxonomy.taxeditor.forms;
2
3
4 import java.util.Set;
5
6 import org.eclipse.jface.util.IPropertyChangeListener;
7 import org.eclipse.swt.graphics.Color;
8 import org.eclipse.swt.widgets.Composite;
9 import org.eclipse.swt.widgets.Control;
10
11 public interface ICdmFormElement extends IPropertyChangeEmitter, IPropertyChangeListener {
12
13 /**
14 *
15 * @return
16 */
17 public abstract Set<IPropertyChangeListener> getPropertyChangeListeners();
18
19 /**
20 *
21 * @param propertyChangeListeners
22 */
23 public abstract void setPropertyChangeListeners(
24 Set<IPropertyChangeListener> propertyChangeListeners);
25
26 public abstract Set<Control> getControls();
27
28 public abstract Set<ICdmFormElement> getElements();
29
30 public abstract void addElement(ICdmFormElement element);
31
32 public abstract ICdmFormElement getParentElement();
33
34 public abstract void removeElements();
35
36 public abstract Composite getLayoutComposite();
37
38 public boolean containsFormElement(ICdmFormElement formElement);
39
40 public void setBackground(Color color);
41
42 /**
43 * Refreshes the layout of this form element.
44 *
45 * This method should be called when the content of the form element
46 * changes and the current element needs to display that changes
47 */
48 public void refresh();
49 }