From d22d668e5e8a32828c68ae939284dec0ffccb1ac Mon Sep 17 00:00:00 2001
From: Patric Plitzner
Date: Tue, 28 Apr 2015 11:39:33 +0000
Subject: [PATCH] - added measurement unit section to Feature DetailView
(#4448) - adapted QuantitativeData DetailsView to only show recommended
MeasurementUnits
---
.../taxeditor/ui/element/CdmFormFactory.java | 13 +++++++++++-
.../detail/CategoricalDataDetailElement.java | 7 -------
.../detail/QuantitativeDataDetailElement.java | 15 ++++++-------
.../vocabulary/FeatureDetailElement.java | 21 +++++++++++++++++--
4 files changed, 39 insertions(+), 17 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
index 25c0777a6..651c98c7c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
@@ -74,6 +74,7 @@ import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.KeyStatement;
+import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.description.State;
import eu.etaxonomy.cdm.model.description.StateData;
@@ -307,6 +308,8 @@ import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.FeatureDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection;
@@ -2305,12 +2308,18 @@ public class CdmFormFactory extends FormToolkit {
return section;
}
- public StateVocabularyCollectionSection createSectionStateVocabularies(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ public StateVocabularyCollectionSection createStateVocabulariesSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
StateVocabularyCollectionSection section = new StateVocabularyCollectionSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
return section;
}
+ public MeasurementUnitCollectionSection createMeasurementUnitCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ MeasurementUnitCollectionSection section = new MeasurementUnitCollectionSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public CollectingAreasDetailSection createCollectingAreasDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
CollectingAreasDetailSection section = new CollectingAreasDetailSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
@@ -2544,6 +2553,8 @@ public class CdmFormFactory extends FormToolkit {
}
} else if (entity instanceof TermVocabulary) {
element = new StateVocabularyCollectionElement(this, parentElement, (TermVocabulary) entity, removeListener, backgroundColor, style);
+ } else if (entity instanceof MeasurementUnit) {
+ element = new MeasurementUnitCollectionElement(this, parentElement, (MeasurementUnit) entity, removeListener, backgroundColor, style);
}
if (element == null) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
index 9f6ceb849..935db0984 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
@@ -46,13 +46,6 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
section_stateData.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
}
- /** {@inheritDoc} */
- @Override
- public void setEntity(CategoricalData entity) {
-// section_stateData.setEntity(entity);
- super.setEntity(entity);
- }
-
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
*/
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
index 111fed24d..0cd3452c5 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
@@ -3,6 +3,8 @@
*/
package eu.etaxonomy.taxeditor.ui.section.description.detail;
+import java.util.ArrayList;
+
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import eu.etaxonomy.cdm.model.common.TermType;
@@ -23,7 +25,7 @@ import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValue
public class QuantitativeDataDetailElement extends
AbstractDetailedDescriptionDetailElement {
- private TermComboElement combo_mesaurementUnit;
+ private TermComboElement comboMeasurementUnit;
private StatisticalMeasurementValueSection section_statisticalMeasurementValues;
/**
@@ -43,20 +45,19 @@ public class QuantitativeDataDetailElement extends
@Override
protected void createControls(ICdmFormElement formElement,
QuantitativeData entity, int style) {
- combo_mesaurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, formElement, "Measurement Unit", entity.getUnit(), style);
+ comboMeasurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, formElement, "Measurement Unit", null, style);
+ comboMeasurementUnit.setTerms(new ArrayList(entity.getFeature().getRecommendedMeasurementUnits()));
+ comboMeasurementUnit.setSelection(entity.getUnit());
section_statisticalMeasurementValues = formFactory.createStatisticalMeasurementValueSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
section_statisticalMeasurementValues.setEntity(entity);
section_statisticalMeasurementValues.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
- if(eventSource == combo_mesaurementUnit){
- getEntity().setUnit(combo_mesaurementUnit.getSelection());
+ if(eventSource == comboMeasurementUnit){
+ getEntity().setUnit(comboMeasurementUnit.getSelection());
}else if (eventSource == section_statisticalMeasurementValues){
// FIXME
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java
index 7c79e1f3a..519336099 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java
@@ -42,6 +42,8 @@ public class FeatureDetailElement extends DefinedTermDetailElement {
private StateVocabularyCollectionSection sectionStateVocabularies;
+ private MeasurementUnitCollectionSection sectionMeasurementUnits;
+
/**
* @param formFactory
* @param formElement
@@ -67,10 +69,15 @@ public class FeatureDetailElement extends DefinedTermDetailElement {
supportsCommonTaxonName = formFactory.createCheckbox(formElement, "Supports Common Taxon Name", entity.isSupportsCommonTaxonName(), style);
if(supportsCategoricalData.getSelection()){
- sectionStateVocabularies = formFactory.createSectionStateVocabularies(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);
+ sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);
sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
sectionStateVocabularies.setEntity(getEntity());
}
+ if(supportsQuantitativeData.getSelection()){
+ sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);
+ sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ sectionMeasurementUnits.setEntity(getEntity());
+ }
}
/* (non-Javadoc)
@@ -84,6 +91,16 @@ public class FeatureDetailElement extends DefinedTermDetailElement {
}
else if(eventSource == supportsQuantitativeData){
getEntity().setSupportsQuantitativeData(supportsQuantitativeData.getSelection());
+ if(supportsQuantitativeData.getSelection()){
+ sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);
+ sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ sectionMeasurementUnits.setEntity(getEntity());
+ }
+ else{
+ if(sectionMeasurementUnits!=null){
+ removeElementsAndControls(sectionMeasurementUnits);
+ }
+ }
}
else if(eventSource == supportsDistribution){
getEntity().setSupportsDistribution(supportsDistribution.getSelection());
@@ -97,7 +114,7 @@ public class FeatureDetailElement extends DefinedTermDetailElement {
else if(eventSource == supportsCategoricalData){
getEntity().setSupportsCategoricalData(supportsCategoricalData.getSelection());
if(supportsCategoricalData.getSelection()){
- sectionStateVocabularies = formFactory.createSectionStateVocabularies(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);
+ sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);
sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
sectionStateVocabularies.setEntity(getEntity());
}
--
2.34.1