ref #8136: add reference part for lectotype
authorKatja Luther <k.luther@bgbm.org>
Wed, 27 Feb 2019 12:53:31 +0000 (13:53 +0100)
committerKatja Luther <k.luther@bgbm.org>
Wed, 27 Feb 2019 12:53:31 +0000 (13:53 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java

index e829c785ccbdfb2be3e4cf138d39d38d8a77a584..dbc7738f96e2a5f0f9fb71afce70a879d9b9d973 100644 (file)
@@ -9,14 +9,18 @@
 
 package eu.etaxonomy.taxeditor.ui.section.name;
 
+import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
+import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 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.supplemental.AbstractSourcedEntityBaseElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
  * <p>Abstract AbstractTypeDesignationElement class.</p>
@@ -28,7 +32,9 @@ import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSourcedEntityBaseE
 public abstract class AbstractTypeDesignationElement<T extends TypeDesignationBase> extends AbstractSourcedEntityBaseElement<T> {
 
        protected CheckboxElement checkbox_notDesignated;
-
+       protected EntitySelectionElement<Reference> selection_reference;
+    protected TextWithLabelElement text_referenceDetail;
+    protected ICdmFormElement formElement;
 
        /**
         * <p>Constructor for AbstractTypeDesignationElement.</p>
@@ -50,6 +56,19 @@ public abstract class AbstractTypeDesignationElement<T extends TypeDesignationBa
        @Override
        public void createControls(ICdmFormElement formElement, int style) {
                checkbox_notDesignated = formFactory.createCheckbox(formElement, "Not Designated", false, style);
+               this.formElement = formElement;
+       }
+
+       @Override
+       public void setEntity(T entity){
+           super.setEntity(entity);
+           if (this.entity != null && this.entity.isLectoType()){
+            selection_reference = formFactory
+                    .createSelectionElement(Reference.class, formElement, "Reference",
+                            null, EntitySelectionElement.ALL, SWT.NULL);
+            text_referenceDetail = formFactory.createTextWithLabelElement(
+                formElement, "Reference Detail", null, SWT.NULL);
+        }
        }
 
 }
index e3ddcf36c8d170d1efd707335d9fba61d42a3cd4..b75e03da06415f21079f3d1977e87100ae79ee51 100644 (file)
@@ -86,6 +86,7 @@ public class NameTypeDesignationElement extends
                        getEntity().setTypeName(selection_typeName.getEntity());
                } else if (eventSource == combo_typeStatus) {
                        getEntity().setTypeStatus(combo_typeStatus.getSelection());
+
                } else if (eventSource == checkbox_notDesignated) {
                        getEntity().setNotDesignated(checkbox_notDesignated.getSelection());
                }
index 5adc9ae56e61ef2e51e067f669c60eb3d6d46129..4607bb9ddeacc9d2954d794ef8f7bcc830b89c90 100644 (file)
@@ -21,6 +21,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
@@ -78,6 +79,9 @@ public class SpecimenTypeDesignationElement extends
        public void handleEvent(Object eventSource) {
                if (eventSource == combo_typeStatus) {
                        getEntity().setTypeStatus(combo_typeStatus.getSelection());
+
+                       firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
+
                }
                // TODO remove this once specimens are correctly implemented
                else if (eventSource == text_specimenTypeText) {