Made referenced entities selectabel for supplemental data #4627
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 24 Feb 2016 07:01:43 +0000 (08:01 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 24 Feb 2016 07:01:43 +0000 (08:01 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java

index aea6e2da11ed2a136bcfafe9e08b43648ab7eb52..c5871759f960d4c0564788d04f29d19bb3e5cfc0 100644 (file)
@@ -18,6 +18,8 @@ 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.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
+import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
@@ -28,8 +30,10 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @version 1.0
  */
 public abstract class AbstractReferencedEntityElement<T extends ReferencedEntityBase>
  * @version 1.0
  */
 public abstract class AbstractReferencedEntityElement<T extends ReferencedEntityBase>
-               extends AbstractEntityCollectionElement<T> {
+               extends AbstractEntityCollectionElement<T> implements ISelectableElement {
 
 
+       private SelectionArbitrator selectionArbitrator;
+       
        protected EntitySelectionElement<Reference> selection_reference;
        protected TextWithLabelElement text_referenceDetail;
 
        protected EntitySelectionElement<Reference> selection_reference;
        protected TextWithLabelElement text_referenceDetail;
 
@@ -37,6 +41,10 @@ public abstract class AbstractReferencedEntityElement<T extends ReferencedEntity
                        AbstractFormSection section, T entity,
                        SelectionListener removeListener, int style) {
                super(formFactory, section, entity, removeListener, null, style);
                        AbstractFormSection section, T entity,
                        SelectionListener removeListener, int style) {
                super(formFactory, section, entity, removeListener, null, style);
+               // make this element selectable
+               if(formFactory.getSelectionProvider() != null){
+                       selectionArbitrator = formFactory.createSelectionArbitrator(this);
+               }
        }
 
        /** {@inheritDoc} */
        }
 
        /** {@inheritDoc} */
@@ -57,5 +65,10 @@ public abstract class AbstractReferencedEntityElement<T extends ReferencedEntity
                selection_reference.setEntity(entity.getCitation());
                text_referenceDetail.setText(entity.getCitationMicroReference());
        }
                selection_reference.setEntity(entity.getCitation());
                text_referenceDetail.setText(entity.getCitationMicroReference());
        }
+       
+       @Override
+    public SelectionArbitrator getSelectionArbitrator() {
+               return selectionArbitrator;
+       }
 
 }
 
 }