X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/1e9cbe7ad33ce715c1ece46e87d7c5b01a10b1bf..fd9044a1a21ea77c2bcd6805e180b72c26f7e50d:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java index d79ad1f4e..305e10396 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java @@ -1,24 +1,22 @@ -// $Id$ /** * Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* European Distributed Institute of Taxonomy * http://www.e-taxonomy.eu -* +* * The contents of this file are subject to the Mozilla Public License Version 1.1 * See LICENSE.TXT at the top of this package for the full license terms. */ package eu.etaxonomy.taxeditor.ui.section.description; -import org.eclipse.swt.SWT; +import java.util.Arrays; + +import org.eclipse.jface.util.PropertyChangeEvent; import eu.etaxonomy.cdm.model.description.DescriptionBase; -import eu.etaxonomy.cdm.model.description.FeatureTree; -import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; -import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; +import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; /** *

DescriptionDetailElement class.

@@ -27,46 +25,47 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; * @created Mar 5, 2010 * @version 1.0 */ -public class DescriptionDetailElement extends AbstractCdmDetailElement { +public class DescriptionDetailElement extends AbstractIdentifiableEntityDetailElement { - private TextWithLabelElement detailDescription; - private EntitySelectionElement selection_featureTree; +// private EntitySelectionElement selection_featureTree; - /** - *

Constructor for DescriptionDetailElement.

- * - * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. - * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. - * @param style a int. - */ public DescriptionDetailElement(CdmFormFactory cdmFormFactory, ICdmFormElement formElement, int style) { super(cdmFormFactory, formElement); } - - /** {@inheritDoc} */ + @Override protected void createControls(ICdmFormElement formElement, DescriptionBase entity, int style) { - detailDescription = formFactory.createMultilineTextWithLabel(this, "Label", 50, SWT.WRAP); - detailDescription.setText(entity.getTitleCache()); - - // TODO I initially thought that we can handle the entity's descriptive system with a feature tree - // Since descriptiveSystem is a Set of Features that are present or allowed for the current description, + toggleable_cache = formFactory.createToggleableTextField(this, "Label", entity.getTitleCache(), entity.isProtectedTitleCache(), style); + // TODO I initially thought that we can handle the entity's descriptive system with a feature tree + // Since descriptiveSystem is a Set of Features that are present or allowed for the current description, // it is similar to a FeatureTree (you can get this information from a feature tree) but not the same. // Please correct this once it is clear what descriptive system will be used for in CDM // selection_featureTree = formFactory.createSelectionElement(FeatureTree.class, getConversationHolder(), formElement, "Feature Tree", null, EntitySelectionElement.ALL, style); } - - /** {@inheritDoc} */ + + @Override + protected void updateContent() { + super.updateContent(); + toggleable_cache.setEnabled(getEntity().isProtectedTitleCache()); + setIrrelevant(toggleable_cache.getState(), + Arrays.asList(new Object[] { toggleable_cache})); + } + + @Override + protected void handleTitleCacheRelevantChange(PropertyChangeEvent event) { + if(!getEntity().isProtectedTitleCache()){ + String title = getEntity().generateTitle(); + getEntity().setTitleCache(title, false); + } + super.updateToggleableCacheField(); + } + @Override public void handleEvent(Object eventSource) { - if(eventSource == detailDescription){ - getEntity().setTitleCache(detailDescription.getText(), true); - } - else if(eventSource == selection_featureTree){ - FeatureTree featureTree = selection_featureTree.getSelection(); - //descriptive system is not available anymore since v3.3 -// getEntity().setDescriptiveSystem(featureTree.getDistinctFeatures()); - } + if (eventSource == toggleable_cache) { + getEntity().setTitleCache(toggleable_cache.getText(), toggleable_cache.getState()); + setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[] { toggleable_cache })); + } } }