3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
;
13 import org
.apache
.log4j
.Logger
;
14 import org
.eclipse
.swt
.events
.SelectionListener
;
16 import eu
.etaxonomy
.cdm
.model
.media
.MediaRepresentation
;
17 import eu
.etaxonomy
.taxeditor
.ui
.forms
.AbstractFormSection
;
18 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
19 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
20 import eu
.etaxonomy
.taxeditor
.ui
.forms
.TextWithLabelElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
.EntityDetailType
;
22 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionElement
;
25 * <p>MediaRepresentationElement class.</p>
28 * @created Mar 24, 2010
31 public class MediaRepresentationElement
extends AbstractEntityCollectionElement
<MediaRepresentation
> {
33 private static final Logger logger
= Logger
34 .getLogger(MediaRepresentationElement
.class);
35 private MediaRepresentationPartSection section_mediaRepresentationPart
;
36 private TextWithLabelElement text_mimeType
;
37 private TextWithLabelElement text_suffix
;
40 * <p>Constructor for MediaRepresentationElement.</p>
42 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
43 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
44 * @param element a {@link eu.etaxonomy.cdm.model.media.MediaRepresentation} object.
45 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
48 public MediaRepresentationElement(CdmFormFactory cdmFormFactory
,
49 AbstractFormSection section
,
50 MediaRepresentation element
, SelectionListener removeListener
,
52 super(cdmFormFactory
, section
, element
, removeListener
, null, style
);
56 * @see eu.etaxonomy.taxeditor.forms.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
60 public void createControls(ICdmFormElement element
, int style
) {
61 text_mimeType
= formFactory
.createTextWithLabelElement(element
, "Mime Type", null, style
);
62 text_suffix
= formFactory
.createTextWithLabelElement(element
, "Suffix", null, style
);
63 section_mediaRepresentationPart
= (MediaRepresentationPartSection
) formFactory
.createEntityDetailSection(EntityDetailType
.MEDIAREPRESENTATIONPART
, getConversationHolder(), element
, style
);
64 section_mediaRepresentationPart
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY(2, 1));
69 public void setEntity(MediaRepresentation element
) {
70 this.entity
= element
;
71 section_mediaRepresentationPart
.setEntity(element
);
72 text_mimeType
.setText(element
.getMimeType());
73 text_suffix
.setText(element
.getSuffix());
78 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
82 public void handleEvent(Object eventSource
) {
83 if(eventSource
== text_mimeType
){
84 getEntity().setMimeType(text_mimeType
.getText());
86 else if(eventSource
== text_suffix
){
87 getEntity().setSuffix(text_suffix
.getText());