- unified specimen and field observation controller and view elements
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 2 Sep 2013 15:56:26 +0000 (15:56 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 2 Sep 2013 15:56:26 +0000 (15:56 +0000)
24 files changed:
.gitattributes
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElement.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElementController.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenSection.java with 70% similarity]
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/occurrence/FieldObservationDetailsWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java with 91% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java with 85% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java with 91% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java

index b3240f4feab8f81b9c486558e6d1892989f7758f..b317c99cd03989f5be51ebfdd9c10bf0ddb9cda1 100644 (file)
@@ -1245,9 +1245,13 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/d
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElementController.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/LoginDialog.java -text
@@ -1454,18 +1458,20 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailsWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/IDerivedUnitFacadeDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java -text
index 59ba07120c4b2e8e0ab5a7217207a90700e006a2..44015b959a9f2161ad477f92591a30a3a0377f0d 100644 (file)
@@ -21,9 +21,11 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailsWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationGeneralWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailsWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenDetailsWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenGeneralWizardPage;
 
 /**
  * <p>NewDerivedUnitBaseWizard class.</p>
@@ -51,12 +53,16 @@ public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<SpecimenOr
             if (getEntity() != null) {
                 if(getEntity() instanceof FieldUnit){
                     derivedUnitFacade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit)getEntity());
-                    addPage(new GeneralWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
-                    addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
-                    addPage(new FieldObservationWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
+
+                    addPage(new FieldObservationGeneralWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
+                    addPage(new GatheringEventDetailsWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
+                    addPage(new FieldObservationDetailsWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
                 }
                 else if(getEntity() instanceof DerivedUnit){
                     derivedUnitFacade = DerivedUnitFacade.NewInstance((DerivedUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
+
+                    addPage(new SpecimenGeneralWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
+                    addPage(new SpecimenDetailsWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
                     addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
                 }
             }
index f789530c532e69fda5097521dcd2f0bd5fc8c563..0c60974a535afafd6aadd1a6ed48983e9495dba2 100644 (file)
@@ -38,6 +38,7 @@ public class EntitySelectionField extends Composite {
      */
     public EntitySelectionField(Composite parent, int style) {
         super(parent, style);
+        setBackgroundMode(SWT.INHERIT_DEFAULT);
         {
             TableWrapLayout tableWrapLayout = new TableWrapLayout();
             tableWrapLayout.verticalSpacing = 0;
@@ -84,4 +85,16 @@ public class EntitySelectionField extends Composite {
     public Button getButton_remove() {
         return button_remove;
     }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
+     */
+    @Override
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+        button_selection.setEnabled(enabled);
+        button_edit.setEnabled(enabled);
+        button_remove.setEnabled(enabled);
+    }
 }
index a75effb32cca7c72a522963fd9f4b222324de5d0..9e12ff6a8427008e3d0f89a7033359849f8416d6 100644 (file)
@@ -95,4 +95,18 @@ public class PointField extends Composite {
     public Combo getCombo_referenceSystem() {
         return combo_referenceSystem;
     }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
+     */
+    @Override
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text_latitude.setEnabled(enabled);
+        text_latitudeParsed.setEnabled(enabled);
+        text_longitude.setEnabled(enabled);
+        text_longitudeParsed.setEnabled(enabled);
+        number_errorRadius.setEnabled(enabled);
+        combo_referenceSystem.setEnabled(enabled);
+    }
 }
