Project

General

Profile

Download (3.66 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.description;
11

    
12
import java.math.BigDecimal;
13
import java.util.ArrayList;
14
import java.util.Set;
15

    
16
import org.eclipse.swt.events.SelectionListener;
17

    
18
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
19
import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
20
import eu.etaxonomy.cdm.model.term.TermType;
21
import eu.etaxonomy.taxeditor.store.StoreUtil;
22
import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
23
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
24
import eu.etaxonomy.taxeditor.ui.element.BigDecimalWithLabelElement;
25
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
26
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
27
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
28
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
29

    
30
/**
31
 * <p>StatisticalMeasurementValueElement class.</p>
32
 *
33
 * @author n.hoffmann
34
 * @created Sep 15, 2010
35
 */
36
public class StatisticalMeasurementValueElement extends
37
		AbstractEntityCollectionElement<StatisticalMeasurementValue> {
38

    
39
	private BigDecimalWithLabelElement number_value;
40
	private TermComboElement<StatisticalMeasure> combo_type;
41
	private ModifierSection section_modifiers;
42

    
43
	/**
44
	 * <p>Constructor for StatisticalMeasurementValueElement.</p>
45
	 *
46
	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
47
	 * @param section a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
48
	 * @param entity a {@link eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue} object.
49
	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
50
	 * @param style a int.
51
	 */
52
	public StatisticalMeasurementValueElement(CdmFormFactory formFactory,
53
			AbstractFormSection section, StatisticalMeasurementValue entity,
54
			SelectionListener removeListener, int style) {
55
		super(formFactory, section, entity, removeListener, null, style);
56
	}
57

    
58
	@Override
59
	public void setEntity(StatisticalMeasurementValue entity) {
60
		this.entity = entity;
61
		Set<StatisticalMeasure> statisiticalMeasures = getEntity().getQuantitativeData().getFeature().getRecommendedStatisticalMeasures();
62
        combo_type.setTerms(new ArrayList<StatisticalMeasure>(statisiticalMeasures));
63
		combo_type.setSelection(entity.getType());
64
		number_value.setNumber(entity.getValue());
65
		section_modifiers.setEntity(entity);
66
	}
67

    
68
	@Override
69
	public void createControls(ICdmFormElement element, int style) {
70
		number_value = formFactory.createBigDecimalTextWithLabelElement(element, "Value", 0, style);
71
		combo_type = formFactory.createDefinedTermComboElement(TermType.StatisticalMeasure, element, "Statistical Measure", null, style);
72
		section_modifiers = formFactory.createModifierSection(getConversationHolder(), element, StoreUtil.getSectionStyle(ModifierSection.class, StatisticalMeasurementValue.class.getCanonicalName()));
73
		section_modifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
74
	}
75

    
76
	@Override
77
	public void handleEvent(Object eventSource) {
78
		if(eventSource == number_value){
79
			BigDecimal bigDecimalNumber = number_value.getBigDecimal();
80
			if(bigDecimalNumber==null){
81
			    String zero = "0.0";
82
			    bigDecimalNumber = new BigDecimal(zero);
83
//			    number_value.setText(zero);
84
			}
85
            getEntity().setValue(bigDecimalNumber);
86
		}
87
		else if(eventSource == combo_type){
88
			getEntity().setType(combo_type.getSelection());
89
			combo_type.removeEmptyElement();
90
		}
91
	}
92
}
(25-25/26)