fix #6947: fix error for empty lsid field
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / TranslatableRepresentationElement.java
index b41ebb6e1ec38dee2a26080158b8f7166e480bda..6877e4eb8fd67448b8cbe3998e4a539c4f859848 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2016 EDIT
 * European Distributed Institute of Taxonomy
@@ -15,9 +14,12 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 
-import eu.etaxonomy.cdm.model.common.Representation;
-import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.cdm.model.term.Representation;
+import eu.etaxonomy.cdm.model.term.TermBase;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermTranslationWizard;
 
 /**
@@ -37,8 +39,16 @@ public class TranslatableRepresentationElement extends RepresentationElement {
      * @param isTranslationWizard
      */
     public TranslatableRepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement,
-            Representation representation, TermBase term, Integer textHeight, int style) {
-        super(formFactory, formElement, representation, term, textHeight, style);
+            Representation representation, TermBase term, Integer textHeight, int style, boolean fill) {
+        super(formFactory, formElement, representation, term, textHeight, style, fill);
+
+
+    }
+
+    public TranslatableRepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement,
+            Representation representation, TermDto term, Integer textHeight, int style, boolean fill) {
+        super(formFactory, formElement, representation, term, textHeight, style, fill);
+
 
     }
 
@@ -51,8 +61,8 @@ public class TranslatableRepresentationElement extends RepresentationElement {
      * @param style
      */
     public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
-            TermBase term, int textHeight, int style) {
-        super(cdmFormFactory, parentElement, term, textHeight, style);
+            TermBase term, int textHeight, int style, boolean fill) {
+        super(cdmFormFactory, parentElement, term, textHeight, style, fill);
     }
 
 
@@ -86,11 +96,13 @@ public class TranslatableRepresentationElement extends RepresentationElement {
                 updateControls();
             }
 
+            firePropertyChangeEvent( e);
+
         }
     }
     @Override
     protected void createRepresentationEditingElements(ICdmFormElement formElement, int style) {
-        super.createRepresentationEditingElements(formElement, style);
+        super.createRepresentationEditingElements(formElement, style );
         button = formFactory.createButton(getLayoutComposite(),
                 "Open In Translation Editor", SWT.PUSH);
         addControl(button);
@@ -101,9 +113,11 @@ public class TranslatableRepresentationElement extends RepresentationElement {
 
     @Override
     public void setTerm(
-            TermBase term) {
-        super.setTerm(term);
-        button.setEnabled(false);
+            TermBase term, boolean update) {
+        super.setTerm(term, update);
+        if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+               button.setEnabled(false);
+        }
         updateControls();
     }
 
@@ -114,9 +128,15 @@ public class TranslatableRepresentationElement extends RepresentationElement {
     @Override
     protected void updateControls() {
        super.updateControls();
-       button.setEnabled(true);
-       combo_language.setTerms(getLanguages());
-       combo_language.setSelection(selectedRepresentation.getLanguage());
+       if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+          button.setEnabled(true);
+          combo_language.setTerms(getLanguages());
+          if (selectedRepresentation != null){
+              combo_language.setSelection(selectedRepresentation.getLanguage());
+          }else {
+              combo_language.setSelection(CdmStore.getDefaultLanguage());
+          }
+       }
 
     }