Merge branch 'develop' into LibrAlign
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / media / MediaRepresentationPartElement.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
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.
9 */
10
11 package eu.etaxonomy.taxeditor.ui.section.media;
12
13 import java.net.URI;
14
15 import org.apache.commons.io.FileUtils;
16 import org.eclipse.swt.events.SelectionListener;
17
18 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
19 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
20 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
21 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
22 import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
23 import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
24 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
25
26 /**
27 * <p>Abstract AbstractMediaRepresentationPartElement class.</p>
28 *
29 * @author n.hoffmann
30 * @created Mar 24, 2010
31 * @version 1.0
32 */
33 public class MediaRepresentationPartElement<T extends MediaRepresentationPart> extends
34 AbstractEntityCollectionElement<T> {
35
36 protected UriWithLabelElement text_uri;
37 protected NumberWithLabelElement text_size;
38
39 public MediaRepresentationPartElement(CdmFormFactory formFactory,
40 AbstractFormSection section,
41 T element, SelectionListener removeListener,
42 int style) {
43 super(formFactory, section, element, removeListener, null, style);
44 }
45
46 /** {@inheritDoc} */
47 @Override
48 public void createControls(ICdmFormElement element, int style) {
49 text_uri = formFactory.createUriWithLabelElement(element, "URI", null, style);
50 text_size = formFactory.createNumberTextWithLabelElement(element, "Size", null, style);
51 text_size.setEnabled(false);
52 }
53
54 @Override
55 public void setEntity(T entity) {
56 this.entity = entity;
57 if(entity.getSize() != null){
58 text_size.setText(FileUtils.byteCountToDisplaySize(entity.getSize()));
59 }
60 if(entity.getUri() != null){
61 text_uri.setText(entity.getUri().toString());
62 }
63 }
64
65 @Override
66 public void handleEvent(Object eventSource) {
67 if(eventSource == text_uri){
68 URI uri = text_uri.getUri();
69 getEntity().setUri(uri);
70 firePropertyChangeEvent(this);
71 }
72 }
73
74 }