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