import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEntityElement;
import eu.etaxonomy.taxeditor.ui.element.ISelectable;
import eu.etaxonomy.taxeditor.ui.element.LabelElement;
public abstract class AbstractEntityCollectionElement<ENTITY>
extends AbstractCdmFormElement
implements IEntityElement<ENTITY>, SelectionListener,
- IConversationEnabled {
+ IConversationEnabled, IEnableableFormElement {
protected ENTITY entity;
* Composite "around" the actual content. Is used for control action like e.g. remove button
*/
private final Composite box;
+
+ private boolean isEnabled;
+
+
private Button btnRemove;
protected Button btnChooseEntity;
btnRemove.setToolTipText("Remove");
btnRemove.addSelectionListener(removeListener);
+ btnRemove.setEnabled(isEnabled);
}
- createControls(this, style);
+
setEntity(entity);
+ createControls(this, style);
}
/**
warnForReferencedObjects.setVisible(isVisible);
}
}
+
+ @Override
+ public void setEnabled(boolean enabled) {
+ this.isEnabled = enabled;
+ if (btnRemove != null){
+ btnRemove.setEnabled(enabled);
+ }
+ if (btnChooseEntity != null){
+ btnChooseEntity.setEnabled(enabled);
+ }
+
+ for (ICdmFormElement element:this.getElements()){
+ if (element instanceof IEnableableFormElement){
+ ((IEnableableFormElement)element).setEnabled(enabled);
+ }
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return isEnabled;
+ }
}