4 package eu
.etaxonomy
.taxeditor
.ui
.section
.vocabulary
;
6 import java
.util
.Collection
;
7 import java
.util
.Comparator
;
9 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
10 import eu
.etaxonomy
.cdm
.model
.term
.DefinedTermBase
;
11 import eu
.etaxonomy
.taxeditor
.editor
.definedterm
.TermBasePropertyTester
;
12 import eu
.etaxonomy
.taxeditor
.ui
.dialog
.selection
.MediaSelectionDialog
;
13 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
14 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
15 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionSection
;
16 import eu
.etaxonomy
.taxeditor
.ui
.section
.DefaultCdmBaseComparator
;
22 public class TermMediaSection
extends AbstractEntityCollectionSection
<DefinedTermBase
, Media
>{
24 public TermMediaSection(CdmFormFactory cdmFormFactory
, ICdmFormElement parentElement
, int style
) {
25 super(cdmFormFactory
, parentElement
, "Media", style
);
30 public Media
createNewElement() {
31 return Media
.NewInstance();
35 public Collection
<Media
> getCollection(DefinedTermBase entity
) {
36 return entity
.getMedia();
40 public Comparator
<Media
> getComparator() {
41 return new DefaultCdmBaseComparator
<>();
45 public String
getEmptyString() {
46 return "No media yet.";
50 protected String
getTooltipString() {
51 return "Create new media";
55 public void addElement(Media element
) {
56 getEntity().addMedia(element
);
60 public void removeElement(Media element
) {
61 getEntity().removeMedia(element
);
65 public Media
addExisting() {
66 return MediaSelectionDialog
.select(getShell(), null);
70 public boolean allowAddExisting() {
75 public void setEntity(DefinedTermBase entity
) {
76 super.setEntity(entity
);
77 setEnabled(TermBasePropertyTester
.isModifiable(entity
));