From: Patrick Plitzner Date: Tue, 22 Sep 2015 06:13:48 +0000 (+0200) Subject: Add selection listener to media detail element to allow showing X-Git-Tag: 3.12.0^2~135^2~9 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/0bae5e5a8d3eee07125660aac7a44456e4fc0f49?hp=8b6a0f21319eeee67d251149328135095626ec89 Add selection listener to media detail element to allow showing supplemental data (#3367) --- diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ISelectableElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ISelectableElement.java index 608206b02..4eadc9c09 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ISelectableElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ISelectableElement.java @@ -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; /** - *

ISelectableElement interface.

+ * Implementors of this interface provide a {@link SelectionArbitrator}.
+ * The arbitrator allows the element to be selected to show e.g. + * supplemental data.
+ * An arbitrator can be added like in the following code example: + *
+ *
+ *
+ * //make element selectable
+ *  if(cdmFormFactory.getSelectionProvider() != null){
+ *     selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
+ *  }
+ *  
* * @author n.hoffmann * @created Mar 5, 2010 diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java index 517e9cfd3..361f149e2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java @@ -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 implements ITogglableMediaElement{ +public class MediaMetaElement extends AbstractEntityCollectionElement implements ISelectableElement, ITogglableMediaElement{ private EntitySelectionElement 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 imp } } + @Override + public SelectionArbitrator getSelectionArbitrator() { + return selectionArbitrator; + } + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java index e5e085782..a54f02ab1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java @@ -69,7 +69,7 @@ public class NameDetailElement extends AbstractIdentifiableEntityDetailElement