- added measurement unit section to Feature DetailView (#4448)
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / vocabulary / FeatureDetailElement.java
index 78c0d19c31626d93f19c08524342789c939f0a5f..5193360993fc71fd15300373a3bd5670df0ef169 100644 (file)
@@ -9,10 +9,13 @@
 */\r
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
 \r
+import org.eclipse.ui.forms.widgets.ExpandableComposite;\r
+\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;\r
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
 import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;\r
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;\r
 \r
 /**\r
  * @author l.morris\r
@@ -21,6 +24,8 @@ import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
  */\r
 public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {\r
 \r
+    private ICdmFormElement parentFormElement;\r
+\r
     private CheckboxElement supportsTextData;\r
 \r
     private CheckboxElement supportsQuantitativeData;\r
@@ -35,6 +40,10 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
 \r
     private CheckboxElement supportsCommonTaxonName;\r
 \r
+    private StateVocabularyCollectionSection sectionStateVocabularies;\r
+\r
+    private MeasurementUnitCollectionSection sectionMeasurementUnits;\r
+\r
     /**\r
         * @param formFactory\r
         * @param formElement\r
@@ -50,6 +59,7 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
        @Override\r
        protected void createControls(ICdmFormElement formElement, Feature entity, int style) {\r
            super.createControls(formElement, entity, style);\r
+           this.parentFormElement = formElement;\r
            supportsTextData = formFactory.createCheckbox(formElement, "Supports Text Data", entity.isSupportsTextData(), style);\r
            supportsQuantitativeData = formFactory.createCheckbox(formElement, "Supports Quantitive Data", entity.isSupportsQuantitativeData(), style);\r
            supportsDistribution = formFactory.createCheckbox(formElement, "Supports Distribution", entity.isSupportsDistribution(), style);\r
@@ -57,6 +67,17 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
            supportsTaxonInteraction = formFactory.createCheckbox(formElement, "Supports Taxon Interaction", entity.isSupportsTaxonInteraction(), style);\r
            supportsCategoricalData = formFactory.createCheckbox(formElement, "Supports Categorical Data", entity.isSupportsCategoricalData(), style);\r
            supportsCommonTaxonName = formFactory.createCheckbox(formElement, "Supports Common Taxon Name", entity.isSupportsCommonTaxonName(), style);\r
+\r
+        if(supportsCategoricalData.getSelection()){\r
+            sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\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
@@ -70,6 +91,16 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
            }\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
@@ -82,6 +113,16 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
            }\r
            else if(eventSource == supportsCategoricalData){\r
                getEntity().setSupportsCategoricalData(supportsCategoricalData.getSelection());\r
+               if(supportsCategoricalData.getSelection()){\r
+                   sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+                   sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+                   sectionStateVocabularies.setEntity(getEntity());\r
+               }\r
+               else{\r
+                   if(sectionStateVocabularies!=null){\r
+                       removeElementsAndControls(sectionStateVocabularies);\r
+                   }\r
+               }\r
            }\r
            else if(eventSource == supportsCommonTaxonName){\r
                getEntity().setSupportsCommonTaxonName(supportsCommonTaxonName.getSelection());\r