ref #3836: show always freetext modifier field
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / detail / CategoricalDataDetailElement.java
index 01e0f3b090bb13b66f90f5628914681c1aef7665..94f5043d4e5612e07d52b259ec7c97cb1821c714 100644 (file)
@@ -1,15 +1,15 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.description.detail;
 
-import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
 
 import eu.etaxonomy.cdm.model.description.CategoricalData;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
 import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;
 
 /**
@@ -22,12 +22,12 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
 
        private CheckboxElement checkbox_orderRelevant;
        private StateDataSection section_stateData;
-       
+
        /**
         * <p>Constructor for CategoricalDataDetailElement.</p>
         *
-        * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
-        * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
+        * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
+        * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
         * @param entity a {@link eu.etaxonomy.cdm.model.description.CategoricalData} object.
         * @param style a int.
         */
@@ -40,17 +40,17 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
        @Override
        protected void createControls(ICdmFormElement formElement,
                        CategoricalData entity, int style) {
+
                checkbox_orderRelevant = formFactory.createCheckbox(formElement, "Order Relevant", entity.getOrderRelevant(), style);
-               section_stateData = (StateDataSection) formFactory.createEntityDetailSection(EntityDetailType.STATE_DATA, getConversationHolder(), formElement, Section.TWISTIE | Section.EXPANDED);
+               section_stateData = formFactory.createStateDataSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
                section_stateData.setEntity(entity);
-               section_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
-       }
-       
-       /** {@inheritDoc} */
-       @Override
-       public void setEntity(CategoricalData entity) {
-//             section_stateData.setEntity(entity);
-               super.setEntity(entity);
+               section_stateData.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+               createTimePeriod(formElement, entity, style);
+               if (entity.getFeature().getRecommendedModifierEnumeration() != null && !entity.getFeature().getRecommendedModifierEnumeration().isEmpty()){
+                   createModifier(formElement, entity, style);
+               }else{
+                   createFreetextModifier(formElement, entity, style);
+               }
        }
 
        /* (non-Javadoc)
@@ -59,6 +59,7 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
        /** {@inheritDoc} */
        @Override
        public void handleEvent(Object eventSource) {
+           super.handleEvent(eventSource);
                if(eventSource == checkbox_orderRelevant){
                        getEntity().setOrderRelevant(checkbox_orderRelevant.getSelection());
                }