(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL);
text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
if(isWizard){
@@ -145,8 +145,8 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE
getEntity().setExactLocation(element_point.getPoint());
} else if (eventSource == number_elevation) {
getEntity().setAbsoluteElevation(number_elevation.getInteger());
-// } else if (eventSource == element_date) {
-// getEntity().setGatheringPeriod(element_date.getTimePeriod());
+ } else if (eventSource == element_date) {
+ getEntity().setGatheringPeriod(element_date.getTimePeriod());
} else if (eventSource == selection_collector) {
getEntity().setCollector(selection_collector.getSelection());
} else if (eventSource == text_collectingNumber) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java
index a17d780bf..56f104594 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java
@@ -9,12 +9,16 @@
*/
package eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection;
/**
* @author pplitzner
@@ -39,7 +43,7 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle
private TextFieldController text_gatheringEventDescription;
-// private CollectingAreasDetailSection section_collectingAreas;
+ private CollectingAreasDetailSection section_collectingAreas;
/**
*
@@ -69,9 +73,9 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle
number_distanceToGround = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToGround(), formFactory, this, entity.getDistanceToGround());
number_distanceToWaterSurface = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToWaterSurface(), formFactory, this, entity.getDistanceToWaterSurface());
text_gatheringEventDescription = new TextFieldController(gatheringEventDetailsElement.getText_GatheringEventDescription(), formFactory, this, entity.getGatheringEventDescription(), null);
-// section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
-// section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
-// section_collectingAreas.setEntity(entity);
+ section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+ section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ section_collectingAreas.setEntity(entity);
}
/** {@inheritDoc} */
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java
index 82096fcf2..db4c70d84 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java
@@ -15,7 +15,6 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
@@ -31,8 +30,10 @@ import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField;
public class DerivedUnitDetailsElement extends Composite {
private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
private Text textBarcode;
- private Text text_1;
- private Text txtNewText;
+ private Text textCatalogNumber;
+ private Text txtExsiccatum;
+ private Combo comboPreservationMethod;
+ private EntitySelectionField storedUnderSelectionField;
/**
* Create the composite.
@@ -56,33 +57,28 @@ public class DerivedUnitDetailsElement extends Composite {
Label lblCatalognumber = formToolkit.createLabel(this, "CatalogNumber", SWT.NONE);
- text_1 = formToolkit.createText(this, "New Text", SWT.NONE);
- text_1.setText("");
- text_1.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+ textCatalogNumber = formToolkit.createText(this, "New Text", SWT.NONE);
+ textCatalogNumber.setText("");
+ textCatalogNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
Label lblPreservationMethod = formToolkit.createLabel(this, "Preservation Method", SWT.NONE);
- Combo combo = new Combo(this, SWT.NONE);
- combo.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
- formToolkit.adapt(combo);
- formToolkit.paintBordersFor(combo);
+ comboPreservationMethod = new Combo(this, SWT.NONE);
+ comboPreservationMethod.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+ formToolkit.adapt(comboPreservationMethod);
+ formToolkit.paintBordersFor(comboPreservationMethod);
Label lblStoredUnder = formToolkit.createLabel(this, "Stored Under", SWT.NONE);
- EntitySelectionField entitySelectionField = new EntitySelectionField(this, SWT.NONE);
- formToolkit.adapt(entitySelectionField);
- formToolkit.paintBordersFor(entitySelectionField);
+ storedUnderSelectionField = new EntitySelectionField(this, SWT.NONE);
+ formToolkit.adapt(storedUnderSelectionField);
+ formToolkit.paintBordersFor(storedUnderSelectionField);
Label lblExsiccatum = formToolkit.createLabel(this, "Exsiccatum", SWT.NONE);
- txtNewText = formToolkit.createText(this, "New Text", SWT.NONE);
- txtNewText.setText("");
- txtNewText.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-
- ExpandableComposite xpndblcmpstSources = formToolkit.createExpandableComposite(this, ExpandableComposite.TWISTIE);
- xpndblcmpstSources.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 2));
- formToolkit.paintBordersFor(xpndblcmpstSources);
- xpndblcmpstSources.setText("Sources");
+ txtExsiccatum = formToolkit.createText(this, "New Text", SWT.NONE);
+ txtExsiccatum.setText("");
+ txtExsiccatum.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
}
@@ -91,4 +87,19 @@ public class DerivedUnitDetailsElement extends Composite {
// Disable the check that prevents subclassing of SWT components
}
+ public Text getTextBarcode() {
+ return textBarcode;
+ }
+ public Text getTextCatalogNumber() {
+ return textCatalogNumber;
+ }
+ public Combo getComboPreservationMethod() {
+ return comboPreservationMethod;
+ }
+ public EntitySelectionField getStoredUnderSelectionField() {
+ return storedUnderSelectionField;
+ }
+ public Text getTxtExsiccatum() {
+ return txtExsiccatum;
+ }
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java
index 98e4355a0..d70b47c7d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java
@@ -9,10 +9,22 @@
*/
package eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ComboFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
* @author pplitzner
@@ -23,6 +35,15 @@ public class DerivedUnitDetailsElementController extends AbstractCdmDetailElemen
private DerivedUnitDetailsElement derivedUnitDetailsElement;
+ private TextFieldController barCode;
+ private TextFieldController catalogNumber;
+ private ComboFieldController preservationMethod;
+ private EntitySelectionFieldController storedUnder;
+ private TextFieldController exsiccatum;
+
+ private SourceCollectionDetailSection section_source;
+
+
public DerivedUnitDetailsElementController(DerivedUnitDetailsElement derivedUnitDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
super(formFactory, formElement);
this.derivedUnitDetailsElement = derivedUnitDetailsElement;
@@ -35,8 +56,31 @@ public class DerivedUnitDetailsElementController extends AbstractCdmDetailElemen
*/
@Override
protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
- // TODO Auto-generated method stub
+ barCode = new TextFieldController(derivedUnitDetailsElement.getTextBarcode(), getFormFactory(), formElement, entity.getBarcode(), null);
+ catalogNumber = new TextFieldController(derivedUnitDetailsElement.getTextCatalogNumber(), getFormFactory(), formElement, entity.getCatalogNumber(), null);
+ PreservationMethod entityPreservationMethod;
+ try {
+ entityPreservationMethod = entity.getPreservationMethod();
+ } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+ // we ignore this
+ AbstractUtility.info(e.getMessage());
+ entityPreservationMethod = null;
+ }
+ preservationMethod = new ComboFieldController(derivedUnitDetailsElement.getComboPreservationMethod(), getFormFactory(), formElement, PreservationMethod.class, entityPreservationMethod, style);
+ storedUnder = new EntitySelectionFieldController(derivedUnitDetailsElement.getStoredUnderSelectionField(), getFormFactory(), getConversationHolder(), formElement, TaxonNameBase.class, entity.getStoredUnder(), EntitySelectionElement.ALL);
+ String entitiyExsiccatum;
+ try {
+ entitiyExsiccatum = entity.getExsiccatum();
+ } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+ // we ignore this
+ AbstractUtility.info(e.getMessage());
+ entitiyExsiccatum = null;
+ }
+ exsiccatum = new TextFieldController(derivedUnitDetailsElement.getTxtExsiccatum(), getFormFactory(), formElement, entitiyExsiccatum, null);
+ section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+ section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ section_source.setEntity(entity);
}
/* (non-Javadoc)
@@ -44,7 +88,24 @@ public class DerivedUnitDetailsElementController extends AbstractCdmDetailElemen
*/
@Override
public void handleEvent(Object eventSource) {
- // TODO Auto-generated method stub
-
+ if (eventSource == barCode) {
+ getEntity().setBarcode(barCode.getText());
+ } else if (eventSource == catalogNumber) {
+ getEntity().setCatalogNumber(catalogNumber.getText());
+ } else if (eventSource == preservationMethod) {
+ try {
+ getEntity().setPreservationMethod(preservationMethod.getSelection());
+ } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+ AbstractUtility.errorDialog("MethodNotSupportedByDerivedUnitTypeException", this, "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e);
+ }
+ } else if (eventSource == storedUnder) {
+ getEntity().setStoredUnder(storedUnder.getEntity());
+ } else if (eventSource == exsiccatum) {
+ try {
+ getEntity().setExsiccatum(exsiccatum.getText());
+ } catch (Exception e) {
+ AbstractUtility.error(this.getClass(), e);
+ }
+ }
}
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java
index 5a96d3796..db2f504a2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java
@@ -43,6 +43,6 @@ public class DerivedUnitDetailsSection extends AbstractCdmDetailSection createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) {
- return formFactory.createDerivedUnitDetailsController(parentElement);
+ return formFactory.createDerivedUnitDetailsElementController(parentElement);
}
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java
index b7d99c942..17d9bcf9d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TermComboFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ComboFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -28,8 +28,8 @@ public class SpecimenDetailsElementController extends AbstractCdmDetailElement liveStage;
- private TermComboFieldController sex;
+ private ComboFieldController liveStage;
+ private ComboFieldController sex;
public SpecimenDetailsElementController(SpecimenDetailsElement specimenDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
@@ -47,8 +47,8 @@ public class SpecimenDetailsElementController extends AbstractCdmDetailElement(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style);
- sex = new TermComboFieldController(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style);
+ liveStage = new ComboFieldController(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style);
+ sex = new ComboFieldController(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style);
}
/* (non-Javadoc)
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 136688560..ee3fed456 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
@@ -2451,7 +2451,7 @@ public class CdmFormFactory extends FormToolkit {
return controller;
}
- public DerivedUnitDetailsElementController createDerivedUnitDetailsController(ICdmFormElement parentElement){
+ public DerivedUnitDetailsElementController createDerivedUnitDetailsElementController(ICdmFormElement parentElement){
DerivedUnitDetailsElement element = new DerivedUnitDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
DerivedUnitDetailsElementController controller = new DerivedUnitDetailsElementController(element, this, parentElement);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java
new file mode 100644
index 000000000..40c3e3ea5
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java
@@ -0,0 +1,63 @@
+// $Id$
+/**
+ * Copyright (C) 2013 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.ui.section.occurrence;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 02.09.2013
+ *
+ */
+public class DerivedUnitDetailsWizardPage extends AbstractCdmEntityWizardPage {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param entity
+ */
+ public DerivedUnitDetailsWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, DerivedUnitFacade entity) {
+ super(formFactory, conversation, entity);
+ setTitle("Derived Unit Details");
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete
+ * ()
+ */
+ @Override
+ protected void checkComplete() {
+ setPageComplete(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement
+ * (eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+ */
+ @Override
+ public AbstractCdmDetailElement createElement(ICdmFormElement rootElement) {
+ DerivedUnitDetailsElementController detailElement = formFactory.createDerivedUnitDetailsElementController(rootElement);
+ detailElement.setEntity(getEntity());
+ checkComplete();
+ return detailElement;
+ }
+}