Project

General

Profile

Download (3.06 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2007 EDIT
3
 * European Distributed Institute of Taxonomy 
4
 * http://www.e-taxonomy.eu
5
 * 
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * See LICENSE.TXT at the top of this package for the full license terms.
8
 */
9

    
10
package eu.etaxonomy.taxeditor.ui.section.occurrence;
11

    
12
import org.eclipse.swt.events.SelectionListener;
13

    
14
import eu.etaxonomy.cdm.model.agent.AgentBase;
15
import eu.etaxonomy.cdm.model.common.EventBase;
16
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
17
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
18
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
19
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
20
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
21
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
22
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
23

    
24
/**
25
 * <p>
26
 * Abstract AbstractEventDetailElement class.
27
 * </p>
28
 * 
29
 * @author n.hoffmann
30
 * @created Oct 14, 2010
31
 * @version 1.0
32
 */
33
public abstract class AbstractEventDetailElement<T extends EventBase> extends
34
		AbstractEntityCollectionElement<T> {
35

    
36
	protected EntitySelectionElement<AgentBase> selection_agent;
37
	protected TextWithLabelElement text_description;
38
	protected TimePeriodElement element_timePeriod;
39

    
40
	/**
41
	 * <p>
42
	 * Constructor for AbstractEventDetailElement.
43
	 * </p>
44
	 * 
45
	 * @param formFactory
46
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
47
	 *            object.
48
	 * @param section
49
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
50
	 *            object.
51
	 * @param entity
52
	 *            a T object.
53
	 * @param removeListener
54
	 *            a {@link org.eclipse.swt.events.SelectionListener} object.
55
	 * @param style
56
	 *            a int.
57
	 * @param <T>
58
	 *            a T object.
59
	 */
60
	public AbstractEventDetailElement(CdmFormFactory formFactory,
61
			AbstractFormSection section, T entity,
62
			SelectionListener removeListener, int style) {
63
		super(formFactory, section, entity, removeListener, null, style);
64
	}
65

    
66
	/*
67
	 * (non-Javadoc)
68
	 * 
69
	 * @see
70
	 * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
71
	 * (java.lang.Object)
72
	 */
73
	/** {@inheritDoc} */
74
	@Override
75
	public void setEntity(T entity) {
76
		selection_agent.setEntity(entity.getActor());
77
		text_description.setText(entity.getDescription());
78
		element_timePeriod.setEntity(entity.getTimeperiod());
79
	}
80

    
81
	/*
82
	 * (non-Javadoc)
83
	 * 
84
	 * @see
85
	 * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
86
	 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
87
	 */
88
	/** {@inheritDoc} */
89
	@Override
90
	public void createControls(ICdmFormElement element, int style) {
91
		selection_agent = formFactory
92
				.createSelectionElement(AgentBase.class,
93
						getConversationHolder(), element, "Actor", null,
94
						EntitySelectionElement.ALL, style);
95
		element_timePeriod = formFactory.createTimePeriodElement(element,
96
				"Time Period", null, style);
97
		text_description = formFactory.createTextWithLabelElement(element,
98
				"Description", null, style);
99
	}
100

    
101
}
(2-2/36)