Project

General

Profile

« Previous | Next » 

Revision 5d8edc8c

Added by Niels Hoffmann over 12 years ago

Fixes #2525

View differences:

.gitattributes
1013 1013
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java -text
1014 1014
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java -text
1015 1015
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java -text
1016
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.java -text
1017 1016
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java -text
1018 1017
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java -text
1019 1018
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java -text
1019
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java -text
1020 1020
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java -text
1021 1021
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java -text
1022 1022
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmFormFactory.java
95 95
import eu.etaxonomy.cdm.model.media.ImageFile;
96 96
import eu.etaxonomy.cdm.model.media.Media;
97 97
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
98
import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
98 99
import eu.etaxonomy.cdm.model.media.Rights;
99 100
import eu.etaxonomy.cdm.model.media.RightsTerm;
100 101
import eu.etaxonomy.cdm.model.name.NameRelationship;
......
189 190
import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement;
190 191
import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
191 192
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement;
193
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartElement;
192 194
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection;
193 195
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationSection;
194 196
import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
......
2175 2177
		} else if (entity instanceof ImageFile) {
2176 2178
			element = new ImageFileElement(this, parentElement,
2177 2179
					(ImageFile) entity, removeListener, style);
2180
		} else if (entity instanceof MediaRepresentationPart){
2181
			element = new MediaRepresentationPartElement(this, parentElement, 
2182
					(MediaRepresentationPart) entity, removeListener, style);			
2178 2183
		} else if (entity instanceof NomenclaturalStatus) {
2179 2184
			element = new NomenclaturalStatusElement(this, parentElement,
2180 2185
					(NomenclaturalStatus) entity, removeListener, style);
......
2254 2259
							"Could not generate element for entity. "
2255 2260
									+ "Looks like the case is not handled already. Check implementation. Entity: "
2256 2261
									+ entity, null);
2262

  
2257 2263
		}
