- combo dropdowns intitially show an empty field which is now removed when selecting...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / detail / QuantitativeDataDetailElement.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section.description.detail;
5
6 import java.util.ArrayList;
7
8 import org.eclipse.ui.forms.widgets.ExpandableComposite;
9
10 import eu.etaxonomy.cdm.model.common.TermType;
11 import eu.etaxonomy.cdm.model.description.MeasurementUnit;
12 import eu.etaxonomy.cdm.model.description.QuantitativeData;
13 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
14 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
15 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
16 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
17 import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection;
18
19 /**
20 * <p>QuantitativeDataDetailElement class.</p>
21 *
22 * @author n.hoffmann
23 * @version $Id: $
24 */
25 public class QuantitativeDataDetailElement extends
26 AbstractDetailedDescriptionDetailElement<QuantitativeData> {
27
28 private TermComboElement<MeasurementUnit> comboMeasurementUnit;
29 private StatisticalMeasurementValueSection section_statisticalMeasurementValues;
30
31 /**
32 * <p>Constructor for QuantitativeDataDetailElement.</p>
33 *
34 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
35 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
36 * @param entity a {@link eu.etaxonomy.cdm.model.description.QuantitativeData} object.
37 * @param style a int.
38 */
39 public QuantitativeDataDetailElement(CdmFormFactory formFactory,
40 ICdmFormElement formElement, QuantitativeData entity, int style) {
41 super(formFactory, formElement, entity, style);
42 }
43
44 /** {@inheritDoc} */
45 @Override
46 protected void createControls(ICdmFormElement formElement,
47 QuantitativeData entity, int style) {
48 comboMeasurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, formElement, "Measurement Unit", null, style);
49 comboMeasurementUnit.setTerms(new ArrayList<MeasurementUnit>(entity.getFeature().getRecommendedMeasurementUnits()));
50 comboMeasurementUnit.setSelection(entity.getUnit());
51 section_statisticalMeasurementValues = formFactory.createStatisticalMeasurementValueSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
52 section_statisticalMeasurementValues.setEntity(entity);
53 section_statisticalMeasurementValues.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
54 }
55
56 /** {@inheritDoc} */
57 @Override
58 public void handleEvent(Object eventSource) {
59 if(eventSource == comboMeasurementUnit){
60 getEntity().setUnit(comboMeasurementUnit.getSelection());
61 comboMeasurementUnit.removeEmptyElement();
62 }else if (eventSource == section_statisticalMeasurementValues){
63 // FIXME
64 }
65 }
66
67 }