- added measurement unit section to Feature DetailView (#4448)
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 28 Apr 2015 11:39:33 +0000 (11:39 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 28 Apr 2015 11:39:33 +0000 (11:39 +0000)
 - adapted QuantitativeData DetailsView to only show recommended MeasurementUnits

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java

index 25c0777a6729b52bb54ea22b24123392fd3e23c5..651c98c7c39f75f9b125a61185ef2cf5749e37bc 100644 (file)
@@ -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.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;
 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.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;
 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;
     }
 
         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;
     }
 
         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);
     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<State>) entity, removeListener, backgroundColor, style);
             }
         } else if (entity instanceof TermVocabulary) {
             element = new StateVocabularyCollectionElement(this, parentElement, (TermVocabulary<State>) entity, removeListener, backgroundColor, style);
+        } else if (entity instanceof MeasurementUnit) {
+            element = new MeasurementUnitCollectionElement(this, parentElement, (MeasurementUnit) entity, removeListener, backgroundColor, style);
         }
 
         if (element == null) {
         }
 
         if (element == null) {
index 9f6ceb849e09d2c8ca3420c20dc0c11359300174..935db0984471cc741795741171925d34349ea27a 100644 (file)
@@ -46,13 +46,6 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
                section_stateData.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
        }
 
                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)
         */
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
         */
index 111fed24d9357befa200c959eb1dd1e77114983e..0cd3452c522306d7c319de99d321bb1b8a3b36ce 100644 (file)
@@ -3,6 +3,8 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.description.detail;
 
  */
 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;
 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<QuantitativeData> {
 
 public class QuantitativeDataDetailElement extends
                AbstractDetailedDescriptionDetailElement<QuantitativeData> {
 
-       private TermComboElement<MeasurementUnit> combo_mesaurementUnit;
+       private TermComboElement<MeasurementUnit> comboMeasurementUnit;
        private StatisticalMeasurementValueSection section_statisticalMeasurementValues;
 
        /**
        private StatisticalMeasurementValueSection section_statisticalMeasurementValues;
 
        /**
@@ -43,20 +45,19 @@ public class QuantitativeDataDetailElement extends
        @Override
        protected void createControls(ICdmFormElement formElement,
                        QuantitativeData entity, int style) {
        @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<MeasurementUnit>(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));
        }
 
                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) {
        /** {@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
                }
                }else if (eventSource == section_statisticalMeasurementValues){
                        // FIXME
                }
index 7c79e1f3ad87be85cc6ae66e3a63db5298ca7801..5193360993fc71fd15300373a3bd5670df0ef169 100644 (file)
@@ -42,6 +42,8 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
 \r
     private StateVocabularyCollectionSection sectionStateVocabularies;\r
 \r
 \r
     private StateVocabularyCollectionSection sectionStateVocabularies;\r
 \r
+    private MeasurementUnitCollectionSection sectionMeasurementUnits;\r
+\r
     /**\r
         * @param formFactory\r
         * @param formElement\r
     /**\r
         * @param formFactory\r
         * @param formElement\r
@@ -67,10 +69,15 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
            supportsCommonTaxonName = formFactory.createCheckbox(formElement, "Supports Common Taxon Name", entity.isSupportsCommonTaxonName(), style);\r
 \r
         if(supportsCategoricalData.getSelection()){\r
            supportsCommonTaxonName = formFactory.createCheckbox(formElement, "Supports Common Taxon Name", entity.isSupportsCommonTaxonName(), style);\r
 \r
         if(supportsCategoricalData.getSelection()){\r
-            sectionStateVocabularies = formFactory.createSectionStateVocabularies(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+            sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
             sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
             sectionStateVocabularies.setEntity(getEntity());\r
         }\r
             sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
             sectionStateVocabularies.setEntity(getEntity());\r
         }\r
+        if(supportsQuantitativeData.getSelection()){\r
+            sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+            sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+            sectionMeasurementUnits.setEntity(getEntity());\r
+        }\r
        }\r
 \r
        /* (non-Javadoc)\r
        }\r
 \r
        /* (non-Javadoc)\r
@@ -84,6 +91,16 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
            }\r
            else if(eventSource == supportsQuantitativeData){\r
                getEntity().setSupportsQuantitativeData(supportsQuantitativeData.getSelection());\r
            }\r
            else if(eventSource == supportsQuantitativeData){\r
                getEntity().setSupportsQuantitativeData(supportsQuantitativeData.getSelection());\r
+               if(supportsQuantitativeData.getSelection()){\r
+                   sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+                   sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+                   sectionMeasurementUnits.setEntity(getEntity());\r
+               }\r
+               else{\r
+                   if(sectionMeasurementUnits!=null){\r
+                       removeElementsAndControls(sectionMeasurementUnits);\r
+                   }\r
+               }\r
            }\r
            else if(eventSource == supportsDistribution){\r
                getEntity().setSupportsDistribution(supportsDistribution.getSelection());\r
            }\r
            else if(eventSource == supportsDistribution){\r
                getEntity().setSupportsDistribution(supportsDistribution.getSelection());\r
@@ -97,7 +114,7 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
            else if(eventSource == supportsCategoricalData){\r
                getEntity().setSupportsCategoricalData(supportsCategoricalData.getSelection());\r
                if(supportsCategoricalData.getSelection()){\r
            else if(eventSource == supportsCategoricalData){\r
                getEntity().setSupportsCategoricalData(supportsCategoricalData.getSelection());\r
                if(supportsCategoricalData.getSelection()){\r
-                   sectionStateVocabularies = formFactory.createSectionStateVocabularies(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+                   sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
                    sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
                    sectionStateVocabularies.setEntity(getEntity());\r
                }\r
                    sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
                    sectionStateVocabularies.setEntity(getEntity());\r
                }\r