ref #3836: show modifier part only if recommended modifier voc exist
[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.description.MeasurementUnit;
11 import eu.etaxonomy.cdm.model.description.QuantitativeData;
12 import eu.etaxonomy.cdm.model.term.TermType;
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 if (entity.getFeature().getRecommendedModifierEnumeration() != null){
55 createModifier(formElement, entity, style);
56 }
57 }
58
59 /** {@inheritDoc} */
60 @Override
61 public void handleEvent(Object eventSource) {
62 if(eventSource == comboMeasurementUnit){
63 getEntity().setUnit(comboMeasurementUnit.getSelection());
64 comboMeasurementUnit.removeEmptyElement();
65 }else if (eventSource == section_statisticalMeasurementValues){
66 // FIXME
67 }
68 }
69
70 }