Add selection listener to media detail element to allow showing
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 22 Sep 2015 06:13:48 +0000 (08:13 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 22 Sep 2015 06:21:05 +0000 (08:21 +0200)
supplemental data (#3367)

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ISelectableElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java

index 608206b020b307da3a07b916cb486e63a8862623..4eadc9c096656f4d409ccb14f51247f91a86352c 100644 (file)
@@ -1,9 +1,9 @@
 // $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.
 */
@@ -13,7 +13,18 @@ package eu.etaxonomy.taxeditor.ui.element;
 
 
 /**
- * <p>ISelectableElement interface.</p>
+ * Implementors of this interface provide a {@link SelectionArbitrator}.<br>
+ * The arbitrator allows the element to be selected to show e.g.
+ * supplemental data.<br>
+ * An arbitrator can be added like in the following code example:
+ * <br>
+ * <br>
+ * <pre>
+ * //make element selectable
+ *  if(cdmFormFactory.getSelectionProvider() != null){
+ *     selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
+ *  }
+ *  </pre>
  *
  * @author n.hoffmann
  * @created Mar 5, 2010
index 517e9cfd36504917d02a711a9d1e9535d3a1b8fb..361f149e2fc1841db317afc6c129e365345edbf5 100644 (file)
@@ -20,7 +20,9 @@ import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
 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.LanguageStringWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
@@ -30,17 +32,22 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @created Nov 17, 2009
  * @version 1.0
  */
-public class MediaMetaElement extends AbstractEntityCollectionElement<Media> implements ITogglableMediaElement{
+public class MediaMetaElement extends AbstractEntityCollectionElement<Media> implements ISelectableElement, ITogglableMediaElement{
 
     private EntitySelectionElement<AgentBase> selection_artist;
     private LanguageStringWithLabelElement text_description;
     private LanguageStringWithLabelElement text_title;
     private MediaDetailElement mediaDetailElement;
+    private SelectionArbitrator selectionArbitrator;
 
     public MediaMetaElement(CdmFormFactory cdmFormFactory,
             AbstractFormSection<?> formElement, Media element,
             SelectionListener removeListener, boolean isChoosableEntity, int style) {
         super(cdmFormFactory, formElement, element, removeListener, isChoosableEntity, null, style);
+        //make element selectable
+        if(cdmFormFactory.getSelectionProvider() != null){
+            selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
+        }
     }
 
     /** {@inheritDoc} */
@@ -108,4 +115,9 @@ public class MediaMetaElement extends AbstractEntityCollectionElement<Media> imp
         }
     }
 
+    @Override
+    public SelectionArbitrator getSelectionArbitrator() {
+        return selectionArbitrator;
+    }
+
 }
index e5e0857823c916ad7703f69d202921fab74e5a06..a54f02ab1f00cb40174461aad220ad3a262cf126 100644 (file)
@@ -69,7 +69,7 @@ public class NameDetailElement extends AbstractIdentifiableEntityDetailElement<N
        public NameDetailElement(CdmFormFactory cdmFormFactory, ICdmFormElement formElement,
                        int style) {
                super(cdmFormFactory, formElement);
-               // register as selection listener
+               // make this element selectable
                if(cdmFormFactory.getSelectionProvider() != null){
                        selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
                }