import org.eclipse.ui.forms.widgets.Section;
/**
- * @author n.hoffmann
+ * <p>Abstract AbstractCdmFormElement class.</p>
*
+ * @author n.hoffmann
+ * @version $Id: $
*/
public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, ICdmFormElement, ISelectable {
private ICdmFormElement parentElement;
+ /**
+ * <p>Constructor for AbstractCdmFormElement.</p>
+ *
+ * @param formFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
+ * @param layoutComposite a {@link org.eclipse.swt.widgets.Composite} object.
+ */
protected AbstractCdmFormElement(CdmFormFactory formFactory, Composite layoutComposite){
this.layoutComposite = layoutComposite;
this.formFactory = formFactory;
}
/**
- * @param parent
- * @param style
+ * <p>Constructor for AbstractCdmFormElement.</p>
+ *
+ * @param formFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
+ * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
*/
public AbstractCdmFormElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
this(formFactory, formElement.getLayoutComposite());
// addControl(layoutComposite);
}
+ /**
+ * <p>Getter for the field <code>formFactory</code>.</p>
+ *
+ * @return a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
+ */
public CdmFormFactory getFormFactory() {
return formFactory;
}
+ /** {@inheritDoc} */
public Color getColor(boolean selected) {
return selected ? SELECTED : NOT_SELECTED;
}
}
/**
- * Returns all Controls that are managed by this element
- * @return
+ * Returns all Controls that are managed by this element
+ *
+ * @return a {@link java.util.Set} object.
*/
public Set<Control> getControls(){
return controls;
/**
* adds the control to the set of controls that are managed by this element
- * @param child
+ *
+ * @param child a {@link org.eclipse.swt.widgets.Control} object.
*/
protected void addControl(Control child){
controls.add(child);
}
+ /**
+ * <p>removeControl</p>
+ *
+ * @param child a {@link org.eclipse.swt.widgets.Control} object.
+ */
protected void removeControl(Control child){
controls.remove(child);
}
+ /**
+ * <p>Getter for the field <code>elements</code>.</p>
+ *
+ * @return a {@link java.util.Set} object.
+ */
public Set<ICdmFormElement> getElements(){
return elements;
}
+ /**
+ * <p>Getter for the field <code>parentElement</code>.</p>
+ *
+ * @return a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+ */
public ICdmFormElement getParentElement(){
return parentElement;
}
+ /** {@inheritDoc} */
public void addElement(ICdmFormElement element){
elements.add(element);
}
+ /**
+ * <p>removeElement</p>
+ *
+ * @param element a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+ */
protected void removeElement(ICdmFormElement element){
elements.remove(element);
}
+ /**
+ * <p>removeElements</p>
+ */
public void removeElements(){
for(ICdmFormElement childElement : getElements()){
// recursion
}
}
+ /**
+ * <p>Getter for the field <code>layoutComposite</code>.</p>
+ *
+ * @return a {@link org.eclipse.swt.widgets.Composite} object.
+ */
public Composite getLayoutComposite() {
return layoutComposite;
}
+ /**
+ * <p>Setter for the field <code>layoutComposite</code>.</p>
+ *
+ * @param layoutComposite a {@link org.eclipse.swt.widgets.Composite} object.
+ */
public void setLayoutComposite(Composite layoutComposite){
this.layoutComposite = layoutComposite;
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#getPropertyChangeListeners()
*/
+ /**
+ * <p>Getter for the field <code>propertyChangeListeners</code>.</p>
+ *
+ * @return a {@link java.util.Set} object.
+ */
public Set<IPropertyChangeListener> getPropertyChangeListeners() {
return propertyChangeListeners;
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#setPropertyChangeListeners(org.eclipse.core.runtime.ListenerList)
*/
+ /** {@inheritDoc} */
public void setPropertyChangeListeners(Set<IPropertyChangeListener> propertyChangeListeners){
this.propertyChangeListeners = propertyChangeListeners;
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#firePropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent)
*/
+ /** {@inheritDoc} */
public void firePropertyChangeEvent(CdmPropertyChangeEvent event) {
Assert.isNotNull(propertyChangeListeners, "Property change listeners are not present");
for(Object listener : propertyChangeListeners){
/**
+ * {@inheritDoc}
+ *
* This method gets called whenever the toolkit this composite was created with gets a property change notification.
- *
+ *
* It is good advice to check whether the PropertyChangeEvent is destined for the implementing composite.
* Implementations should also check for null PropertyChangeEvents and return immediately in that case.
- *
* @see eu.etaxonomy.taxeditor.forms.ICdmFormElement#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
*/
public void propertyChange(PropertyChangeEvent event) {
// implement in subclasses
}
- /**
- *
- * @param formElement
- * @return
- */
+ /** {@inheritDoc} */
public boolean containsFormElement(ICdmFormElement formElement){
if(formElement == this){
return true;
* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.ICdmFormElement#refresh()
*/
+ /**
+ * <p>refresh</p>
+ */
public void refresh() {
// empty default implementation
}
+ /** {@inheritDoc} */
@Override
public void setBackground(Color color) {
for(ICdmFormElement element : getElements()){