ref #10222 adapt taxeditor to changes (DerivedUnitFacade and CondensedDistributionRec...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / DerivedUnitMediaSection.java
1 /**
2 * Copyright (C) 2020 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.ui.section.occurrence;
10
11 import java.util.Collection;
12 import java.util.Comparator;
13
14 import eu.etaxonomy.cdm.facade.DerivedUnitFacade;
15 import eu.etaxonomy.cdm.model.media.Media;
16 import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
17 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
18 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
19 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
20 import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
21
22 /**
23 * @author k.luther
24 * @since Aug 4, 2020
25 */
26 public class DerivedUnitMediaSection extends AbstractEntityCollectionSection<DerivedUnitFacade, Media> {
27
28 public DerivedUnitMediaSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement, int style) {
29 super(cdmFormFactory, parentElement, "Media", style);
30 }
31
32 @Override
33 public Media createNewElement() {
34 return Media.NewInstance();
35 }
36
37 @Override
38 public Collection<Media> getCollection(DerivedUnitFacade entity) {
39 return entity.getDerivedUnitMedia();
40 }
41
42 @Override
43 public Comparator<Media> getComparator() {
44 return new DefaultCdmBaseComparator<>();
45 }
46
47 @Override
48 public String getEmptyString() {
49 return "No media yet.";
50 }
51
52 @Override
53 protected String getTooltipString() {
54 return "Create new media";
55 }
56
57 @Override
58 public void addElement(Media element) {
59 getEntity().addDerivedUnitMedia(element);
60 }
61
62 @Override
63 public void removeElement(Media element) {
64 getEntity().removeDerivedUnitMedia(element);
65 }
66
67 @Override
68 public Media addExisting() {
69 return MediaSelectionDialog.select(getShell(), null);
70 }
71
72 @Override
73 public boolean allowAddExisting() {
74 return true;
75 }
76 }