X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/a5d6e4c07be6b2e6ed841bff9376b82d362d3c73..c1ffc80dd58cff8c7e52f46a8540c8bb016cdfaa:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java index 23a7d1db2..d0eea542b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java @@ -1,9 +1,9 @@ // $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. */ @@ -14,23 +14,28 @@ import java.util.Arrays; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.SWT; +import org.eclipse.ui.forms.widgets.ExpandableComposite; +import eu.etaxonomy.cdm.model.reference.Reference; +import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent; -import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; +import eu.etaxonomy.cdm.persistence.hibernate.permission.Role; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.CheckboxElement; +import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; -import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement; +import eu.etaxonomy.taxeditor.ui.section.name.SynonymRelationshipDetailSection; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; /** *

* TaxonBaseDetailElement class. *

- * + * * @author n.hoffmann * @created Feb 26, 2010 * @version 1.0 @@ -41,7 +46,7 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem private CheckboxElement checkbox_useNameCache; - private ReferenceSelectionElement selection_secundum; + private EntitySelectionElement selection_secundum; private TextWithLabelElement text_appendedPhrase; @@ -49,17 +54,19 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem private CheckboxElement checkbox_unplaced; + private CheckboxElement checkbox_published; + + private SynonymRelationshipDetailSection sectionSynonymRelationship; + /** *

* Constructor for TaxonBaseDetailElement. *

- * + * * @param cdmFormFactory - * a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} - * object. + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. * @param formElement - * a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} - * object. + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. * @param style * a int. */ @@ -76,24 +83,40 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem "Title Cache", entity.getTitleCache(), entity.isProtectedTitleCache(), style); - checkbox_doubtful = formFactory.createCheckbox(formElement, - "Is doubtful", entity.isDoubtful(), style); - checkbox_useNameCache = formFactory.createCheckbox(formElement, - "Exclude Authorship", entity.isUseNameCache(), style); - selection_secundum = (ReferenceSelectionElement) formFactory - .createSelectionElement(SelectionType.REFERENCE, - getConversationHolder(), formElement, "Secundum", - entity.getSec(), ReferenceSelectionElement.DEFAULT, - style); + selection_secundum = formFactory + .createSelectionElement(Reference.class, + getConversationHolder(), formElement, "Secundum", + entity.getSec(), EntitySelectionElement.ALL, + style); + text_appendedPhrase = formFactory.createTextWithLabelElement( formElement, "Appended Phrase", entity.getAppendedPhrase(), SWT.NULL); + checkbox_useNameCache = formFactory.createCheckbox(formElement, + "Exclude Authorship", entity.isUseNameCache(), style); if (entity instanceof Taxon) { checkbox_excluded = formFactory.createCheckbox(formElement, - "Is excluded", ((Taxon) entity).isExcluded(), style); + "Taxon is excluded", ((Taxon) entity).isExcluded(), style); checkbox_unplaced = formFactory.createCheckbox(formElement, - "Is unplaced", ((Taxon) entity).isUnplaced(), style); + "Taxon is unplaced", ((Taxon) entity).isUnplaced(), style); + } + + checkbox_doubtful = formFactory.createCheckbox(formElement, + entity.getClass().getSimpleName() + " is doubtful", entity.isDoubtful(), style); + + if (entity instanceof Taxon) { + checkbox_published = formFactory.createCheckbox(formElement, + "Taxon is published", ((Taxon) entity).isPublish(), style); + checkbox_published.setEnabled( + CdmStore.currentAuthentiationHasOneOfRoles(Role.ROLE_PUBLISH, Role.ROLE_ADMIN) + ); + } + + if(entity instanceof Synonym){ + sectionSynonymRelationship = formFactory.createSynonymRelationshipDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); + sectionSynonymRelationship.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + sectionSynonymRelationship.setEntity((Synonym) entity); } } @@ -105,7 +128,7 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[] { toggleable_cache })); } - + @Override protected void handleTitleCacheRelevantChange(PropertyChangeEvent event) { String title = getEntity().generateTitle(); @@ -116,20 +139,22 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem /** {@inheritDoc} */ @Override public void handleEvent(Object eventSource) { - if (eventSource.equals(toggleable_cache)) { + if (eventSource== toggleable_cache) { handleToggleableCacheField(); - } else if (eventSource.equals(checkbox_doubtful)) { + } else if (eventSource == checkbox_doubtful) { getEntity().setDoubtful(checkbox_doubtful.getSelection()); - } else if (eventSource.equals(checkbox_useNameCache)) { + } else if (eventSource == checkbox_useNameCache) { getEntity().setUseNameCache(checkbox_useNameCache.getSelection()); - } else if (eventSource.equals(selection_secundum)) { + } else if (eventSource == selection_secundum) { getEntity().setSec(selection_secundum.getSelection()); - } else if (eventSource.equals(text_appendedPhrase)) { + } else if (eventSource == text_appendedPhrase) { getEntity().setAppendedPhrase(text_appendedPhrase.getText()); } else if (eventSource == checkbox_excluded) { ((Taxon) getEntity()).setExcluded(checkbox_excluded.getSelection()); } else if (eventSource == checkbox_unplaced) { - ((Taxon) getEntity()).setUnplaced(checkbox_unplaced.getSelection()); + ((Taxon) getEntity()).setUnplaced(checkbox_unplaced.getSelection()); + } else if (eventSource == checkbox_published) { + ((Taxon)getEntity()).setPublish(checkbox_published.getSelection()); } } }