index ea5f150a672eab9834a3062b36fe2dcffc4d1ccb..55ed58a11e46857ab2d45e3e250e047605ec07ac 100644 (file)
@@ -35,6 +35,7 @@ public class ToggleableTextField extends Composite {
      */
     public ToggleableTextField(Composite parent, int style) {
         super(parent, style);
+        setBackgroundMode(SWT.INHERIT_DEFAULT);
         {
             TableWrapLayout tableWrapLayout = new TableWrapLayout();
             tableWrapLayout.numColumns = 2;
index e83ae7d21b5f79d38c0b996d55747310070d6a15..e3de5d0c0f995e108fefff46eab6747017500c6f 100644 (file)
@@ -17,7 +17,6 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.wb.swt.SWTResourceManager;
 
 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField;
 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.PointField;
@@ -37,6 +36,20 @@ public class FieldObservationGeneralElement extends Composite {
     private EntitySelectionField collectorSelectionField;
     private ToggleableTextField toggleableTextField;
     private PointField pointField;
+    private Text textAccessionNumber;
+    private EntitySelectionField collectionSelectionField;
+    private Label lblCollection;
+    private Label lblAccesionNumber;
+    private Label lblCountry;
+    private Label lblLocality;
+    private Label lblLatitude;
+    private Label lblLongitude;
+    private Label lblErrorRadiusm;
+    private Label lblReferenceSystem;
+    private Label lblAbsoluteElevationm;
+    private Label lblDate;
+    private Label lblCollector;
+    private Label lblCollectingNumber;
 
     /**
      * Create the composite.
@@ -46,7 +59,7 @@ public class FieldObservationGeneralElement extends Composite {
      */
     public FieldObservationGeneralElement(Composite parent, int style) {
         super(parent, SWT.NONE);
-        setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
+        setBackgroundMode(SWT.INHERIT_DEFAULT);
         {
             TableWrapLayout tableWrapLayout = new TableWrapLayout();
             tableWrapLayout.numColumns = 2;
@@ -56,28 +69,30 @@ public class FieldObservationGeneralElement extends Composite {
         Label lblTitleCache = formToolkit.createLabel(this, "Title Cache", SWT.NONE);
 
         toggleableTextField = new ToggleableTextField(this, SWT.NONE);
+        toggleableTextField.setBackgroundMode(SWT.INHERIT_DEFAULT);
         TableWrapData twd_toggleableTextField = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1);
         twd_toggleableTextField.grabHorizontal = true;
         toggleableTextField.setLayoutData(twd_toggleableTextField);
         formToolkit.adapt(toggleableTextField);
         formToolkit.paintBordersFor(toggleableTextField);
 
-        Label lblNewLabel = new Label(this, SWT.NONE);
-        formToolkit.adapt(lblNewLabel, true, true);
-        lblNewLabel.setText("Country");
+        lblCountry = new Label(this, SWT.NONE);
+        formToolkit.adapt(lblCountry, true, true);
+        lblCountry.setText("Country");
 
         countrySelectionField = new EntitySelectionField(this, SWT.NONE);
+        countrySelectionField.setBackgroundMode(SWT.INHERIT_DEFAULT);
         countrySelectionField.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
         formToolkit.adapt(countrySelectionField);
         formToolkit.paintBordersFor(countrySelectionField);
 
-        Label lblLocality = formToolkit.createLabel(this, "Locality", SWT.NONE);
+        lblLocality = formToolkit.createLabel(this, "Locality", SWT.NONE);
 
         textLocality = formToolkit.createText(this, "New Text", SWT.NONE);
         textLocality.setText("");
         textLocality.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
 
-        Label lblLatitude = formToolkit.createLabel(this, "Latitude", SWT.NONE);
+        lblLatitude = formToolkit.createLabel(this, "Latitude", SWT.NONE);
 
         pointField = new PointField(this, SWT.NONE);
         TableWrapLayout twl_pointField = (TableWrapLayout) pointField.getLayout();
@@ -92,34 +107,46 @@ public class FieldObservationGeneralElement extends Composite {
         formToolkit.paintBordersFor(pointField);
         new Label(this, SWT.NONE);
 
-        Label lblLongitude = formToolkit.createLabel(this, "Longitude", SWT.NONE);
+        lblLongitude = formToolkit.createLabel(this, "Longitude", SWT.NONE);
         new Label(this, SWT.NONE);
 
-        Label lblErrorRadiusm = formToolkit.createLabel(this, "Error Radius (m)", SWT.NONE);
+        lblErrorRadiusm = formToolkit.createLabel(this, "Error Radius (m)", SWT.NONE);
 
-        Label lblReferenceSystem = formToolkit.createLabel(this, "Reference System", SWT.NONE);
+        lblReferenceSystem = formToolkit.createLabel(this, "Reference System", SWT.NONE);
 
-        Label lblAbsoluteElevationm = formToolkit.createLabel(this, "Absolute Elevation (m)", SWT.NONE);
+        lblAbsoluteElevationm = formToolkit.createLabel(this, "Absolute Elevation (m)", SWT.NONE);
 
         textElevation = formToolkit.createText(this, "New Text", SWT.NONE);
         textElevation.setText("");
         textElevation.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
 
-        Label lblDate = formToolkit.createLabel(this, "Date", SWT.NONE);
+        lblDate = formToolkit.createLabel(this, "Date", SWT.NONE);
         new Label(this, SWT.NONE);
 
-        Label lblCollector = formToolkit.createLabel(this, "Collector", SWT.NONE);
+        lblCollector = formToolkit.createLabel(this, "Collector", SWT.NONE);
 
         collectorSelectionField = new EntitySelectionField(this, SWT.NONE);
         collectorSelectionField.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
         formToolkit.adapt(collectorSelectionField);
         formToolkit.paintBordersFor(collectorSelectionField);
 
-        Label lblCollectingNumber = formToolkit.createLabel(this, "Collecting Number", SWT.NONE);
+                        lblCollectingNumber = formToolkit.createLabel(this, "Collecting Number", SWT.NONE);
 
-        textCollectingNumber = formToolkit.createText(this, "New Text", SWT.NONE);
-        textCollectingNumber.setText("");
-        textCollectingNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+                        textCollectingNumber = formToolkit.createText(this, "New Text", SWT.NONE);
+                        textCollectingNumber.setText("");
+                        textCollectingNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+
+        lblCollection = formToolkit.createLabel(this, "Collection", SWT.NONE);
+
+        collectionSelectionField = new EntitySelectionField(this, SWT.NONE);
+        formToolkit.adapt(collectionSelectionField);
+        formToolkit.paintBordersFor(collectionSelectionField);
+
+        lblAccesionNumber = formToolkit.createLabel(this, "Accesion Number", SWT.NONE);
+
+        textAccessionNumber = formToolkit.createText(this, "New Text", SWT.NONE);
+        textAccessionNumber.setText("");
+        textAccessionNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
 
     }
 
@@ -155,4 +182,46 @@ public class FieldObservationGeneralElement extends Composite {
     public PointField getPointField() {
         return pointField;
     }
+    public EntitySelectionField getCollectionSelectionField() {
+        return collectionSelectionField;
+    }
+    public Text getTextAccessionNumber() {
+        return textAccessionNumber;
+    }
+    public Label getLblCollection() {
+        return lblCollection;
+    }
+    public Label getLblAccesionNumber() {
+        return lblAccesionNumber;
+    }
+    public Label getLblCountry() {
+        return lblCountry;
+    }
+    public Label getLblLocality() {
+        return lblLocality;
+    }
+    public Label getLblLatitude() {
+        return lblLatitude;
+    }
+    public Label getLblLongitude() {
+        return lblLongitude;
+    }
+    public Label getLblErrorRadiusm() {
+        return lblErrorRadiusm;
+    }
+    public Label getLblReferenceSystem() {
+        return lblReferenceSystem;
+    }
+    public Label getLblAbsoluteElevation() {
+        return lblAbsoluteElevationm;
+    }
+    public Label getLblDate() {
+        return lblDate;
+    }
+    public Label getLblCollector() {
+        return lblCollector;
+    }
+    public Label getLblCollectingNumber() {
+        return lblCollectingNumber;
+    }
 }
index c8c7831e10c82f0e1f9cfdb85db4494d0f50d183..674f57e8162fa294793bf6bf738f5c70e9d0b2ae 100644 (file)
@@ -13,6 +13,7 @@ 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.Collection;
 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController;
 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.LanguageTextFieldController;
 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController;
@@ -42,14 +43,21 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE
     private TimePeriodElement element_date;//TODO convert
     private EntitySelectionFieldController<AgentBase> selection_collector;
     private TextFieldController text_collectingNumber;
+    private EntitySelectionFieldController<Collection> selectionCollection;
+    private TextFieldController textAccessionNumber;
+
+    boolean isSpecimen;
+    boolean isWizard;
 
     /**
      * @param formFactory
      * @param formElement
      */
-    public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
+    public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement, boolean isSpecimen, boolean isWizard) {
         super(formFactory, formElement);
         this.fieldObservationGeneralElement = fieldObservationGeneralElement;
+        this.isSpecimen = isSpecimen;
+        this.isWizard = isWizard;
         setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
         formFactory.addPropertyChangeListener(this);
     }
@@ -72,6 +80,49 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE
 //        element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
         selection_collector = new EntitySelectionFieldController<AgentBase>(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL);
         text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
+        if(isWizard){
+            if(!isSpecimen){
+                fieldObservationGeneralElement.getLblCollection().setVisible(false);
+                fieldObservationGeneralElement.getCollectionSelectionField().setVisible(false);
+                fieldObservationGeneralElement.getLblAccesionNumber().setVisible(false);
+                fieldObservationGeneralElement.getTextAccessionNumber().setVisible(false);
+            }
+        }
+        if(!isWizard){
+            if(isSpecimen){
+                selectionCollection = new EntitySelectionFieldController<Collection>(fieldObservationGeneralElement.getCollectionSelectionField(), getFormFactory(), getConversationHolder(), formElement, Collection.class, entity.getCollection(), EntitySelectionElement.ALL);
+                textAccessionNumber = new TextFieldController(fieldObservationGeneralElement.getTextAccessionNumber(), getFormFactory(), formElement, entity.getAccessionNumber(), null);
+                fieldObservationGeneralElement.getLblCountry().setEnabled(false);
+                fieldObservationGeneralElement.getCountrySelectionField().setEnabled(false);
+                fieldObservationGeneralElement.getLblLocality().setEnabled(false);
+                fieldObservationGeneralElement.getTextLocality().setEnabled(false);
+
+                fieldObservationGeneralElement.getPointField().setEnabled(false);
+                //            fieldObservationGeneralElement.getPointField().getText_latitude().setEnabled(false);
+                fieldObservationGeneralElement.getLblLatitude().setEnabled(false);
+                //            fieldObservationGeneralElement.getPointField().getText_longitude().setEnabled(false);
+                fieldObservationGeneralElement.getLblLongitude().setEnabled(false);
+                //            fieldObservationGeneralElement.getPointField().getNumber_errorRadius().setEnabled(false);
+                fieldObservationGeneralElement.getLblErrorRadiusm().setEnabled(false);
+                //            fieldObservationGeneralElement.getPointField().getCombo_referenceSystem().setEnabled(false);
+                fieldObservationGeneralElement.getLblReferenceSystem().setEnabled(false);
+
+                fieldObservationGeneralElement.getLblAbsoluteElevation().setEnabled(false);
+                fieldObservationGeneralElement.getTextElevation().setEnabled(false);
+                fieldObservationGeneralElement.getLblDate().setEnabled(false);
+
+                fieldObservationGeneralElement.getLblCollector().setEnabled(false);
+                fieldObservationGeneralElement.getCollectorSelectionField().setEnabled(false);
+                fieldObservationGeneralElement.getLblCollectingNumber().setEnabled(false);
+                fieldObservationGeneralElement.getTextCollectingNumber().setEnabled(false);
+            }
+            else{
+                fieldObservationGeneralElement.getLblCollection().setVisible(false);
+                fieldObservationGeneralElement.getCollectionSelectionField().setVisible(false);
+                fieldObservationGeneralElement.getLblAccesionNumber().setVisible(false);
+                fieldObservationGeneralElement.getTextAccessionNumber().setVisible(false);
+            }
+        }
     }
 
     /*
@@ -100,6 +151,10 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE
             getEntity().setCollector(selection_collector.getSelection());
         } else if (eventSource == text_collectingNumber) {
             getEntity().setFieldNumber(text_collectingNumber.getText());
+        } else if (eventSource == selectionCollection) {
+            getEntity().setCollection(selectionCollection.getSelection());
+        } else if (eventSource == textAccessionNumber) {
+            getEntity().setAccessionNumber(textAccessionNumber.getText());
         }
         if (eventSource != toggleableText_titleCache) {
             toggleableText_titleCache.setText(getEntity().getTitleCache());
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
new file mode 100644 (file)
index 0000000..82096fc
--- /dev/null
@@ -0,0 +1,94 @@
+// $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.campanula.detailViews.specimen;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+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;
+import org.eclipse.wb.swt.SWTResourceManager;
+
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField;
+
+/**
+ * @author pplitzner
+ * @date 29.08.2013
+ *
+ */
+public class DerivedUnitDetailsElement extends Composite {
+    private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
+    private Text textBarcode;
+    private Text text_1;
+    private Text txtNewText;
+
+    /**
+     * Create the composite.
+     * @param parent
+     * @param style
+     */
+    public DerivedUnitDetailsElement(Composite parent, int style) {
+        super(parent, style);
+        setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
+        {
+            TableWrapLayout tableWrapLayout = new TableWrapLayout();
+            tableWrapLayout.numColumns = 2;
+            setLayout(tableWrapLayout);
+        }
+
+        Label lblBarcode = formToolkit.createLabel(this, "Barcode", SWT.NONE);
+
+        textBarcode = formToolkit.createText(this, "New Text", SWT.NONE);
+        textBarcode.setText("");
+        textBarcode.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+
+        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));
+
+        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);
+
+        Label lblStoredUnder = formToolkit.createLabel(this, "Stored Under", SWT.NONE);
+
+        EntitySelectionField entitySelectionField = new EntitySelectionField(this, SWT.NONE);
+        formToolkit.adapt(entitySelectionField);
+        formToolkit.paintBordersFor(entitySelectionField);
+
+        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");
+
+    }
+
+    @Override
+    protected void checkSubclass() {
+        // Disable the check that prevents subclassing of SWT components
+    }
+
+}
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
new file mode 100644 (file)
index 0000000..98e4355
--- /dev/null
@@ -0,0 +1,50 @@
+// $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.campanula.detailViews.specimen;
+
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 29.08.2013
+ *
+ */
+public class DerivedUnitDetailsElementController extends AbstractCdmDetailElement<DerivedUnitFacade> {
+
+    private DerivedUnitDetailsElement derivedUnitDetailsElement;
+
+    public DerivedUnitDetailsElementController(DerivedUnitDetailsElement derivedUnitDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
+        super(formFactory, formElement);
+        this.derivedUnitDetailsElement = derivedUnitDetailsElement;
+        setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
+        formFactory.addPropertyChangeListener(this);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement, java.lang.Object, int)
+     */
+    @Override
+    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
+        // TODO Auto-generated method stub
+
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+     */
+    @Override
+    public void handleEvent(Object eventSource) {
+        // TODO Auto-generated method stub
+
+    }
+}
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
new file mode 100644 (file)
index 0000000..5a96d37
--- /dev/null
@@ -0,0 +1,48 @@
+// $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.campanula.detailViews.specimen;
+
+import org.eclipse.jface.viewers.ISelectionProvider;
+
+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.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection;
+
+/**
+ * @author pplitzner
+ * @date 29.08.2013
+ *
+ */
+public class DerivedUnitDetailsSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection {
+
+    public DerivedUnitDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation,
+            ICdmFormElement parentElement,
+            ISelectionProvider selectionProvider, int style) {
+        super(formFactory, conversation, parentElement, selectionProvider, style);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public String getHeading() {
+        return "Derived Unit Details";
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
+     */
+    @Override
+    protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
+        return formFactory.createDerivedUnitDetailsController(parentElement);
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java
new file mode 100644 (file)
index 0000000..bcd5432
--- /dev/null
@@ -0,0 +1,104 @@
+// $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.campanula.detailViews.specimen;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+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.FormToolkit;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+import org.eclipse.wb.swt.SWTResourceManager;
+
+/**
+ * @author pplitzner
+ * @date 29.08.2013
+ *
+ */
+public class SpecimenDetailsElement extends Composite {
+    private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
+    private Text text_IndividualEcology;
+    private Text text_PlantDesriptionDetails;
+    private Text text_IndividualFieldNotes;
+    private Combo comboLiveStage;
+    private Combo combo_Sex;
+
+    /**
+     * Create the composite.
+     * @param parent
+     * @param style
+     */
+    public SpecimenDetailsElement(Composite parent, int style) {
+        super(parent, style);
+        setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
+        {
+            TableWrapLayout tableWrapLayout = new TableWrapLayout();
+            tableWrapLayout.numColumns = 2;
+            setLayout(tableWrapLayout);
+        }
+
+        Label lblNewLabel = formToolkit.createLabel(this, "Individual Ecology", SWT.NONE);
+
+        text_IndividualEcology = formToolkit.createText(this, "New Text", SWT.NONE);
+        text_IndividualEcology.setText("");
+        text_IndividualEcology.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+
+        Label lblPlantDescriptionDetails = formToolkit.createLabel(this, "Plant Description Details", SWT.NONE);
+
+        text_PlantDesriptionDetails = formToolkit.createText(this, "New Text", SWT.NONE);
+        text_PlantDesriptionDetails.setText("");
+        text_PlantDesriptionDetails.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+
+        Label lblIndividualFieldNotes = formToolkit.createLabel(this, "Individual Field Notes", SWT.NONE);
+
+        text_IndividualFieldNotes = formToolkit.createText(this, "New Text", SWT.NONE);
+        text_IndividualFieldNotes.setText("");
+        text_IndividualFieldNotes.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+
+        Label lblLiveStage = formToolkit.createLabel(this, "Live Stage", SWT.NONE);
+
+        comboLiveStage = new Combo(this, SWT.NONE);
+        comboLiveStage.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+        formToolkit.adapt(comboLiveStage);
+        formToolkit.paintBordersFor(comboLiveStage);
+
+        Label lblSex = formToolkit.createLabel(this, "Sex", SWT.NONE);
+
+        combo_Sex = new Combo(this, SWT.NONE);
+        combo_Sex.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+        formToolkit.adapt(combo_Sex);
+        formToolkit.paintBordersFor(combo_Sex);
+
+    }
+
+    @Override
+    protected void checkSubclass() {
+        // Disable the check that prevents subclassing of SWT components
+    }
+
+    public Text getText_IndividualEcology() {
+        return text_IndividualEcology;
+    }
+    public Text getText_PlantDesriptionDetails() {
+        return text_PlantDesriptionDetails;
+    }
+    public Text getText_IndividualFieldNotes() {
+        return text_IndividualFieldNotes;
+    }
+    public Combo getComboLiveStage() {
+        return comboLiveStage;
+    }
+    public Combo getCombo_Sex() {
+        return combo_Sex;
+    }
+}
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
new file mode 100644 (file)
index 0000000..b7d99c9
--- /dev/null
@@ -0,0 +1,75 @@
+// $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.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.TextFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 29.08.2013
+ *
+ */
+public class SpecimenDetailsElementController extends AbstractCdmDetailElement<DerivedUnitFacade>  {
+
+    private SpecimenDetailsElement specimenDetailsElement;
+    private TextFieldController individualEcology;
+    private TextFieldController plantDescriptionDetails;
+    private TextFieldController individualFieldNotes;
+    private TermComboFieldController<DefinedTerm> liveStage;
+    private TermComboFieldController<DefinedTerm> sex;
+
+
+    public SpecimenDetailsElementController(SpecimenDetailsElement specimenDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
+        super(formFactory, formElement);
+        this.specimenDetailsElement = specimenDetailsElement;
+        setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
+        formFactory.addPropertyChangeListener(this);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement, java.lang.Object, int)
+     */
+    @Override
+    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
+        individualEcology = new TextFieldController(specimenDetailsElement.getText_IndividualEcology(), getFormFactory(), formElement, entity.getEcology(), null);
+        plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_PlantDesriptionDetails(), getFormFactory(), formElement, entity.getPlantDescription(), null);
+        plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_IndividualFieldNotes(), getFormFactory(), formElement, entity.getFieldNotes(), null);
+        liveStage = new TermComboFieldController<DefinedTerm>(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style);
+        sex = new TermComboFieldController<DefinedTerm>(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+     */
+    @Override
+    public void handleEvent(Object eventSource) {
+        if(eventSource == individualEcology){
+            getEntity().setEcology(individualEcology.getText());
+        }
+        else if(eventSource == plantDescriptionDetails){
+            getEntity().setPlantDescription(plantDescriptionDetails.getText());
+        }
+        else if(eventSource == individualFieldNotes){
+            getEntity().setFieldNotes(individualFieldNotes.getText());
+        }
+        else if(eventSource == liveStage){
+            getEntity().setLifeStage(liveStage.getSelection());
+        }
+        else if(eventSource == sex){
+            getEntity().setSex(sex.getSelection());
+        }
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java
new file mode 100644 (file)
index 0000000..4854f72
--- /dev/null
@@ -0,0 +1,48 @@
+// $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.campanula.detailViews.specimen;
+
+import org.eclipse.jface.viewers.ISelectionProvider;
+
+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.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection;
+
+/**
+ * @author pplitzner
+ * @date 29.08.2013
+ *
+ */
+public class SpecimenDetailsSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection {
+
+    public SpecimenDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation,
+            ICdmFormElement parentElement,
+            ISelectionProvider selectionProvider, int style) {
+        super(formFactory, conversation, parentElement, selectionProvider, style);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public String getHeading() {
+        return "Specimen Details";
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
+     */
+    @Override
+    protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
+        return formFactory.createSpecimenDetailsElementController(parentElement);
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElement.java
deleted file mode 100644 (file)
index 09a2fdb..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-// $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.campanula.detailViews.specimen;
-
-import org.eclipse.swt.SWT;
-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.FormToolkit;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.wb.swt.SWTResourceManager;
-
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.PointField;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ToggleableTextField;
-
-
-/**
- * @author pplitzner
- * @date 16.08.2013
- *
- */
-public class SpecimenGeneralElement extends Composite{
-    private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
-    private final Text textLocality;
-    private final Text textElevation;
-    private final Text textCollectingNumber;
-    private EntitySelectionField countrySelectionField;
-    private EntitySelectionField collectorSelectionField;
-    private ToggleableTextField toggleableTextField;
-    private PointField pointField;
-    private Label lblTitleCache;
-    private Label lblCountry;
-    private Label lblLocality;
-    private Label lblLatitude;
-    private Label lblLongitude;
-    private Label lblErrorRadiusm;
-    private Label lblReferenceSystem;
-    private Label lblAbsoluteElevationm;
-    private Label lblDate;
-    private Label lblCollector;
-    private Label lblCollectingNumber;
-    private Label lblCollection;
-    private Label lblAccessionNumber;
-    private Text textAccessionNumber;
-    private EntitySelectionField collectionSelectionField;
-
-    /**
-     * @param parent
-     * @param style
-     */
-    public SpecimenGeneralElement(Composite parent, int style) {
-        super(parent, style);
-        setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
-        {
-            TableWrapLayout tableWrapLayout = new TableWrapLayout();
-            tableWrapLayout.numColumns = 2;
-            setLayout(tableWrapLayout);
-        }
-
-        lblTitleCache = formToolkit.createLabel(this, "Title Cache", SWT.NONE);
-        lblTitleCache.setEnabled(false);
-
-        toggleableTextField = new ToggleableTextField(this, SWT.NONE);
-        toggleableTextField.getText().setEnabled(false);
-        toggleableTextField.getEditButton().setEnabled(false);
-        toggleableTextField.setEnabled(false);
-        TableWrapData twd_toggleableTextField = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1);
-        twd_toggleableTextField.grabHorizontal = true;
-        toggleableTextField.setLayoutData(twd_toggleableTextField);
-        formToolkit.adapt(toggleableTextField);
-        formToolkit.paintBordersFor(toggleableTextField);
-
-        lblCountry = new Label(this, SWT.NONE);
-        lblCountry.setEnabled(false);
-        formToolkit.adapt(lblCountry, true, true);
-        lblCountry.setText("Country");
-
-        countrySelectionField = new EntitySelectionField(this, SWT.NONE);
-        countrySelectionField.getText().setEnabled(false);
-        countrySelectionField.getButton_selection().setEnabled(false);
-        countrySelectionField.getButton_edit().setEnabled(false);
-        countrySelectionField.getButton_remove().setEnabled(false);
-        countrySelectionField.setEnabled(false);
-        countrySelectionField.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-        formToolkit.adapt(countrySelectionField);
-        formToolkit.paintBordersFor(countrySelectionField);
-
-        lblLocality = formToolkit.createLabel(this, "Locality", SWT.NONE);
-        lblLocality.setEnabled(false);
-
-        textLocality = formToolkit.createText(this, "New Text", SWT.NONE);
-        textLocality.setEnabled(false);
-        textLocality.setEditable(false);
-        textLocality.setText("");
-        textLocality.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-
-        lblLatitude = formToolkit.createLabel(this, "Latitude", SWT.NONE);
-        lblLatitude.setEnabled(false);
-
-        pointField = new PointField(this, SWT.NONE);
-        pointField.getCombo_referenceSystem().setEnabled(false);
-        pointField.getNumber_errorRadius().setEnabled(false);
-        pointField.getNumber_errorRadius().setEditable(false);
-        pointField.getText_longitudeParsed().setEditable(false);
-        pointField.getText_longitude().setEnabled(false);
-        pointField.getText_longitude().setEditable(false);
-        pointField.getText_latitudeParsed().setEditable(false);
-        pointField.getText_latitude().setEditable(false);
-        pointField.getText_latitude().setEnabled(false);
-        pointField.setEnabled(false);
-        TableWrapLayout twl_pointField = (TableWrapLayout) pointField.getLayout();
-        twl_pointField.verticalSpacing = 0;
-        twl_pointField.topMargin = 0;
-        twl_pointField.rightMargin = 0;
-        twl_pointField.leftMargin = 0;
-        twl_pointField.horizontalSpacing = 0;
-        twl_pointField.bottomMargin = 0;
-        pointField.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 6, 1));
-        formToolkit.adapt(pointField);
-        formToolkit.paintBordersFor(pointField);
-        new Label(this, SWT.NONE);
-
-        lblLongitude = formToolkit.createLabel(this, "Longitude", SWT.NONE);
-        lblLongitude.setEnabled(false);
-        new Label(this, SWT.NONE);
-
-        lblErrorRadiusm = formToolkit.createLabel(this, "Error Radius (m)", SWT.NONE);
-        lblErrorRadiusm.setEnabled(false);
-
-        lblReferenceSystem = formToolkit.createLabel(this, "Reference System", SWT.NONE);
-        lblReferenceSystem.setEnabled(false);
-
-        lblAbsoluteElevationm = formToolkit.createLabel(this, "Absolute Elevation (m)", SWT.NONE);
-        lblAbsoluteElevationm.setEnabled(false);
-
-        textElevation = formToolkit.createText(this, "New Text", SWT.NONE);
-        textElevation.setEditable(false);
-        textElevation.setEnabled(false);
-        textElevation.setText("");
-        textElevation.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-
-        lblDate = formToolkit.createLabel(this, "Date", SWT.NONE);
-        lblDate.setEnabled(false);
-        new Label(this, SWT.NONE);
-
-        lblCollector = formToolkit.createLabel(this, "Collector", SWT.NONE);
-        lblCollector.setEnabled(false);
-
-        collectorSelectionField = new EntitySelectionField(this, SWT.NONE);
-        collectorSelectionField.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-        formToolkit.adapt(collectorSelectionField);
-        formToolkit.paintBordersFor(collectorSelectionField);
-
-        lblCollectingNumber = formToolkit.createLabel(this, "Collecting Number", SWT.NONE);
-        lblCollectingNumber.setEnabled(false);
-
-        textCollectingNumber = formToolkit.createText(this, "New Text", SWT.NONE);
-        textCollectingNumber.setEditable(false);
-        textCollectingNumber.setEnabled(false);
-        textCollectingNumber.setText("");
-        textCollectingNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-
-        lblCollection = formToolkit.createLabel(this, "Collection", SWT.NONE);
-        lblCollection.setEnabled(true);
-
-        collectionSelectionField = new EntitySelectionField(this, SWT.NONE);
-        collectionSelectionField.getButton_remove().setEnabled(true);
-        collectionSelectionField.getButton_edit().setEnabled(true);
-        collectionSelectionField.getButton_selection().setEnabled(true);
-        collectionSelectionField.getText().setEnabled(true);
-        collectionSelectionField.setEnabled(true);
-        formToolkit.adapt(collectionSelectionField);
-        formToolkit.paintBordersFor(collectionSelectionField);
-
-        lblAccessionNumber = formToolkit.createLabel(this, "Accession Number", SWT.NONE);
-        lblAccessionNumber.setEnabled(true);
-
-        textAccessionNumber = formToolkit.createText(this, "New Text", SWT.NONE);
-        textAccessionNumber.setEnabled(true);
-        textAccessionNumber.setText("");
-        textAccessionNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-        Label label = new Label(this, SWT.NONE);
-        label.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
-        new Label(this, SWT.NONE);
-
-    }
-
-    @Override
-    protected void checkSubclass() {
-        // Disable the check that prevents subclassing of SWT components
-    }
-
-    public EntitySelectionField getCountrySelectionField() {
-        return countrySelectionField;
-    }
-
-    public EntitySelectionField getCollectorSelectionField() {
-        return collectorSelectionField;
-    }
-
-    public Text getTextElevation() {
-        return textElevation;
-    }
-
-    public Text getTextLocality() {
-        return textLocality;
-    }
-
-    public Text getTextCollectingNumber() {
-        return textCollectingNumber;
-    }
-
-    public ToggleableTextField getToggleableTextField() {
-        return toggleableTextField;
-    }
-
-    public PointField getPointField() {
-        return pointField;
-    }
-    public Label getLblTitleCache() {
-        return lblTitleCache;
-    }
-    public Label getLblCountry() {
-        return lblCountry;
-    }
-    public Label getLblLocality() {
-        return lblLocality;
-    }
-    public Label getLblLatitude() {
-        return lblLatitude;
-    }
-    public Label getLblLongitude() {
-        return lblLongitude;
-    }
-    public Label getLblErrorRadiusm() {
-        return lblErrorRadiusm;
-    }
-    public Label getLblReferenceSystem() {
-        return lblReferenceSystem;
-    }
-    public Label getLblAbsoluteElevationm() {
-        return lblAbsoluteElevationm;
-    }
-    public Label getLblDate() {
-        return lblDate;
-    }
-    public Label getLblCollector() {
-        return lblCollector;
-    }
-    public Label getLblCollectingNumber() {
-        return lblCollectingNumber;
-    }
-    public Text getTextAccessionNumber() {
-        return textAccessionNumber;
-    }
-    public EntitySelectionField getCollectionSelectionField() {
-        return collectionSelectionField;
-    }
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElementController.java
deleted file mode 100644 (file)
index c5126e8..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-// $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.campanula.detailViews.specimen;
-
-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.Collection;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.LanguageTextFieldController;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.PointFieldController;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ToggleableTextFieldController;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
-import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
-
-/**
- * @author pplitzner
- * @date 16.08.2013
- *
- */
-public class SpecimenGeneralElementController extends AbstractCdmDetailElement<DerivedUnitFacade>  {
-
-    private SpecimenGeneralElement specimenGeneralElement;
-
-    private ToggleableTextFieldController toggleableText_titleCache;
-    private EntitySelectionFieldController<NamedArea> selection_country;
-    private LanguageTextFieldController languageText_locality;
-    private PointFieldController element_point;
-    private NumberFieldController number_elevation;
-    private TimePeriodElement element_date;//TODO convert
-    private EntitySelectionFieldController<AgentBase> selection_collector;
-    private TextFieldController text_collectingNumber;
-    private EntitySelectionFieldController<Collection> selectionCollection;
-    private TextFieldController textAccessionNumber;
-
-    /**
-     * @param fieldObservationGeneralElement
-     * @param formFactory
-     * @param formElement
-     */
-    public SpecimenGeneralElementController(SpecimenGeneralElement specimenGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
-        super(formFactory, formElement);
-        this.specimenGeneralElement = specimenGeneralElement;
-        setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
-        formFactory.addPropertyChangeListener(this);
-    }
-
-
-    @Override
-    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
-        toggleableText_titleCache = new ToggleableTextFieldController(specimenGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style);
-
-        selection_country = new EntitySelectionFieldController<NamedArea>(specimenGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, entity.getCountry(), EntitySelectionElement.NOTHING);
-        languageText_locality = new LanguageTextFieldController(specimenGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getLocality());
-        element_point = new PointFieldController(specimenGeneralElement.getPointField(),getFormFactory(), formElement, entity.getExactLocation(), style);
-        number_elevation = new NumberFieldController(specimenGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getAbsoluteElevation());
-//        element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
-        selection_collector = new EntitySelectionFieldController<AgentBase>(specimenGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL);
-        text_collectingNumber = new TextFieldController(specimenGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
-        selectionCollection = new EntitySelectionFieldController<Collection>(specimenGeneralElement.getCollectionSelectionField(), getFormFactory(), getConversationHolder(), formElement, Collection.class, entity.getCollection(), EntitySelectionElement.ALL);
-        textAccessionNumber = new TextFieldController(specimenGeneralElement.getTextAccessionNumber(), getFormFactory(), formElement, entity.getAccessionNumber(), null);
-    }
-
-    @Override
-    public void handleEvent(Object eventSource) {
-        if (eventSource == toggleableText_titleCache) {
-            getEntity().setTitleCache(toggleableText_titleCache.getText(), toggleableText_titleCache.getState());
-        } else if (eventSource == selection_country) {
-            getEntity().setCountry(selection_country.getSelection());
-        } else if (eventSource == languageText_locality) {
-            LanguageString locality = languageText_locality.getLanguageString();
-            getEntity().setLocality(locality);
-        } else if (eventSource == element_point) {
-            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 == selection_collector) {
-            getEntity().setCollector(selection_collector.getSelection());
-        } else if (eventSource == text_collectingNumber) {
-            getEntity().setFieldNumber(text_collectingNumber.getText());
-        }
-        else if (eventSource == selectionCollection) {
-            getEntity().setCollection(selectionCollection.getSelection());
-        } else if (eventSource == textAccessionNumber) {
-            getEntity().setAccessionNumber(textAccessionNumber.getText());
-        }
-        if (eventSource != toggleableText_titleCache) {
-            toggleableText_titleCache.setText(getEntity().getTitleCache());
-        }
-    }
-
-}
@@ -24,18 +24,9 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSect
  * @date 16.08.2013
  *
  */
-public class SpecimenSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
+public class SpecimenGeneralSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
 
-    /**
-     * <p>Constructor for FieldObservationDetailSection.</p>
-     *
-     * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
-     * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
-     * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
-     * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
-     * @param style a int.
-     */
-    public SpecimenSection(CdmFormFactory formFactory, ConversationHolder conversation,
+    public SpecimenGeneralSection(CdmFormFactory formFactory, ConversationHolder conversation,
             ICdmFormElement parentElement,
             ISelectionProvider selectionProvider, int style) {
         super(formFactory, conversation, parentElement, selectionProvider, style);
index f025614724871a78b0acac954a5094265dc2ebce..136688560ed3adb2993670d88fc6fe45870892eb 100644 (file)
@@ -106,9 +106,13 @@ import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObs
 import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventDetailsElement;
 import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventDetailsElementController;
 import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventSection;
-import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralElement;
-import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralElementController;
-import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralSection;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType;
@@ -2417,50 +2421,79 @@ public class CdmFormFactory extends FormToolkit {
         return section;
     }
 
-    /**
-     * @param conversationHolder
-     * @param parent
-     * @param detailsViewer
-     * @param i
-     * @return
-     */
-    public SpecimenSection createSpecimenSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
-        SpecimenSection section = new SpecimenSection(this, conversation, parentElement, selectionProvider, style);
+    public SpecimenGeneralSection createSpecimenSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+        SpecimenGeneralSection section = new SpecimenGeneralSection(this, conversation, parentElement, selectionProvider, style);
         addAndAdaptSection(parentElement, section);
         return section;
     }
 
-    public SpecimenGeneralElementController createSpecimenGeneralElementController(ICdmFormElement parentElement){
-        SpecimenGeneralElement specimenGeneralElement = new SpecimenGeneralElement(parentElement.getLayoutComposite(), SWT.NONE);
-        specimenGeneralElement.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
-        SpecimenGeneralElementController element = new SpecimenGeneralElementController(specimenGeneralElement, this, parentElement);
-        addAndAdaptElement(parentElement, element);
-        return element;
+    public SpecimenDetailsSection createSpecimenDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+        SpecimenDetailsSection section = new SpecimenDetailsSection(this, conversation, parentElement, selectionProvider, style);
+        addAndAdaptSection(parentElement, section);
+        return section;
+    }
+
+    public DerivedUnitDetailsSection createDerivedUnitDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+        DerivedUnitDetailsSection section = new DerivedUnitDetailsSection(this, conversation, parentElement, selectionProvider, style);
+        addAndAdaptSection(parentElement, section);
+        return section;
+    }
+
+    public FieldObservationGeneralElementController createSpecimenGeneralElementController(ICdmFormElement parentElement){
+        return createFieldObservationGeneralElementController_internal(parentElement, true, false);
+    }
+
+    public SpecimenDetailsElementController createSpecimenDetailsElementController(ICdmFormElement parentElement){
+        SpecimenDetailsElement element = new SpecimenDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+        element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+        SpecimenDetailsElementController controller = new SpecimenDetailsElementController(element, this, parentElement);
+        addAndAdaptElement(parentElement, controller);
+        return controller;
+    }
+
+    public DerivedUnitDetailsElementController createDerivedUnitDetailsController(ICdmFormElement parentElement){
+        DerivedUnitDetailsElement element = new DerivedUnitDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+        element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+        DerivedUnitDetailsElementController controller = new DerivedUnitDetailsElementController(element, this, parentElement);
+        addAndAdaptElement(parentElement, controller);
+        return controller;
+    }
+
+    public FieldObservationGeneralElementController createSpecimenGeneralElementControllerWizard(ICdmFormElement parentElement){
+        return createFieldObservationGeneralElementController_internal(parentElement, true, true);
+    }
+
+    public FieldObservationGeneralElementController createFieldObservationGeneralElementControllerWizard(ICdmFormElement parentElement){
+        return createFieldObservationGeneralElementController_internal(parentElement, false, true);
     }
 
     public FieldObservationGeneralElementController createFieldObservationGeneralElementController(ICdmFormElement parentElement){
-        FieldObservationGeneralElement fieldObservationGeneralElement = new FieldObservationGeneralElement(parentElement.getLayoutComposite(), SWT.NONE);
-        fieldObservationGeneralElement.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
-        FieldObservationGeneralElementController element = new FieldObservationGeneralElementController(fieldObservationGeneralElement, this, parentElement);
-        addAndAdaptElement(parentElement, element);
-        return element;
+        return createFieldObservationGeneralElementController_internal(parentElement, false, false);
+    }
+
+    private FieldObservationGeneralElementController createFieldObservationGeneralElementController_internal(ICdmFormElement parentElement, boolean isSpecimen, boolean isWizard){
+        FieldObservationGeneralElement element = new FieldObservationGeneralElement(parentElement.getLayoutComposite(), SWT.NONE);
+        element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+        FieldObservationGeneralElementController controller = new FieldObservationGeneralElementController(element, this, parentElement, isSpecimen, isWizard);
+        addAndAdaptElement(parentElement, controller);
+        return controller;
     }
 
     public GatheringEventDetailsElementController createGatheringEventDetailsElementController(ICdmFormElement parentElement) {
-        GatheringEventDetailsElement gatheringEventDetailsElement = new GatheringEventDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
-        gatheringEventDetailsElement.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
-        GatheringEventDetailsElementController element = new GatheringEventDetailsElementController(gatheringEventDetailsElement, this, parentElement);
-        adapt(element);
-        parentElement.addElement(element);
-        return element;
+        GatheringEventDetailsElement element = new GatheringEventDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+        element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+        GatheringEventDetailsElementController controller = new GatheringEventDetailsElementController(element, this, parentElement);
+        adapt(controller);
+        parentElement.addElement(controller);
+        return controller;
     }
 
     public FieldObservationDetailsElementController createFieldObservationDetailsElementController(ICdmFormElement parentElement) {
-        FieldObservationDetailsElement fieldObservationDetailsElement = new FieldObservationDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
-        fieldObservationDetailsElement.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
-        FieldObservationDetailsElementController element = new FieldObservationDetailsElementController(fieldObservationDetailsElement, this, parentElement);
-        addAndAdaptElement(parentElement, element);
-        return element;
+        FieldObservationDetailsElement element = new FieldObservationDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+        element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+        FieldObservationDetailsElementController controller = new FieldObservationDetailsElementController(element, this, parentElement);
+        addAndAdaptElement(parentElement, controller);
+        return controller;
     }
 
 }
@@ -23,14 +23,14 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @created Dec 15, 2010
  * @version 1.0
  */
-public class FieldObservationWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+public class FieldObservationDetailsWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
 
        /**
         * @param formFactory
         * @param conversation
         * @param entity
         */
-       public FieldObservationWizardPage(CdmFormFactory formFactory,
+       public FieldObservationDetailsWizardPage(CdmFormFactory formFactory,
                        ConversationHolder conversation, DerivedUnitFacade entity) {
                super(formFactory, conversation, entity);
                setTitle("Field Observation Details");
@@ -23,17 +23,17 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @created Dec 17, 2010
  * @version 1.0
  */
-public class GeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+public class FieldObservationGeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
 
        /**
         * @param formFactory
         * @param conversation
         * @param entity
         */
-       public GeneralWizardPage(CdmFormFactory formFactory,
+       public FieldObservationGeneralWizardPage(CdmFormFactory formFactory,
                        ConversationHolder conversation, DerivedUnitFacade entity) {
                super(formFactory, conversation, entity);
-               setTitle("General Specimen Data");
+               setTitle("Field Observation");
        }
 
        /* (non-Javadoc)
@@ -49,7 +49,7 @@ public class GeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFa
         */
        @Override
        public AbstractCdmDetailElement<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
-           FieldObservationGeneralElementController detailElement = formFactory.createFieldObservationGeneralElementController(rootElement);
+           FieldObservationGeneralElementController detailElement = formFactory.createFieldObservationGeneralElementControllerWizard(rootElement);
                detailElement.setEntity(getEntity());
                checkComplete();
                return detailElement;
@@ -23,14 +23,14 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @created Dec 15, 2010
  * @version 1.0
  */
-public class GatheringEventWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+public class GatheringEventDetailsWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
 
        /**
         * @param formFactory
         * @param conversation
         * @param entity
         */
-       public GatheringEventWizardPage(CdmFormFactory formFactory,
+       public GatheringEventDetailsWizardPage(CdmFormFactory formFactory,
                        ConversationHolder conversation, DerivedUnitFacade entity) {
                super(formFactory, conversation, entity);
                setTitle("Gathering Event Details");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java
new file mode 100644 (file)
index 0000000..1dcd7c7
--- /dev/null
@@ -0,0 +1,56 @@
+// $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.SpecimenDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 30.08.2013
+ *
+ */
+public class SpecimenDetailsWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+
+    /**
+     * @param formFactory
+     * @param conversation
+     * @param entity
+     */
+    public SpecimenDetailsWizardPage(CdmFormFactory formFactory,
+            ConversationHolder conversation, DerivedUnitFacade entity) {
+        super(formFactory, conversation, entity);
+        setTitle("Specimen Details");
+        setPageComplete(true);
+    }
+
+    /* (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<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
+        SpecimenDetailsElementController detailElement = formFactory.createSpecimenDetailsElementController(rootElement);
+        detailElement.setEntity(getEntity());
+        return detailElement;
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java
new file mode 100644 (file)
index 0000000..c33b784
--- /dev/null
@@ -0,0 +1,56 @@
+// $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.fieldObservation.FieldObservationGeneralElementController;
+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 SpecimenGeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+
+    /**
+     * @param formFactory
+     * @param conversation
+     * @param entity
+     */
+    public SpecimenGeneralWizardPage(CdmFormFactory formFactory,
+            ConversationHolder conversation, DerivedUnitFacade entity) {
+        super(formFactory, conversation, entity);
+        setTitle("Specimen");
+    }
+
+    /* (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<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
+        FieldObservationGeneralElementController detailElement = formFactory.createSpecimenGeneralElementControllerWizard(rootElement);
+        detailElement.setEntity(getEntity());
+        checkComplete();
+        return detailElement;
+    }
+}
index 2cd221aa2266c2fe62d3e7c190ebd60bc9bf3dfe..1b6552d7084fed82bbc638311f6079421db226ae 100644 (file)
@@ -39,9 +39,9 @@ import eu.etaxonomy.taxeditor.ui.section.agent.TeamWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailsWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailsWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationGeneralWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.user.UserDetailWizardPage;
 
@@ -108,11 +108,11 @@ public class EditFromSelectionWizard extends Wizard implements
                                throw new IllegalStateException();
                        }
 
-                       addPage(new GeneralWizardPage(formFactory,
+                       addPage(new FieldObservationGeneralWizardPage(formFactory,
                                        selectionElement.getConversationHolder(), facade));
-                       addPage(new GatheringEventWizardPage(formFactory,
+                       addPage(new GatheringEventDetailsWizardPage(formFactory,
                                        selectionElement.getConversationHolder(), facade));
-                       addPage(new FieldObservationWizardPage(formFactory,
+                       addPage(new FieldObservationDetailsWizardPage(formFactory,
                                        selectionElement.getConversationHolder(), facade));
                        addPage(new DerivedUnitBaseWizardPage(formFactory,
                                        selectionElement.getConversationHolder(), facade));
index 859e204ca97175c3fc4eb773fd66ef10568ba80c..7b40c4380903998fcd3e058a807b53d926345d4c 100644 (file)
@@ -52,7 +52,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsSection;
 import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralSection;
 import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventSection;
-import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralSection;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.RootElement;
 import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
@@ -242,7 +244,7 @@ public class DetailsViewer extends AbstractCdmDataViewer {
             DerivedUnitFacade derivedUnitFacade = (DerivedUnitFacade)input;
 
             if(derivedUnitFacade.getType()==SpecimenOrObservationType.FieldUnit){
-                createDerivedUnitBaseElementSection(rootElement);
+                createFieldObservationDetailsView(rootElement);
             } else if(derivedUnitFacade.getType()==SpecimenOrObservationType.DerivedUnit){
                 createSpecimenDetailsView(rootElement);
             }
@@ -554,7 +556,7 @@ public class DetailsViewer extends AbstractCdmDataViewer {
      *
      * @param parent
      */
-    private void createDerivedUnitBaseElementSection(RootElement parent) {
+    private void createFieldObservationDetailsView(RootElement parent) {
         destroySections();
 
         FieldObservationGeneralSection fieldObservationSection = formFactory.createFieldObservationGeneralSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
@@ -590,11 +592,19 @@ public class DetailsViewer extends AbstractCdmDataViewer {
     private void createSpecimenDetailsView(RootElement parent) {
         destroySections();
 
-        SpecimenSection specimenSection = formFactory.createSpecimenSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+        SpecimenGeneralSection specimenSection = formFactory.createSpecimenSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
 
         formFactory.createHorizontalSeparator(parent, SWT.BORDER);
 
+        SpecimenDetailsSection specimenDetailsSection = formFactory.createSpecimenDetailsSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE);
+
+        formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+
+        DerivedUnitDetailsSection derivedUnitDetailsSection = formFactory.createDerivedUnitDetailsSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE);
+
         addPart(specimenSection);
+        addPart(specimenDetailsSection);
+        addPart(derivedUnitDetailsSection);
     }
 
     /**