- adapted EntitiySelectionElement to be able to use with WindowBuilder
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / AbstractEventDetailElementComposite.java
1 // $Id$
2 /**
3 * Copyright (C) 2013 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 package eu.etaxonomy.taxeditor.ui.section.occurrence;
11
12 import org.eclipse.swt.events.SelectionListener;
13 import org.eclipse.swt.widgets.Composite;
14 import org.eclipse.ui.forms.widgets.FormToolkit;
15
16 import eu.etaxonomy.cdm.model.agent.AgentBase;
17 import eu.etaxonomy.cdm.model.common.EventBase;
18 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
19 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
20 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
21 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
22 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElementComposite;
23 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
24
25 /**
26 * @author pplitzner
27 * @date 02.08.2013
28 *
29 */
30 public abstract class AbstractEventDetailElementComposite<T extends EventBase> extends AbstractEntityCollectionElementComposite<T> {
31
32 protected EntitySelectionElement<AgentBase> selection_agent;
33 protected TextWithLabelElement text_description;
34 protected TimePeriodElement element_timePeriod;
35
36 /**
37 * <p>
38 * Constructor for AbstractEventDetailElement.
39 * </p>
40 *
41 * @param formFactory
42 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
43 * object.
44 * @param section
45 * a
46 * {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
47 * object.
48 * @param entity
49 * a T object.
50 * @param removeListener
51 * a {@link org.eclipse.swt.events.SelectionListener} object.
52 * @param style
53 * a int.
54 * @param <T>
55 * a T object.
56 */
57 public AbstractEventDetailElementComposite(Composite parent, FormToolkit formFactory, AbstractFormSection section, T entity, SelectionListener removeListener, int style) {
58 super(parent, formFactory, section, entity, removeListener, null, style);
59 }
60
61 /*
62 * (non-Javadoc)
63 *
64 * @see
65 * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
66 * (java.lang.Object)
67 */
68 /** {@inheritDoc} */
69 @Override
70 public void setEntity(T entity) {
71 if(entity!=null){
72 selection_agent.setEntity(entity.getActor());
73 text_description.setText(entity.getDescription());
74 element_timePeriod.setEntity(entity.getTimeperiod());
75 }
76 }
77
78 /*
79 * (non-Javadoc)
80 *
81 * @see
82 * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
83 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
84 */
85 /** {@inheritDoc} */
86 @Override
87 public void createControls(ICdmFormElement element, int style) {
88 selection_agent = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), element, "Actor", null, EntitySelectionElement.ALL, style);
89 element_timePeriod = formFactory.createTimePeriodElement(element, "Time Period", null, style);
90 text_description = formFactory.createTextWithLabelElement(element, "Description", null, style);
91 }
92
93 }