2 package eu
.etaxonomy
.taxeditor
.ui
.section
.media
;
4 import java
.util
.Collection
;
6 import org
.eclipse
.jface
.util
.PropertyChangeEvent
;
8 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
9 import eu
.etaxonomy
.cdm
.model
.media
.ImageFile
;
10 import eu
.etaxonomy
.cdm
.model
.media
.MediaRepresentation
;
11 import eu
.etaxonomy
.cdm
.model
.media
.MediaRepresentationPart
;
12 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
13 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmPropertyChangeEvent
;
14 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
15 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionSection
;
18 * <p>MediaRepresentationPartSection class.</p>
23 public class MediaRepresentationPartSection
extends
24 AbstractEntityCollectionSection
<MediaRepresentation
, MediaRepresentationPart
> {
27 * <p>Constructor for MediaRepresentationPartSection.</p>
29 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
30 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
31 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
34 public MediaRepresentationPartSection(CdmFormFactory cdmFormFactory
, ConversationHolder conversation
,
35 ICdmFormElement parentElement
, int style
) {
36 super(cdmFormFactory
, conversation
, parentElement
, "Media Representation Part", style
);
37 formFactory
.addPropertyChangeListener(this);
42 public void addElement(MediaRepresentationPart element
) {
43 getEntity().addRepresentationPart(element
);
48 public MediaRepresentationPart
createNewElement() {
49 // FIXME we are supporting image only at the moment
50 return ImageFile
.NewInstance(null, null);
55 public Collection
<MediaRepresentationPart
> getCollection(
56 MediaRepresentation entity
) {
57 return getEntity().getParts();
62 public String
getEmptyString() {
63 return "No media representation parts yet.";
68 protected String
getTooltipString() {
69 return "Create new media representation part.";
74 public void removeElement(MediaRepresentationPart element
) {
75 getEntity().removeRepresentationPart(element
);
79 public void propertyChange(PropertyChangeEvent event
) {
83 Object eventSource
= event
.getSource();
84 if(eventSource
!= this && getElements().contains(eventSource
)){
85 firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
86 super.propertyChange(event
);
94 public MediaRepresentationPart
addExisting() {
102 public boolean allowAddExisting() {