X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/80273dd5a234274d182975253bdaa1a7bc8d133b..1c69b0d01165dcae51f1f45667c202e0d15b960d:/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 61da0e801..19311bff3 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,4 +1,3 @@ -// $Id$ /** * Copyright (C) 2007 EDIT * European Distributed Institute of Taxonomy @@ -16,20 +15,23 @@ import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.model.reference.Reference; +import eu.etaxonomy.cdm.model.taxon.Synonym; +import eu.etaxonomy.cdm.model.taxon.SynonymType; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.cdm.persistence.hibernate.permission.Role; +import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; 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.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; /** - *

- * TaxonBaseDetailElement class. - *

- * * @author n.hoffmann * @created Feb 26, 2010 * @version 1.0 @@ -42,26 +44,16 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem private EntitySelectionElement selection_secundum; - private TextWithLabelElement text_appendedPhrase; - - private CheckboxElement checkbox_excluded; + private TextWithLabelElement text_secundum_microreference; - private CheckboxElement checkbox_unplaced; + private TextWithLabelElement text_appendedPhrase; private CheckboxElement checkbox_published; - /** - *

- * Constructor for TaxonBaseDetailElement. - *

- * - * @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. - */ + private TermComboElement combo_relationshipType; + private CheckboxElement checkProParte; + private CheckboxElement checkPartial; + public TaxonBaseDetailElement(CdmFormFactory cdmFormFactory, ICdmFormElement formElement, int style) { super(cdmFormFactory, formElement); @@ -69,46 +61,75 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem /** {@inheritDoc} */ @Override - protected void createControls(ICdmFormElement formElement, - TaxonBase entity, int style) { - toggleable_cache = formFactory.createToggleableTextField(formElement, - "Title Cache", entity.getTitleCache(), - entity.isProtectedTitleCache(), style); - - selection_secundum = formFactory - .createSelectionElement(Reference.class, + protected void createControls(ICdmFormElement formElement, TaxonBase entity, int style) { + toggleable_cache = formFactory.createToggleableTextField(formElement, + "Title Cache", entity.getTitleCache(), + entity.isProtectedTitleCache(), style); + + //TODO RL + boolean rl=true; + if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){ + toggleable_cache.setVisible(false); + } + if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){ + text_appendedPhrase = formFactory.createTextWithLabelElement( + formElement, "Appended Phrase", entity.getAppendedPhrase(), + SWT.WRAP); + + } + + 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); + text_secundum_microreference = formFactory.createTextWithLabelElement( + formElement, "Detail", + entity.getSecMicroReference(),null, + SWT.WRAP); + + // TODO RL + if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)) { + checkbox_useNameCache = formFactory.createCheckbox(formElement, + "Exclude Authorship", entity.isUseNameCache(), style); + checkbox_doubtful = formFactory.createCheckbox(formElement, + entity.getClass().getSimpleName() + " is doubtful", entity.isDoubtful(), style); + } if (entity instanceof Taxon) { - checkbox_excluded = formFactory.createCheckbox(formElement, - "Taxon is excluded", ((Taxon) entity).isExcluded(), style); - checkbox_unplaced = formFactory.createCheckbox(formElement, - "Taxon is unplaced", ((Taxon) entity).isUnplaced(), style); + checkbox_published = formFactory.createCheckbox(formElement, + "Taxon is published", ((Taxon) entity).isPublish(), style); } - checkbox_doubtful = formFactory.createCheckbox(formElement, - entity.getClass().getSimpleName() + " is doubtful", entity.isDoubtful(), style); - - checkbox_published = formFactory.createCheckbox(formElement, - "Taxon is published", ((TaxonBase) entity).isPublish(), style); - + if(entity instanceof Synonym){ + //#6198 removed type as it is currently not handled correctly in the editor +// combo_relationshipType = formFactory.createDefinedTermComboElement(TermType.SynonymType, formElement, "Synonym Type", ((Synonym) entity).getType(), style); + checkProParte = formFactory.createCheckbox(formElement, "Pro Parte Synonym", ((Synonym) entity).isProParte(), style); + checkPartial= formFactory.createCheckbox(formElement, "Partial Synonym", ((Synonym) entity).isPartial(), style); + } } - /** {@inheritDoc} */ + private void updateCheckboxPublish() { + if(getEntity() instanceof Taxon){ + checkbox_published.setEnabled( + CdmStore.currentAuthentiationHasOneOfRoles(Role.ROLE_PUBLISH, Role.ROLE_ADMIN) + ); + } + } + + @Override + protected void updateControlStates() { + super.updateControlStates(); + updateCheckboxPublish(); + } + + /** {@inheritDoc} */ @Override protected void updateContent() { super.updateContent(); toggleable_cache.setEnabled(getEntity().isProtectedTitleCache()); setIrrelevant(toggleable_cache.getState(), - Arrays.asList(new Object[] { toggleable_cache })); + Arrays.asList(new Object[] { toggleable_cache, checkbox_published})); } @Override @@ -131,12 +152,24 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem getEntity().setSec(selection_secundum.getSelection()); } 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()); + } else if (eventSource == text_secundum_microreference) { + getEntity().setSecMicroReference(text_secundum_microreference.getText()); } else if (eventSource == checkbox_published) { - ((Taxon) getEntity()).setPublish(checkbox_published.getSelection()); - } + ((Taxon)getEntity()).setPublish(checkbox_published.getSelection()); + } else if(eventSource == combo_relationshipType){ + ((Synonym) getEntity()).setType(combo_relationshipType.getSelection()); + } else if(eventSource == checkPartial){ + ((Synonym) getEntity()).setPartial(checkPartial.getSelection()); + } else if(eventSource == checkProParte){ + ((Synonym) getEntity()).setProParte(checkProParte.getSelection()); + } } + @Override + protected void handleToggleableCacheField() { + boolean pushedState = toggleable_cache.getState(); + + getEntity().setTitleCache(toggleable_cache.getText(), pushedState); + setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, checkbox_published})); + updateToggleableCacheField(); + } }