Merge branch 'release/5.28.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / detail / CommonNameDetailElement.java
index 2cf643d510af2f4d07e0bb3b4310d01d6a1bb954..805ad92ad9f4cfc0898226eb658e7964c6a3bcd9 100644 (file)
@@ -1,21 +1,27 @@
-// $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.detail;
 
+import java.util.List;
+import java.util.UUID;
+
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.description.CommonTaxonName;
 import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
@@ -29,12 +35,12 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @version 1.0
  */
 public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailElement<CommonTaxonName> {
-       
+
        private TermComboElement<Language> combo_language;
        private EntitySelectionElement<NamedArea> selection_namedArea;
        private TextWithLabelElement commonName;
 
-       
+
        /**
         * <p>Constructor for CommonNameDetailElement.</p>
         *
@@ -44,26 +50,43 @@ public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailEl
         * @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} */
        @Override
        protected void createControls(ICdmFormElement formElement,
                        CommonTaxonName entity, int style) {
-               commonName = formFactory.createTextWithLabelElement(this, "Common Name", entity.getName(), SWT.WRAP);
 
-               combo_language = formFactory.createTermComboElement(Language.class, this, "Language", entity.getLanguage(), style);
+               commonName = formFactory.createTextWithLabelElement(this, "Common Name", entity.getName(), SWT.WRAP);
 
-               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
+//             combo_language = formFactory.createDefinedTermComboElement(TermType.Language, this, "Language", entity.getLanguage(), style);
+               List<UUID> uuidList = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.CommonNameLanguages.getKey(), false);
+               List<Language> languages = CdmStore.getTermManager().getTerms(uuidList, Language.class);
+//        combo_language = formFactory.createDefinedTermComboElement(languages, this, "Language", entity.getLanguage(), style);
+        combo_language = formFactory.createDefinedTermComboElement(TermType.Language, this, "Language", entity.getLanguage(), style);
+        combo_language.setTerms(languages);
+        combo_language.setSelection(entity.getLanguage());
+               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
                                formElement, "Area",
                                entity.getArea(), EntitySelectionElement.NOTHING, style);
+
+               createTimePeriod(formElement, entity, style);
+               if (entity.getFeature().getRecommendedModifierEnumeration() != null && !entity.getFeature().getRecommendedModifierEnumeration().isEmpty()){
+            createModifier(formElement, entity, style);
+        }else{
+            createFreetextModifier(formElement, entity, style);
+        }
+
        }
 
+
+
        /** {@inheritDoc} */
        @Override
        public void handleEvent(Object eventSource) {
+           super.handleEvent(eventSource);
                if(eventSource == combo_language){
                        getEntity().setLanguage(combo_language.getSelection());
                }else if(eventSource == selection_namedArea){