ref #6190 removing svn property place holder in first line of code - java files
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / FieldUnitGeneralDetailElement.java
index e2049f53103ac30938b8d9579337c36c8ee5e575..1c1157036ea49f54a0ce0cdd34f0dfe03408d088 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
  * Copyright (C) 2013 EDIT
  * European Distributed Institute of Taxonomy
@@ -9,15 +8,23 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
+import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection;
 import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.PointElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
@@ -36,12 +43,15 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
     private ToggleableTextElement toggleableText_titleCache;
     private EnumComboElement<SpecimenOrObservationType> combo_specorobstype;
     private EntitySelectionElement<NamedArea> selection_country;
+    private CollectingAreasDetailSection section_collectingAreas;
     private LanguageStringWithLabelElement languageText_locality;
     private PointElement element_point;
     private NumberWithLabelElement number_elevation;
     private TimePeriodElement element_date;
     private EntitySelectionElement<AgentBase> selection_collector;
     private TextWithLabelElement text_collectingNumber;
+    private GatheringEventUnitElement element_elevation;
+    private CheckboxElement checkIsPublish;
 
     /**
      * @param formFactory
@@ -62,18 +72,29 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
     protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
         toggleableText_titleCache = formFactory.createToggleableTextField(formElement, "Title Cache",
                 entity.getTitleCache(), entity.isProtectedTitleCache(), style);
+
         combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement, style);
         combo_specorobstype.setSelection(entity.getType());
         selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(), formElement,
                 "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
+        if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION)){
+            section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+            section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+            section_collectingAreas.setEntity(entity);
+        }
+
         languageText_locality = formFactory.createLanguageStringWithLabelElement(formElement, "Locality",
                 entity.getLocality(), style);
         element_point = formFactory.createPointElement(formElement, entity.getExactLocation(), style);
+        element_elevation = formFactory.createGatheringEventUnitElement(
+                               formElement, "Elevation : ", entity, MinMaxTextSection.UnitType.ELEVATION,  style);
+
         element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
         selection_collector = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement,
                 "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
         text_collectingNumber = formFactory.createTextWithLabelElement(formElement, "Collecting number",
                 entity.getFieldNumber(), style);
+        checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
     }
 
     /*
@@ -90,7 +111,7 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
         } else if (eventSource == selection_country) {
             getEntity().setCountry(selection_country.getSelection());
         } else if (eventSource == languageText_locality) {
-            LanguageString locality = languageText_locality.getLanguageString();
+            LanguageString locality = languageText_locality.updateLanguageString(getEntity().getLocality());
             getEntity().setLocality(locality);
         } else if (eventSource == element_point) {
             getEntity().setExactLocation(element_point.getPoint());
@@ -104,6 +125,8 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
             getEntity().setFieldNumber(text_collectingNumber.getText());
         } else if (eventSource == combo_specorobstype) {
             getEntity().setType(combo_specorobstype.getSelection());
+        } else if (eventSource == checkIsPublish) {
+            getEntity().innerFieldUnit().setPublish(checkIsPublish.getSelection());
         }
 
         if (eventSource != toggleableText_titleCache) {