eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java -text
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/EmptySection.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/FieldUnitDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SingleReadGeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/ArtworkGeneralDetailElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/ArtworkGeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/LivingPlantPhotoGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/LivingPlantPhotoGeneralDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/SpecimenScanGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/SpecimenScanGeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java -text
import org.eclipse.ui.actions.CompoundContributionItem;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
+import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.Amplification;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
+import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
new MenuItem(menu, SWT.SEPARATOR);
createMenuItem(menu, "Tissue Sample", fieldUnit, DerivedUnit.class, SpecimenOrObservationType.TissueSample);
createMenuItem(menu, "DNA Sample", fieldUnit, DnaSample.class, SpecimenOrObservationType.DnaSample);
- createMenuItem(menu, "Specimen Scan", fieldUnit, DerivedUnit.class, SpecimenOrObservationType.StillImage);
- createMenuItem(menu, "Artwork", fieldUnit, DerivedUnit.class, SpecimenOrObservationType.StillImage);
- createMenuItem(menu, "Living Plant Photo", fieldUnit, DerivedUnit.class, SpecimenOrObservationType.StillImage);
+ createMenuItem(menu, "Specimen Scan", fieldUnit, MediaSpecimen.class, SpecimenOrObservationType.StillImage);
+ createMenuItem(menu, "Artwork", fieldUnit, MediaSpecimen.class, SpecimenOrObservationType.StillImage);
+ createMenuItem(menu, "Living Plant Photo", fieldUnit, MediaSpecimen.class, SpecimenOrObservationType.StillImage);
}
//context menu for Specimen
else if(selectedElement instanceof DerivedUnit && ((DerivedUnit)selectedElement).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
createMenuItem(menu, "Tissue Sample", derivedUnit, DerivedUnit.class, SpecimenOrObservationType.TissueSample);
createMenuItem(menu, "DNA Sample", derivedUnit, DnaSample.class, SpecimenOrObservationType.DnaSample);
- createMenuItem(menu, "Specimen Scan", derivedUnit, DerivedUnit.class, SpecimenOrObservationType.StillImage);
- createMenuItem(menu, "Artwork", derivedUnit, DerivedUnit.class, SpecimenOrObservationType.StillImage);
+ createMenuItem(menu, "Specimen Scan", derivedUnit, MediaSpecimen.class, SpecimenOrObservationType.StillImage);
+ createMenuItem(menu, "Artwork", derivedUnit, MediaSpecimen.class, SpecimenOrObservationType.StillImage);
createMenuItem(menu, "Living Plant Photo", derivedUnit, DerivedUnit.class, SpecimenOrObservationType.StillImage);
}
//context menu for DnaSample
if(childClass.equals(DnaSample.class)){
derivedUnit = DnaSample.NewInstance();
}
+ else if(childClass.equals(MediaSpecimen.class)){
+ derivedUnit = MediaSpecimen.NewInstance(specimenType);
+ //a MediaSpecimen with no media attached does not make sense hence we add one
+ ((MediaSpecimen)derivedUnit).setMediaSpecimen(Media.NewInstance());
+ }
else{
derivedUnit = DerivedUnit.NewInstance(specimenType);
}
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueElement;
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;
import eu.etaxonomy.taxeditor.ui.section.name.SpecimenTypeDesignationElement;
+import eu.etaxonomy.taxeditor.ui.section.name.SynonymRelationshipDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.name.SynonymRelationshipDetailSection;
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationEventDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationHistoryDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.EmptySection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SingleReadGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.TissueSampleGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.TissueSampleGeneralDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.media.ArtworkGeneralDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.media.ArtworkGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.LivingPlantPhotoGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.LivingPlantPhotoGeneralDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.SpecimenScanGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.SpecimenScanGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
return element;
}
+
+
+ /**
+ * @param conversationHolder
+ * @param parent
+ * @param detailsViewer
+ * @param i
+ * @return
+ */
+ public EmptySection createEmptySection(CdmFormFactory formFactory, ICdmFormElement parentElement, int style) {
+ EmptySection section = new EmptySection(formFactory, parentElement, style);
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
+
/**
* <p>
* createDateDetailSection
return section;
}
- public ArtworkGeneralDetailSection createArtworkGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- ArtworkGeneralDetailSection section = new ArtworkGeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
+ public MediaSpecimenGeneralDetailSection createMediaSpecimenGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ MediaSpecimenGeneralDetailSection section = new MediaSpecimenGeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
addAndAdaptSection(parentElement, section);
return section;
}
return element;
}
- public ArtworkGeneralDetailElement createArtworkGeneralDetailElement(ICdmFormElement parentElement){
- ArtworkGeneralDetailElement element = new ArtworkGeneralDetailElement(this, parentElement);
+ public MediaSpecimenGeneralDetailElement createMediaSpecimenGeneralDetailElement(ICdmFormElement parentElement){
+ MediaSpecimenGeneralDetailElement element = new MediaSpecimenGeneralDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
return element;
}
return section;
}
+ public SynonymRelationshipDetailSection createSynonymRelationshipDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ SynonymRelationshipDetailSection section = new SynonymRelationshipDetailSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public ProtologueSection createProtologueSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
ProtologueSection section = new ProtologueSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
} else if (entity instanceof NameRelationship) {
element = new NameRelationshipDetailElement(this, parentElement, (NameRelationship) entity, removeListener,
style);
+ } else if (entity instanceof SynonymRelationship) {
+ element = new SynonymRelationshipDetailElement(this, parentElement, (SynonymRelationship) entity, removeListener,
+ style);
} else if (entity instanceof SpecimenTypeDesignation) {
element = new SpecimenTypeDesignationElement(this, parentElement, (SpecimenTypeDesignation) entity,
removeListener, style);
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* 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.
*/
import eu.etaxonomy.cdm.model.common.VersionableEntity;
import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
/**
* @created Nov 5, 2009
* @version 1.0
*/
-public class EmptyElement extends AbstractCdmFormElement{
+public class EmptyElement extends AbstractCdmDetailElement{
/**
* <p>Constructor for EmptyElement.</p>
super(toolkit, parentElement);
addControl(new Label(getLayoutComposite(), SWT.HORIZONTAL));
}
+
+ /* (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, Object entity, int style) {
+ //empty
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ // empty
+ }
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2014 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.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;
+
+/**
+ * @author pplitzner
+ * @date 27.01.2014
+ *
+ */
+public class EmptySection extends AbstractCdmDetailSection<Object> {
+
+ /**
+ * <p>Constructor for DerivedUnitFacadeDetailSection.</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 EmptySection(CdmFormFactory formFactory, ICdmFormElement parentElement, int style) {
+ super(formFactory, null, parentElement, null, style);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getHeading() {
+ return "No details view implemented for this element";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
+ */
+ @Override
+ protected AbstractCdmDetailElement<Object> createCdmDetailElement(AbstractCdmDetailSection<Object> parentElement, int style) {
+ return formFactory.createEmptyElement(parentElement);
+ }
+}
*/
public class AmplificationCloningDetailElement extends AbstractCdmDetailElement<Amplification> {
private TextWithLabelElement textCloningStrain;
- private TimePeriodElement dateCloning;
+ private TimePeriodElement date;
private EntitySelectionElement<AgentBase> selectionCloningStaff;
private TermComboElement<DefinedTerm> comboCloningMaterialOrMethod;
protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
Cloning cloning = entity.getCloning();
textCloningStrain = formFactory.createTextWithLabelElement(formElement, "Cloning Strain", cloning==null?"":cloning.getStrain(), style);
- dateCloning = formFactory.createTimePeriodElement(formElement, "Cloning Date", cloning==null?null:cloning.getTimeperiod(), style);
+ date = formFactory.createTimePeriodElement(formElement, "Cloning Date", cloning==null?null:cloning.getTimeperiod(), style);
selectionCloningStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Cloning Staff", cloning==null?null:cloning.getActor(), EntitySelectionElement.ALL, style);
comboCloningMaterialOrMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Cloning Mat. & Meth.", cloning==null?null:cloning.getDefinedMaterialOrMethod(), style);
}
*/
@Override
public void handleEvent(Object eventSource) {
- if(eventSource==textCloningStrain || eventSource==dateCloning|| eventSource==selectionCloningStaff || eventSource==comboCloningMaterialOrMethod){
+ if(eventSource==textCloningStrain || eventSource==date|| eventSource==selectionCloningStaff || eventSource==comboCloningMaterialOrMethod){
Cloning cloning = getEntity().getCloning();
if(cloning==null){
cloning = Cloning.NewInstance();
if(eventSource==textCloningStrain){
cloning.setStrain(textCloningStrain.getText());
}
- else if(eventSource==dateCloning){
- cloning.setTimeperiod(dateCloning.getTimePeriod());
+ else if(eventSource==date){
+ cloning.setTimeperiod(date.getTimePeriod());
}
else if(eventSource==selectionCloningStaff){
cloning.setActor(selectionCloningStaff.getSelection());
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
/**
private TextWithLabelElement textBarcodeSequence;
private TextWithLabelElement textGeneticAccessNo;
private TextWithLabelElement textBoldProcessID;
- private TextWithLabelElement textBoldLink;
+ private UriWithLabelElement textBoldUri;
private SequenceReferenceCollectionDetailSection sectionReferenceCollection;
textGeneticAccessNo = formFactory.createTextWithLabelElement(formElement, "Genetic Acc. No.", entity.getGeneticAccessionNumber(), style);
textBoldProcessID = formFactory.createTextWithLabelElement(formElement, "BOLD Process ID", entity.getBoldProcessId(), style);
- textBoldLink = formFactory.createTextWithLabelElement(formElement, "BOLD URI", entity.getBoldUri(), style);
- textBoldLink.setEnabled(false);
+ textBoldUri = formFactory.createUriWithLabelElement(formElement, "BOLD URI", entity.getBoldUri(), style);
+ textBoldUri.setEnabled(false);
sectionReferenceCollection = formFactory.createSequenceReferenceCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
sectionReferenceCollection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
else if(eventSource==textBoldProcessID){
getEntity().setBoldProcessId(textBoldProcessID.getText());
if(textBoldProcessID.getText()!=null && !textBoldProcessID.getText().isEmpty()){
- textBoldLink.setText(getEntity().getBoldUri().toString());
+ textBoldUri.setUri(getEntity().getBoldUri());
}
else{
- textBoldLink.setText("");
+ textBoldUri.setText("");
}
}
- else if(eventSource==textBoldLink){
+ else if(eventSource==textBoldUri){
//cannot be set because it is generated from the genetic access number and a base URI
}
}
+++ /dev/null
-// $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.media;
-
-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 16.12.2013
- *
- */
-public class ArtworkGeneralDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
-
- /**
- * @param formFactory
- * @param formElement
- */
- public ArtworkGeneralDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
- super(formFactory, formElement);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
- * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
- */
- @Override
- protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
- * .lang.Object)
- */
- @Override
- public void handleEvent(Object eventSource) {
- }
-}
--- /dev/null
+// $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.media;
+
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+
+import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.LanguageString;
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationSection;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
+
+/**
+ * @author pplitzner
+ * @date 16.12.2013
+ *
+ */
+public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<MediaSpecimen> {
+
+ private LanguageStringWithLabelElement textTitleLanguageString;
+ private EntitySelectionElement<AgentBase> selectionArtist;
+ private TimePeriodElement date;
+ private LanguageStringWithLabelElement textDescriptionLanguageString;
+
+ private MediaRepresentationSection mediaRepresentationSection;
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public MediaSpecimenGeneralDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
+ * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement, MediaSpecimen entity, int style) {
+ LanguageString title;
+ AgentBase artist;
+ LanguageString description;
+
+ Media media = entity.getMediaSpecimen();
+ if(media==null){
+ formFactory.createLabel(formElement, "No media attached to this MediaSpecimen!");
+ title = null;
+ artist = null;
+ description = null;
+ }
+ else{
+ title = media.getTitle();
+ artist = media.getArtist();
+ description = media.getDescription(Language.DEFAULT());
+ textTitleLanguageString = formFactory.createLanguageStringWithLabelElement(formElement, "Title", title, style);
+ selectionArtist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Artist", artist, EntitySelectionElement.ALL, style);
+ textDescriptionLanguageString = formFactory.createLanguageStringWithLabelElement(formElement, "Description", description, style);
+
+ mediaRepresentationSection = formFactory.createMediaRepresentationSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+ mediaRepresentationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ mediaRepresentationSection.setEntity(media);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
+ * .lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ Media media = getEntity().getMediaSpecimen();
+ if(media==null){
+ media = Media.NewInstance();
+ }
+
+ if(eventSource==selectionArtist){
+ media.setArtist(selectionArtist.getSelection());
+ }
+ else if(eventSource==textDescriptionLanguageString){
+ media.addDescription(textDescriptionLanguageString.getLanguageString());
+ }
+ }
+}
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
* @date 12.12.2013
*
*/
-public class ArtworkGeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> {
+public class MediaSpecimenGeneralDetailSection extends AbstractCdmDetailSection<MediaSpecimen> {
/**
* @param formFactory
* @param selectionProvider
* @param style
*/
- public ArtworkGeneralDetailSection(CdmFormFactory formFactory,
+ public MediaSpecimenGeneralDetailSection(CdmFormFactory formFactory,
ConversationHolder conversation, ICdmFormElement parentElement,
ISelectionProvider selectionProvider, int style) {
super(formFactory, conversation, parentElement, selectionProvider, style);
*/
@Override
public String getHeading() {
- return "General";
+ return "General Media Specimen";
}
/* (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.createArtworkGeneralDetailElement(parentElement);
+ protected AbstractCdmDetailElement<MediaSpecimen> createCdmDetailElement(AbstractCdmDetailSection<MediaSpecimen> parentElement, int style) {
+ return formFactory.createMediaSpecimenGeneralDetailElement(parentElement);
}
}
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.taxeditor.editor.UsageTermCollection;
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;
+import eu.etaxonomy.taxeditor.ui.section.name.SynonymRelationshipDetailSection;
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.EmptySection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SingleReadGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.TissueSampleGeneralDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.media.ArtworkGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.LivingPlantPhotoGeneralDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.media.SpecimenScanGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
// Need to build in a mechanism where navigators / editors are 'aware'
// of the corresponding detail viewer.
Object input = getInput();
+
+ destroySections();
if (input instanceof TaxonBase) {
- createTaxonSections(rootElement);
+ createTaxonSections(rootElement, (TaxonBase) input);
} else if (input instanceof NonViralName) {
createNameSections(rootElement);
createLivingPlantPhotoSection(rootElement);
}
else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.StillImage){
- createArtworkSection(rootElement);
+ createMediaSpecimenSection(rootElement);
}
else{
createDerivedUnitBaseElementSection(rootElement);
}
- } else if (input instanceof SpecimenOrObservationBase){
- SpecimenOrObservationType recordBasis = ((SpecimenOrObservationBase<?>) input).getRecordBasis();
- if(recordBasis==SpecimenOrObservationType.PreservedSpecimen){
- createPreservedSpecimenSpecimenSection(rootElement);
- }
- else if(recordBasis==SpecimenOrObservationType.FieldUnit){
- createFieldUnitSection(rootElement);
- }
- else if(recordBasis==SpecimenOrObservationType.DnaSample){
- createDnaSampleSection(rootElement);
- }
+ } else if (input instanceof DnaSample){
+ createDnaSampleSection(rootElement);
+ } else if (input instanceof MediaSpecimen){
+ createMediaSpecimenSection(rootElement);
}
+// else if (input instanceof SpecimenOrObservationBase){
+// SpecimenOrObservationType recordBasis = ((SpecimenOrObservationBase<?>) input).getRecordBasis();
+// if(recordBasis==SpecimenOrObservationType.PreservedSpecimen){
+// createPreservedSpecimenSpecimenSection(rootElement);
+// }
+// else if(recordBasis==SpecimenOrObservationType.FieldUnit){
+// createFieldUnitSection(rootElement);
+// }
+// else if(recordBasis==SpecimenOrObservationType.DnaSample){
+// createDnaSampleSection(rootElement);
+// }
+// else if(recordBasis.isKindOf(SpecimenOrObservationType.Media)){
+// createMediaSpecimenSection(rootElement);
+// }
+// }
else if(input instanceof Amplification){
createAmplificationSection(rootElement);
}
createTermVocabularySection(rootElement);
} else if (input instanceof DefinedTermBase) {
createDefinedTermSection(rootElement);
- } else {
- destroySections();
+ }
+ if(managedForm.getParts().length==0) {
+ createEmptySection(rootElement);
}
layout();
}
+ /**
+ * @param rootElement
+ */
+ private void createEmptySection(RootElement parent) {
+ destroySections();
+
+ EmptySection emptySection = formFactory.createEmptySection(formFactory, parent, SWT.NONE);
+
+ addPart(emptySection);
+ }
+
/**
* @param rootElement
*/
*
* @param parent
*/
- private void createTaxonSections(RootElement parent) {
+ private void createTaxonSections(RootElement parent, TaxonBase taxonBase) {
destroySections();
TaxonBaseDetailSection taxonBaseDetailSection = formFactory.createTaxonBaseDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ SynonymRelationshipDetailSection synonymRelationshipSection = null;
+ if(taxonBase instanceof Synonym){
+ synonymRelationshipSection = formFactory.createSynonymRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ }
+
ParsingMessagesSection parsingMessagesSection = formFactory.createParsingMessagesSection(getConversationHolder(), parent, this, ExpandableComposite.EXPANDED);
addPart(taxonBaseDetailSection);
addPart(referenceDetailSection);
addPart(typeDesignationSection);
addPart(nameRelationshipSection);
+ if(synonymRelationshipSection!=null){
+ addPart(synonymRelationshipSection);
+ }
addPart(parsingMessagesSection);
}
private void createMediaElementSection(RootElement parent) {
destroySections();
+
MediaDetailsSection mediaDetailSection = formFactory.createMediaDetailsSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
addPart(mediaDetailSection);
addPart(section);
}
- private void createArtworkSection(RootElement parent) {
+ private void createMediaSpecimenSection(RootElement parent) {
destroySections();
- ArtworkGeneralDetailSection section = formFactory.createArtworkGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ MediaSpecimenGeneralDetailSection section = formFactory.createMediaSpecimenGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
addPart(section);
}