if (entity instanceof CategoricalData) {
detailedDescriptionElement = new CategoricalDataDetailElement(this, parentElement,
- (CategoricalData) entity, style);
+ (CategoricalData) entity, enabled, style);
} else if (entity instanceof CommonTaxonName) {
- detailedDescriptionElement = new CommonNameDetailElement(this, parentElement, (CommonTaxonName) entity,
- style);
+ detailedDescriptionElement = new CommonNameDetailElement(this, parentElement, (CommonTaxonName) entity, enabled, style);
} else if (entity instanceof Distribution && !enabled) {
detailedDescriptionElement = new DistributionDetailElement(this, parentElement, (Distribution) entity,
enabled, style);
true, style);
}else if (entity instanceof IndividualsAssociation) {
detailedDescriptionElement = new IndividualsAssociationDetailElement(this, parentElement,
- (IndividualsAssociation) entity, style);
+ (IndividualsAssociation) entity, enabled, style);
} else if (entity instanceof QuantitativeData) {
detailedDescriptionElement = new QuantitativeDataDetailElement(this, parentElement,
- (QuantitativeData) entity, style);
+ (QuantitativeData) entity, enabled, style);
} else if (entity instanceof TaxonInteraction) {
detailedDescriptionElement = new TaxonInteractionDetailElement(this, parentElement,
- (TaxonInteraction) entity, style);
+ (TaxonInteraction) entity, enabled, style);
} else if (entity instanceof TemporalData) {
- detailedDescriptionElement = new TemporalDataDetailElement(this, parentElement, (TemporalData) entity, style);
+ detailedDescriptionElement = new TemporalDataDetailElement(this, parentElement, (TemporalData) entity, enabled, style);
} else if (entity instanceof TextData) {
- detailedDescriptionElement = new TextDataDetailElement(this, parentElement, (TextData) entity, style);
+ detailedDescriptionElement = new TextDataDetailElement(this, parentElement, (TextData) entity, enabled, style);
}
else {
throw new IllegalStateException("There is no interface for the given description element");
}
- detailedDescriptionElement.setEnabled(enabled);
+// detailedDescriptionElement.setEnabled(enabled);
adapt(detailedDescriptionElement);
parentElement.addElement(detailedDescriptionElement);
return detailedDescriptionElement;
@Override
public void setEnabled(boolean enabled) {
checkbox.setEnabled(enabled);
- label.setEnabled(enabled);
+ if (label != null){
+ label.setEnabled(enabled);
+ }
}
@Override
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);
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;
+ }
}
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;
/**
* This class visualizes an CDM entity of type ENTITY and additionally provides
*/
public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT>
extends AbstractFormSection<ENTITY>
- implements IExpansionListener, Observer {
+ implements IExpansionListener, Observer, IEnableableFormElement {
private static final EnumSet<CRUD> UPDATE = EnumSet.of(CRUD.UPDATE);
private String title;
private AbstractEntityCollectionElement<ENTITY> entityCollectionElement;
+
+ private boolean isEnabled = true;
public AbstractEntityCollectionSection(CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, String title, int style) {
super(formFactory, parentElement, ExpandableComposite.CLIENT_INDENT | style);
this.title = title;
this.setText(getTitleString());
updateToolbar();
-
+ layout();
addExpansionListener(this);
CdmStore.getLoginManager().addObserver(this);
*/
protected void createElementComposite(ELEMENT element, SelectionListener removeListener, Color backgroundColor){
entityCollectionElement = formFactory.createEntityCollectionElement(this, element, removeListener, backgroundColor, SWT.NULL);
+ entityCollectionElement.setEnabled(isEnabled);
}
@Override
}
protected void updateToolbar() {
- if( !(getEntity() instanceof CdmBase) || (getEntity() != null && CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), UPDATE)) ){
+ if( !(getEntity() instanceof CdmBase) || (getEntity() != null && CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), UPDATE)) && isEnabled){
showToolbar();
} else {
removeToolbar();
* @return String to display when hovering the add button
*/
protected abstract String getTooltipString();
+
+ public boolean isEnabled(){
+ return isEnabled;
+ }
+
+ public void setEnabled(boolean enabled){
+ isEnabled=enabled;
+ if (!isEnabled){
+ removeToolbar();
+ }
+
+ for (ICdmFormElement element: getElements()){
+ if (element instanceof IEnableableFormElement){
+ ((IEnableableFormElement)element).setEnabled(isEnabled);
+ }
+ }
+
+ }
}
/** {@inheritDoc} */
@Override
protected void createControls(ICdmFormElement formElement, DescriptionElementBase entity, int style) {
+
+ setEnabled(!((getEntity().getInDescription() != null && (getEntity().getInDescription().isComputed() || getEntity().getInDescription().isCloneForSource())&& PreferencesUtil.isComputedDesciptionHandlingDisabled()) || (getEntity() instanceof Distribution && AbstractUtility.getActivePart() instanceof IDistributionEditorPart)));
formFactory.createDetailedDescriptionDetailElement(formElement, entity, style, isEnabled());
}
import eu.etaxonomy.taxeditor.store.StoreUtil;
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.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
import eu.etaxonomy.taxeditor.ui.section.description.operation.ChangeDescriptionElementType;
import eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4;
public void setEntity(DescriptionElementBase entity) {
super.setEntity(entity);
boolean isEnabled = true;
- if (entity.getInDescription().isComputed() && PreferencesUtil.isComputedDesciptionHandlingDisabled() ){
+ if ((entity.getInDescription().isComputed() || entity.getInDescription().isCloneForSource())&& PreferencesUtil.isComputedDesciptionHandlingDisabled() ){
isEnabled = false;
}
setEnabled(isEnabled);
-// this.getDetailElement().setEnabled(isEnabled);
}
* @created Sep 15, 2010
*/
public class StatisticalMeasurementValueElement extends
- AbstractEntityCollectionElement<StatisticalMeasurementValue> implements IEnableableFormElement{
+ AbstractEntityCollectionElement<StatisticalMeasurementValue> {
private BigDecimalWithLabelElement number_value;
private TermComboElement<StatisticalMeasure> combo_type;
}
}
- @Override
- public void setEnabled(boolean enabled) {
- combo_type.setEnabled(enabled);
- number_value.setEnabled(enabled);
- section_modifiers.setEnabled(enabled);
- }
-
- @Override
- public boolean isEnabled() {
- return combo_type.isEnabled();
- }
+// @Override
+// public void setEnabled(boolean enabled) {
+// combo_type.setEnabled(enabled);
+// number_value.setEnabled(enabled);
+// section_modifiers.setEnabled(enabled);
+// }
+//
+// @Override
+// public boolean isEnabled() {
+// return combo_type.isEnabled();
+// }
}
* @param style a int.
* @param <T> a T object.
*/
+ public AbstractDetailedDescriptionDetailElement(CdmFormFactory formFactory,
+ ICdmFormElement formElement, T entity, boolean enabled, int style) {
+ super(formFactory, formElement);
+ setEntity(entity);
+ setEnabled(enabled);
+ }
public AbstractDetailedDescriptionDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement, T entity, int style) {
super(formFactory, formElement);
setEntity(entity);
+
}
protected void createTimePeriod(ICdmFormElement formElement, DescriptionElementBase entity,
int style) {
timePeriod = formFactory.createTimePeriodElement(this, "Time scope", entity.getTimeperiod(), SWT.WRAP);
-
+ timePeriod.setEnabled(enabled);
}
protected void createModifier(ICdmFormElement formElement, DescriptionElementBase entity,
section_modifiers = formFactory.createModifierSection(getConversationHolder(), this, StoreUtil.getSectionStyle(ModifierSection.class, entity.getClass().getCanonicalName(), true));
section_modifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
section_modifiers.setEntity(entity);
+ section_modifiers.setEnabled(enabled);
}
if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowModifierFreeText.getKey())){
text_modifyingText = formFactory.createTextWithLabelElement(this, "Modifying Text", null, style);
if(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {
text_modifyingText.setText(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()).getText());
}
+ text_modifyingText.setEnabled(enabled);
}
}
if(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {
text_modifyingText.setText(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()).getText());
}
+ text_modifyingText.setEnabled(enabled);
}
}
* @param style a int.
*/
public CategoricalDataDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, CategoricalData entity, int style) {
- super(formFactory, formElement, entity, style);
+ ICdmFormElement formElement, CategoricalData entity, boolean enabled, int style) {
+ super(formFactory, formElement, entity, enabled, style);
+
}
@Override
section_stateData = formFactory.createStateDataSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(StateDataSection.class, entity.getClass().getCanonicalName(), true));
section_stateData.setEntity(entity);
section_stateData.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ section_stateData.setEnabled(enabled);
createTimePeriod(formElement, entity, style);
if (entity.getFeature().getRecommendedModifierEnumeration() != null && !entity.getFeature().getRecommendedModifierEnumeration().isEmpty()){
createModifier(formElement, entity, style);
* @param style a int.
*/
public CommonNameDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, CommonTaxonName entity, int style) {
- super(formFactory, formElement, entity, style);
+ ICdmFormElement formElement, CommonTaxonName entity, boolean enabled, int style) {
+ super(formFactory, formElement, entity, enabled, style);
}
/** {@inheritDoc} */
public DistributionDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement, Distribution entity, boolean enabled, int style) {
- super(formFactory, formElement, entity, style);
- setEnabled(enabled);
+ super(formFactory, formElement, entity, enabled, style);
+
}
@Override
private EntitySelectionElement<SpecimenOrObservationBase> selection_derivedUnit;
public IndividualsAssociationDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, IndividualsAssociation entity,
+ ICdmFormElement formElement, IndividualsAssociation entity, boolean enabled,
int style) {
- super(formFactory, formElement, entity, style);
+ super(formFactory, formElement, entity, enabled, style);
}
/** {@inheritDoc} */
* @param style a int.
*/
public QuantitativeDataDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, QuantitativeData entity, int style) {
- super(formFactory, formElement, entity, style);
+ ICdmFormElement formElement, QuantitativeData entity, boolean enabled, int style) {
+ super(formFactory, formElement, entity, enabled, style);
}
@Override
* a int.
*/
public TaxonInteractionDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, TaxonInteraction entity, int style) {
- super(formFactory, formElement, entity, style);
+ ICdmFormElement formElement, TaxonInteraction entity, boolean enabled, int style) {
+ super(formFactory, formElement, entity, enabled, style);
}
/** {@inheritDoc} */
* @param entity
* @param style
*/
- public TemporalDataDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement, TemporalData entity,
+ public TemporalDataDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement, TemporalData entity, boolean enabled,
int style) {
- super(formFactory, formElement, entity, style);
+ super(formFactory, formElement, entity, enabled, style);
}
* @param style a int.
*/
public TextDataDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, TextData entity, int style) {
- super(formFactory, formElement, entity, style);
+ ICdmFormElement formElement, TextData entity, boolean enabled, int style) {
+ super(formFactory, formElement, entity, enabled, style);
}
/** {@inheritDoc} */
import eu.etaxonomy.taxeditor.store.UsageTermCollection;
import eu.etaxonomy.taxeditor.termtree.e4.ICharacterEditor;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.element.RootElement;
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailSection;
}else{
descriptionElementSourceSection = formFactory.createDescriptionElementSourceSection(getConversationHolder(), parent, StoreUtil.getSectionStyle(DescriptionElementSourceSection.class, getInput().getClass().getCanonicalName()) );
descriptionElementSourceSection.setEnabled(this.detailsEnabled);
- descriptionElementDetailSection.setEnabled(this.detailsEnabled);
+
}
if(activePart==thisPart){
return;
}
- setEnabled(true);
+// setEnabled(true);
Object partObject = createPartObject(activePart);
if(partObject instanceof IPartContentHasSupplementalData) {
+ setEnabled(true);
IStructuredSelection structuredSelection = createSelection(selection);
if(structuredSelection==null || structuredSelection.isEmpty()){
addPart(annotationSection);
addPart(markerSection);
+
}
private void createIdentifiableSections(RootElement parent) {