2258 2264

  
2259 2265
		if (backgroundColor != null && !backgroundColor.isDisposed()) {
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.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 org.apache.log4j.Logger;
14
import org.eclipse.swt.events.SelectionListener;
15

  
16
import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
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.NumberWithLabelElement;
21
import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;
22
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
23

  
24
/**
25
 * <p>Abstract AbstractMediaRepresentationPartElement class.</p>
26
 *
27
 * @author n.hoffmann
28
 * @created Mar 24, 2010
29
 * @version 1.0
30
 */
31
public abstract class AbstractMediaRepresentationPartElement<T extends MediaRepresentationPart> extends
32
		AbstractEntityCollectionElement<T> {
33

  
34

  
35
	private static final Logger logger = Logger
36
			.getLogger(AbstractMediaRepresentationPartElement.class);
37
	protected TextWithLabelElement text_uri;
38
	protected NumberWithLabelElement text_size;
39

  
40
	/**
41
	 * <p>Constructor for AbstractMediaRepresentationPartElement.</p>
42
	 *
43
	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
44
	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
45
	 * @param element a T object.
46
	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
47
	 * @param style a int.
48
	 * @param <T> a T object.
49
	 */
50
	public AbstractMediaRepresentationPartElement(CdmFormFactory formFactory,
51
			AbstractFormSection section,
52
			T element, SelectionListener removeListener,
53
			int style) {
54
		super(formFactory, section, element, removeListener, null, style);
55
	}
56
	
57
	/** {@inheritDoc} */
58
	@Override
59
	public void createControls(ICdmFormElement element, int style) {
60
		text_uri = formFactory.createTextWithLabelElement(element, "URI", null, style);
61
		text_size = formFactory.createIntegerTextWithLabelElement(element, "Size", null, style);
62
		text_size.setEnabled(false);
63
	}
64

  
65
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
17 17
import org.apache.commons.lang.StringUtils;
18 18
import org.apache.http.HttpException;
19 19
import org.eclipse.swt.events.SelectionListener;
20
import org.eclipse.ui.editors.text.EditorsUI;
20 21

  
21 22
import eu.etaxonomy.cdm.common.media.ImageInfo;
22 23
import eu.etaxonomy.cdm.model.media.ImageFile;
......
27 28
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
28 29
import eu.etaxonomy.taxeditor.ui.forms.ImageElement;
29 30
import eu.etaxonomy.taxeditor.ui.forms.KeyValueViewerElement;
30
import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
31 31
import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
32 32

  
33 33
/**
......
37 37
 * @created Mar 26, 2010
38 38
 * @version 1.0
39 39
 */
40
public class ImageFileElement extends AbstractMediaRepresentationPartElement<ImageFile> {
40
public class ImageFileElement extends MediaRepresentationPartElement<ImageFile> {
41 41

  
42 42
	private NumberWithLabelElement text_height;
43 43
	private NumberWithLabelElement text_width;
44 44
	private KeyValueViewerElement element_keyValue;
45 45
	private ImageElement element_image;
46 46
	
47
	private LabelElement element_messages;
47
	
48 48
	private Runnable postRunnable = new Runnable(){
49 49
		public void run() {
50 50
			StoreUtil.reflowDetailsViewer();
......
78 78
		text_width = formFactory.createIntegerTextWithLabelElement(formElement, "Width", null, style);
79 79
		text_width.setEnabled(false);
80 80
		element_image = formFactory.createImageElement(formElement, null, style);
81
		element_messages = formFactory.createLabel(formElement, "");
82 81
		element_keyValue = formFactory.createKeyValueViewerElement(formElement, "Key", "Value", null);
83 82
	}
84 83
	
85 84
	/** {@inheritDoc} */
86 85
	@Override
87 86
	public void setEntity(ImageFile entity) {
88
		this.entity = entity;
89
		if(entity.getSize() != null){
90
			text_size.setText(FileUtils.byteCountToDisplaySize(entity.getSize()));
91
		}
87
		super.setEntity(entity);
92 88
		text_height.setInteger(entity.getHeight());
93 89
		text_width.setInteger(entity.getWidth());
94
		if(entity.getUri() != null){
95
			text_uri.setText(entity.getUri().toString());
96
		}
97 90
		try {
98 91
			showImage(entity.getUri());		
99
			element_messages.setText("");
100 92
		} catch (Exception e) {
101 93
			handleException(e);
102 94
		}
......
153 145
		}
154 146
	}
155 147

  
156
	private void handleException(Exception e) {
157
		element_messages.setText(e.getMessage());
148
	protected void handleException(Exception e) {
149
		super.handleException(e);
158 150
		element_image.unloadImage(postRunnable);
159
		text_size.setText("");
160 151
		text_height.setInteger(0);
161 152
		text_width.setInteger(0);
162 153
		
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.apache.commons.lang.StringUtils;
17
import org.eclipse.swt.events.SelectionListener;
18

  
19
import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
20
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
21
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
22
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
23
import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
24
import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
25
import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;
26
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
27

  
28
/**
29
 * <p>Abstract AbstractMediaRepresentationPartElement class.</p>
30
 *
31
 * @author n.hoffmann
32
 * @created Mar 24, 2010
33
 * @version 1.0
34
 */
35
public class MediaRepresentationPartElement<T extends MediaRepresentationPart> extends
36
		AbstractEntityCollectionElement<T> {
37

  
38
	protected TextWithLabelElement text_uri;
39
	protected NumberWithLabelElement text_size;
40

  
41
	protected LabelElement element_messages;
42
	
43
	/**
44
	 * <p>Constructor for AbstractMediaRepresentationPartElement.</p>
45
	 *
46
	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
47
	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
48
	 * @param element a T object.
49
	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
50
	 * @param style a int.
51
	 * @param <T> a T object.
52
	 */
53
	public MediaRepresentationPartElement(CdmFormFactory formFactory,
54
			AbstractFormSection section,
55
			T element, SelectionListener removeListener,
56
			int style) {
57
		super(formFactory, section, element, removeListener, null, style);
58
	}
59
	
60
	/** {@inheritDoc} */
61
	@Override
62
	public void createControls(ICdmFormElement element, int style) {
63
		text_uri = formFactory.createTextWithLabelElement(element, "URI", null, style);
64
		text_size = formFactory.createIntegerTextWithLabelElement(element, "Size", null, style);
65
		text_size.setEnabled(false);
66
		
67
		element_messages = formFactory.createLabel(element, "");
68
	}
69

  
70
	@Override
71
	public void setEntity(T entity) {
72
		this.entity = entity;
73
		if(entity.getSize() != null){
74
			text_size.setText(FileUtils.byteCountToDisplaySize(entity.getSize()));
75
		}
76
		if(entity.getUri() != null){
77
			text_uri.setText(entity.getUri().toString());
78
		}
79
		element_messages.setText("We currrently do not know how to display this generic MediaRepresentationPart to you.");
80
	}
81

  
82
	@Override
83
	public void handleEvent(Object eventSource) {
84
		if(eventSource == text_uri){
85
			try {
86
				String uriString = text_uri.getText();
87
				URI uri = StringUtils.isNotEmpty(uriString) ? new URI(uriString) : null;
88
				getEntity().setUri(uri);
89
			} catch (Exception e) {
90
				handleException(e);
91
			} finally {				
92
				firePropertyChangeEvent(this);
93
			}
94
		} 
95
	}
96
	
97
	protected void handleException(Exception e) {
98
		element_messages.setText(e.getMessage());
99
		text_size.setText("");
100
	}
101

  
102
}

Also available in: Unified diff