3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.taxeditor
.ui
.section
.description
;
13 import java
.util
.ArrayList
;
16 import org
.eclipse
.swt
.events
.SelectionListener
;
17 import org
.eclipse
.ui
.forms
.widgets
.ExpandableComposite
;
19 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
20 import eu
.etaxonomy
.cdm
.model
.description
.StatisticalMeasure
;
21 import eu
.etaxonomy
.cdm
.model
.description
.StatisticalMeasurementValue
;
22 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.AbstractFormSection
;
24 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
25 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
26 import eu
.etaxonomy
.taxeditor
.ui
.element
.LayoutConstants
;
27 import eu
.etaxonomy
.taxeditor
.ui
.element
.NumberWithLabelElement
;
28 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionElement
;
31 * <p>StatisticalMeasurementValueElement class.</p>
34 * @created Sep 15, 2010
37 public class StatisticalMeasurementValueElement
extends
38 AbstractEntityCollectionElement
<StatisticalMeasurementValue
> {
40 private NumberWithLabelElement number_value
;
41 private TermComboElement
<StatisticalMeasure
> combo_type
;
42 private ModifierSection section_modifiers
;
45 * <p>Constructor for StatisticalMeasurementValueElement.</p>
47 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
48 * @param section a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
49 * @param entity a {@link eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue} object.
50 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
53 public StatisticalMeasurementValueElement(CdmFormFactory formFactory
,
54 AbstractFormSection section
, StatisticalMeasurementValue entity
,
55 SelectionListener removeListener
, int style
) {
56 super(formFactory
, section
, entity
, removeListener
, null, style
);
61 public void setEntity(StatisticalMeasurementValue entity
) {
63 Set
<StatisticalMeasure
> statisiticalMeasures
= getEntity().getQuantitativeData().getFeature().getRecommendedStatisticalMeasures();
64 combo_type
.setTerms(new ArrayList
<StatisticalMeasure
>(statisiticalMeasures
));
65 combo_type
.setSelection(entity
.getType());
66 number_value
.setNumber(entity
.getValue());
67 section_modifiers
.setEntity(entity
);
72 public void createControls(ICdmFormElement element
, int style
) {
73 number_value
= formFactory
.createNumberTextWithLabelElement(element
, "Value", 0, style
);
74 combo_type
= formFactory
.createDefinedTermComboElement(TermType
.StatisticalMeasure
, element
, "Statistical Measure", null, style
);
75 section_modifiers
= formFactory
.createModifierSection(getConversationHolder(), element
, ExpandableComposite
.TWISTIE
);
76 section_modifiers
.setLayoutData(LayoutConstants
.FILL_HORIZONTALLY(2, 1));
81 public void handleEvent(Object eventSource
) {
82 if(eventSource
== number_value
){
83 Float floatNumber
= number_value
.getFloat();
84 if(floatNumber
==null){
86 floatNumber
= new Float(zero
);
87 number_value
.setText(zero
);
89 getEntity().setValue(floatNumber
);
91 else if(eventSource
== combo_type
){
92 getEntity().setType(combo_type
.getSelection());
93 combo_type
.removeEmptyElement();