Project

General

Profile

Download (2.13 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 *
3
 */
4
package eu.etaxonomy.taxeditor.ui.section.media;
5

    
6
import java.util.Collection;
7
import java.util.Comparator;
8

    
9
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
10
import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
11
import eu.etaxonomy.cdm.model.media.Media;
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;
17

    
18
/**
19
 * <p>MediaSection class.</p>
20
 *
21
 * @author nho
22
 */
23
public class MediaSection extends AbstractEntityCollectionSection<IdentifiableMediaEntity, Media>{
24

    
25
	/**
26
	 * <p>Constructor for MediaSection.</p>
27
	 *
28
	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
29
	 * @param style a int.
30
	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
31
	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
32
	 */
33
	public MediaSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
34
		super(cdmFormFactory, conversation, parentElement, "Media", style);
35
	}
36

    
37
	@Override
38
	public Media createNewElement() {
39
		return Media.NewInstance();
40
	}
41

    
42
	@Override
43
	public Collection<Media> getCollection(IdentifiableMediaEntity entity) {
44
		return entity.getMedia();
45
	}
46

    
47
	@Override
48
	public Comparator<Media> getComparator() {
49
        return new DefaultCdmBaseComparator<>();
50
	}
51

    
52
	@Override
53
	public String getEmptyString() {
54
		return "No media yet.";
55
	}
56

    
57
	@Override
58
	protected String getTooltipString() {
59
		return "Create new media";
60
	}
61

    
62
	@Override
63
	public void addElement(Media element) {
64
		getEntity().addMedia(element);
65
	}
66

    
67
	@Override
68
	public void removeElement(Media element) {
69
		getEntity().removeMedia(element);
70
	}
71

    
72
    @Override
73
    public Media addExisting() {
74
        return MediaSelectionDialog.select(getShell(), null);
75
    }
76

    
77
    @Override
78
    public boolean allowAddExisting() {
79
        return true;
80
    }
81
}
(9-9/10)