X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/ada4a75848f5bb137730f6f7c8694117e89166d2..4b30e08bd7dda419269eb80d4eba302f25e32621:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java index 74de20b68..8052c82f4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java @@ -37,6 +37,7 @@ import org.eclipse.ui.forms.widgets.ExpandableComposite; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.Section; import org.eclipse.ui.internal.forms.widgets.FormFonts; +import org.joda.time.DateTime; import org.joda.time.Partial; import org.springframework.security.core.GrantedAuthority; @@ -56,6 +57,8 @@ import eu.etaxonomy.cdm.model.common.Group; import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.cdm.model.common.IEnumTerm; import eu.etaxonomy.cdm.model.common.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.Identifier; +import eu.etaxonomy.cdm.model.common.LSID; import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.common.Marker; @@ -72,8 +75,11 @@ import eu.etaxonomy.cdm.model.description.Distribution; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.IndividualsAssociation; import eu.etaxonomy.cdm.model.description.KeyStatement; +import eu.etaxonomy.cdm.model.description.MeasurementUnit; import eu.etaxonomy.cdm.model.description.QuantitativeData; +import eu.etaxonomy.cdm.model.description.State; import eu.etaxonomy.cdm.model.description.StateData; +import eu.etaxonomy.cdm.model.description.StatisticalMeasure; import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue; import eu.etaxonomy.cdm.model.description.TaxonInteraction; import eu.etaxonomy.cdm.model.description.TextData; @@ -85,6 +91,7 @@ import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.media.MediaRepresentation; import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.molecular.DnaSample; import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.NameTypeDesignation; import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; @@ -95,11 +102,14 @@ 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.model.taxon.TaxonNodeAgentRelation; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; -import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; +import eu.etaxonomy.taxeditor.ui.combo.VocabularyComboElement; import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType; +import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement; import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled; import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement; import eu.etaxonomy.taxeditor.ui.password.EditPasswordElement; @@ -118,6 +128,8 @@ import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberSection; import eu.etaxonomy.taxeditor.ui.section.agent.TeamOrPersonBaseDetailSection; import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailElement; import eu.etaxonomy.taxeditor.ui.section.classification.ClassificationDetailSection; +import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeAgentRelationCollectionElement; +import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeAgentRelationCollectionSection; import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement; import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailSection; import eu.etaxonomy.taxeditor.ui.section.common.ReferenceEntityDetailElement; @@ -161,7 +173,8 @@ import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailElement; import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection; import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement; import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection; -import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection; +import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailElement; +import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection; import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement; import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection; import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement; @@ -169,7 +182,8 @@ import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection; import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection; import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection; import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement; -import eu.etaxonomy.taxeditor.ui.section.media.MediaElement; +import eu.etaxonomy.taxeditor.ui.section.media.MediaDetailElement; +import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement; import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement; import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartElement; import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection; @@ -199,8 +213,6 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.CurrentDeterminationDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection; -import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailElement; -import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement; @@ -214,20 +226,26 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailElemen import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopeDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopePolyKeyDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.OriginalLabelDataSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenHierarchyDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenHierarchyDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.association.DerivedUnitTypeDesignationElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.association.DerivedUnitTypeDesignationSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenCurrentDeterminationDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenDetailSection; -import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenDeterminationDetailElement; -import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenDeterminationDetailSection; -import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenDeterminationHistoryDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenGeneralDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenSourceCollectionDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractSampleDesignationDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationCloningDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationCloningDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGelPhotoCollectionDetailSection; @@ -236,11 +254,18 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGeneralDeta import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationPrimerDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AmplificationPrimerDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.CurrentSampleDesignationDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaQualityDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaQualityDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSamplePreparationPreservationDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSamplePreparationPreservationSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.PrimerGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationHistoryDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationTextDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceContigFileCollectionDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceGeneralDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceGeneralDetailSection; @@ -251,12 +276,8 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SingleReadGeneralDetailS import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SingleReadPherogramCollectionDetailSection; 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.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; import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement; @@ -294,10 +315,19 @@ import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement; import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.FeatureDetailElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.RecommendedModifierVocabulariesCollectionSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.RecommendedModifierVocabulariesElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement; import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElementWithAbbreviatedTitle; import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement; @@ -440,7 +470,7 @@ public class CdmFormFactory extends FormToolkit { if (selectionProvider != null) { selectionProvider.removeSelectionChangedListener(selectionArbitrator); } else { - AbstractUtility.error(this.getClass(), + MessagingUtils.error(this.getClass(), "Tried to destroy a selection listener from this factories listeners but was null", null); } } @@ -530,31 +560,6 @@ public class CdmFormFactory extends FormToolkit { return this.createLabel(parent, null); } - /** - *

- * createMultilineTextWithLabel - *

- * - * @param labelString - * a {@link java.lang.String} object. - * @param textHeight - * a int. - * @param style - * a int. - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement} - * object. - */ - public TextWithLabelElement createMultilineTextWithLabel(ICdmFormElement parentElement, String labelString, - int textHeight, int style) { - TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, "", textHeight, style); - adapt(element); - parentElement.addElement(element); - return element; - } - /** *

* createMultiLanguageTextElement @@ -653,7 +658,24 @@ public class CdmFormFactory extends FormToolkit { initialText = ""; } - TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, initialText, null, textLimit, style); + TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, initialText, null, + textLimit, style); + adapt(element); + parentElement.addElement(element); + return element; + } + + public TextWithLabelElement createMultiLineTextWithLabel(ICdmFormElement parentElement, String labelString, + int textHeight, int style) { + TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, "", textHeight, true, style); + adapt(element); + parentElement.addElement(element); + return element; + } + + public LsidWithExceptionLabelElement createLsidWithExceptionLabelElement(ICdmFormElement parentElement, String labelString, + LSID initialLsid, int style) { + LsidWithExceptionLabelElement element = new LsidWithExceptionLabelElement(this, parentElement, labelString, initialLsid, null, style); adapt(element); parentElement.addElement(element); return element; @@ -728,79 +750,15 @@ public class CdmFormFactory extends FormToolkit { return element; } - /** - *

- * createLanguageStringWithLabelElement - *

- * - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @param labelString - * a {@link java.lang.String} object. - * @param languageString - * a {@link eu.etaxonomy.cdm.model.common.LanguageString} object. - * @param style - * a int. - * @return a - * {@link eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement} - * object. - */ public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement, String labelString, LanguageString languageString, int style) { - LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString, - languageString, style); - adapt(element); - parentElement.addElement(element); - return element; + return createLanguageStringWithLabelElement(parentElement, labelString, languageString, null, false, style); } - /** - *

- * createLanguageStringWithLabelElement - *

- * - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @param labelString - * a {@link java.lang.String} object. - * @param languageString - * a {@link eu.etaxonomy.cdm.model.common.LanguageString} object. - * @param height - * a int. - * @param style - * a int. - * @return a - * {@link eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement} - * object. - */ public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement, - String labelString, LanguageString languageString, int height, int style) { + String labelString, LanguageString languageString, Integer height, boolean isMultiLine, int style) { LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString, - languageString, height, style); - adapt(element); - parentElement.addElement(element); - return element; - } - - /** - *

- * createTextElement - *

- * - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @param initialText - * a {@link java.lang.String} object. - * @param style - * a int. - * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement} - * object. - */ - public TextWithLabelElement createTextElement(ICdmFormElement parentElement, String initialText, int style) { - TextWithLabelElement element = new TextWithLabelElement(this, parentElement, null, initialText, null, style); + languageString, height, isMultiLine, style); adapt(element); parentElement.addElement(element); return element; @@ -830,105 +788,64 @@ public class CdmFormFactory extends FormToolkit { parentElement.addElement(element); return element; } - /** - *

- * createTermComboElement - *

- * * @deprecated Use {@link #createDefinedTermComboElement(TermType, ICdmFormElement, String, DefinedTermBase, int)} instead - * @param termComboType - * a - * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.TermComboType} - * object. - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @param labelString - * a {@link java.lang.String} object. - * @param selection - * a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} - * object. - * @param style - * a int. - * @return a {@link eu.etaxonomy.taxeditor.ui.combo.TermComboElement} - * object. */ @Deprecated public TermComboElement createTermComboElement(Class termComboType, ICdmFormElement parentElement, String labelString, T selection, int style) { TermComboElement element = new TermComboElement(this, parentElement, termComboType, labelString, - selection, style); + selection, true, style); adapt(element); parentElement.addElement(element); return element; } - /** - *

- * createTermComboElement - *

- * - * @param termComboType - * a - * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.TermComboType} - * object. - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @param labelString - * a {@link java.lang.String} object. - * @param selection - * a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} - * object. - * @param style - * a int. - * @return a {@link eu.etaxonomy.taxeditor.ui.combo.TermComboElement} - * object. - */ + public TermComboElement createDefinedTermComboElement( + TermType termType, + ICdmFormElement parentElement, + String labelString, + T selection, + int style) { + TermComboElement element = new TermComboElement(this, parentElement, termType, labelString, selection, true, style); + adapt(element); + parentElement.addElement(element); + return element; + } - public TermComboElement createDefinedTermComboElement( + public TermComboElement createDefinedTermComboElement( TermType termType, ICdmFormElement parentElement, String labelString, T selection, + boolean addEmptyElement, int style) { - TermComboElement element = new TermComboElement(this, parentElement, termType, labelString, selection, style); + TermComboElement element = new TermComboElement(this, parentElement, termType, labelString, selection, addEmptyElement, style); adapt(element); parentElement.addElement(element); return element; } - /** - *

- * createTermComboElement - *

- * - * @param termComboType - * a - * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.TermComboType} - * object. - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. - * @param labelString - * a {@link java.lang.String} object. - * @param selection - * a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} - * object. - * @param style - * a int. - * @return a {@link eu.etaxonomy.taxeditor.ui.combo.TermComboElement} - * object. - */ + public TermComboElement createDefinedTermComboElement( + TermVocabulary termVocabulary, + ICdmFormElement parentElement, + String labelString, + T selection, + int style) { + TermComboElement element = new TermComboElement(this, parentElement, termVocabulary, labelString, selection, true, style); + adapt(element); + parentElement.addElement(element); + return element; + } public TermComboElement createDefinedTermComboElement( TermVocabulary termVocabulary, ICdmFormElement parentElement, String labelString, T selection, + boolean addEmptyElement, int style) { - TermComboElement element = new TermComboElement(this, parentElement, termVocabulary, labelString, selection, style); + TermComboElement element = new TermComboElement(this, parentElement, termVocabulary, labelString, selection, addEmptyElement, style); adapt(element); parentElement.addElement(element); return element; @@ -960,6 +877,14 @@ public class CdmFormFactory extends FormToolkit { return element; } + public , VOC extends TermVocabulary> VocabularyComboElement createVocabularyComboElement( + TermType termType, String label, VOC selection, ICdmFormElement parentElement, int style) { + VocabularyComboElement element = new VocabularyComboElement(this, parentElement, termType, label, selection, style); + adapt(element); + parentElement.addElement(element); + return element; + } + /** *

* createBrowserElement @@ -1335,7 +1260,7 @@ public class CdmFormFactory extends FormToolkit { */ public void removeSelectionListener(SelectionListener listener) { if (listener == null) { - AbstractUtility.error(this.getClass(), + MessagingUtils.error(this.getClass(), "Tried to remove a selection listener from this factories listeners but was null", null); } else { selectionListenerList.remove(listener); @@ -1476,8 +1401,8 @@ public class CdmFormFactory extends FormToolkit { * object. * @return a {@link eu.etaxonomy.taxeditor.ui.section.EmptyElement} object. */ - public EmptyElement createEmptyElement(ICdmFormElement parentElement) { - EmptyElement element = new EmptyElement(this, parentElement, null, SWT.NULL); + public EmptyElement createEmptyElement(ICdmFormElement parentElement, String emptyText) { + EmptyElement element = new EmptyElement(this, parentElement, emptyText, SWT.NULL); adapt(element); parentElement.addElement(element); return element; @@ -1630,8 +1555,8 @@ public class CdmFormFactory extends FormToolkit { return section; } - public NonViralNameDetailSection createNonViralNameDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ - NonViralNameDetailSection section = new NonViralNameDetailSection(this, conversation, parentElement, selectionProvider, style); + public NonViralNameDetailSection createNonViralNameDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, boolean nameChoosable, int style){ + NonViralNameDetailSection section = new NonViralNameDetailSection(this, conversation, parentElement, selectionProvider, nameChoosable, style); addAndAdaptSection(parentElement, section); return section; } @@ -1642,12 +1567,6 @@ public class CdmFormFactory extends FormToolkit { return section; } - public DerivedUnitFacadeDetailSection createDerivedUnitFacadeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ - DerivedUnitFacadeDetailSection section = new DerivedUnitFacadeDetailSection(this, conversation, parentElement, selectionProvider, style); - addAndAdaptSection(parentElement, section); - return section; - } - public FieldUnitDetailSection createFieldUnitDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ FieldUnitDetailSection section = new FieldUnitDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); @@ -1660,12 +1579,30 @@ public class CdmFormFactory extends FormToolkit { return section; } + public SpecimenHierarchyDetailSection createSpecimenHierarchyDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + SpecimenHierarchyDetailSection section = new SpecimenHierarchyDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + public DerivedUnitBaseDetailSection createDerivedUnitBaseDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ DerivedUnitBaseDetailSection section = new DerivedUnitBaseDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); return section; } + public DerivedUnitTypeDesignationSection createDerivedUnitTypeDesignationSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + DerivedUnitTypeDesignationSection section = new DerivedUnitTypeDesignationSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public TaxonAssociationDetailSection createTaxonAssociationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + TaxonAssociationDetailSection section = new TaxonAssociationDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + public OriginalLabelDataSection createOriginalLabelDataSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ OriginalLabelDataSection section = new OriginalLabelDataSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); @@ -1744,6 +1681,12 @@ public class CdmFormFactory extends FormToolkit { return section; } + public DnaSamplePreparationPreservationSection createDnaSamplePreparationPreservationSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + DnaSamplePreparationPreservationSection section = new DnaSamplePreparationPreservationSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + public DnaQualityDetailSection createDnaQualityDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ DnaQualityDetailSection section = new DnaQualityDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); @@ -1804,18 +1747,6 @@ public class CdmFormFactory extends FormToolkit { return section; } - public SpecimenScanGeneralDetailSection createSpecimenScanGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ - SpecimenScanGeneralDetailSection section = new SpecimenScanGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); - addAndAdaptSection(parentElement, section); - return section; - } - - public LivingPlantPhotoGeneralDetailSection createLivingPlantPhotoGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ - LivingPlantPhotoGeneralDetailSection section = new LivingPlantPhotoGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); - addAndAdaptSection(parentElement, section); - return section; - } - public MediaSpecimenGeneralDetailSection createMediaSpecimenGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ MediaSpecimenGeneralDetailSection section = new MediaSpecimenGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); @@ -1846,8 +1777,8 @@ public class CdmFormFactory extends FormToolkit { return section; } - public PreservedSpecimenDeterminationDetailSection createPreservedSpecimenDeterminationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ - PreservedSpecimenDeterminationDetailSection section = new PreservedSpecimenDeterminationDetailSection(this, conversation, parentElement, selectionProvider, style); + public SampleDesignationDetailSection createSampleDesignationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + SampleDesignationDetailSection section = new SampleDesignationDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); return section; } @@ -1979,8 +1910,16 @@ public class CdmFormFactory extends FormToolkit { return element; } - public TaxonNodeDetailElement createTaxonNodeDetailElement(ICdmFormElement parentElement){ - TaxonNodeDetailElement element = new TaxonNodeDetailElement(this, parentElement); + public TaxonNodeAgentRelationCollectionSection createTaxonNodeAgentRelationCollectionElement(ICdmFormElement parentElement, ConversationHolder conversation, int style){ + TaxonNodeAgentRelationCollectionSection element = new TaxonNodeAgentRelationCollectionSection(this, conversation, parentElement, style); + adapt(element); + parentElement.addElement(element); + + return element; + } + + public TaxonNodeDetailElement createTaxonNodeDetailElement(ICdmFormElement parentElement, boolean createNew){ + TaxonNodeDetailElement element = new TaxonNodeDetailElement(this, parentElement, createNew); addAndAdaptElement(parentElement, element); return element; } @@ -2003,12 +1942,6 @@ public class CdmFormFactory extends FormToolkit { return element; } - public DerivedUnitFacadeDetailElement createDerivedUnitFacadeDetailElement(ICdmFormElement parentElement){ - DerivedUnitFacadeDetailElement element = new DerivedUnitFacadeDetailElement(this, parentElement); - addAndAdaptElement(parentElement, element); - return element; - } - public NonViralNameDetailElement createNonViralNameDetailElement(ICdmFormElement parentElement){ NonViralNameDetailElement element = new NonViralNameDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); @@ -2082,6 +2015,12 @@ public class CdmFormFactory extends FormToolkit { return element; } + public TaxonAssociationDetailElement createTaxonAssociationDetailElement(ICdmFormElement parentElement){ + TaxonAssociationDetailElement element = new TaxonAssociationDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + public PreservedSpecimenGeneralDetailElement createPreservedSpecimenGeneralDetailElement(ICdmFormElement parentElement){ PreservedSpecimenGeneralDetailElement element = new PreservedSpecimenGeneralDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); @@ -2100,6 +2039,12 @@ public class CdmFormFactory extends FormToolkit { return element; } + public DnaSamplePreparationPreservationDetailElement createDnaSamplePreparationPreservationDetailElement(ICdmFormElement parentElement){ + DnaSamplePreparationPreservationDetailElement element = new DnaSamplePreparationPreservationDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + public DnaQualityDetailElement createDnaQualityDetailElement(ICdmFormElement parentElement){ DnaQualityDetailElement element = new DnaQualityDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); @@ -2148,24 +2093,17 @@ public class CdmFormFactory extends FormToolkit { return element; } - public SpecimenScanGeneralDetailElement createSpecimenScanGeneralDetailElement(ICdmFormElement parentElement){ - SpecimenScanGeneralDetailElement element = new SpecimenScanGeneralDetailElement(this, parentElement); - addAndAdaptElement(parentElement, element); - return element; - } - - public LivingPlantPhotoGeneralDetailElement createLivingPlantPhotoGeneralDetailElement(ICdmFormElement parentElement){ - LivingPlantPhotoGeneralDetailElement element = new LivingPlantPhotoGeneralDetailElement(this, parentElement); - addAndAdaptElement(parentElement, element); - return element; - } - public MediaSpecimenGeneralDetailElement createMediaSpecimenGeneralDetailElement(ICdmFormElement parentElement){ MediaSpecimenGeneralDetailElement element = new MediaSpecimenGeneralDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); return element; } + public MediaDetailElement createMediaDetailElement(ICdmFormElement parentElement){ + MediaDetailElement mediaDetailElement = new MediaDetailElement(this, parentElement); + addAndAdaptElement(parentElement, mediaDetailElement); + return mediaDetailElement; + } public GatheringEventDetailElement createGatheringEventDetailElement(ICdmFormElement parentElement) { GatheringEventDetailElement element = new GatheringEventDetailElement(this, parentElement); @@ -2179,6 +2117,11 @@ public class CdmFormFactory extends FormToolkit { return element; } + public SpecimenHierarchyDetailElement createSpecimenHierarchyDetailElement(ICdmFormElement parentElement) { + SpecimenHierarchyDetailElement element = new SpecimenHierarchyDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } public DerivedUnitBaseDetailElement createDerivedUnitBaseDetailElement(ICdmFormElement parentElement) { DerivedUnitBaseDetailElement element = new DerivedUnitBaseDetailElement(this, parentElement); @@ -2198,14 +2141,14 @@ public class CdmFormFactory extends FormToolkit { return element; } - public PreservedSpecimenDeterminationDetailElement createPreservedSpecimenDeterminationDetailElement(ICdmFormElement parentElement) { - PreservedSpecimenDeterminationDetailElement element = new PreservedSpecimenDeterminationDetailElement(this, parentElement); + public DeterminationDetailElement createDeterminationDetailElement(ICdmFormElement parentElement) { + DeterminationDetailElement element = new DeterminationDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); return element; } - public DeterminationDetailElement createDeterminationDetailElement(ICdmFormElement parentElement) { - DeterminationDetailElement element = new DeterminationDetailElement(this, parentElement); + public SampleDesignationDetailElement createSampleDesignationDetailElement(ICdmFormElement parentElement) { + SampleDesignationDetailElement element = new SampleDesignationDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); return element; } @@ -2358,12 +2301,60 @@ public class CdmFormFactory extends FormToolkit { return section; } + public StateVocabularyCollectionSection createStateVocabulariesSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + StateVocabularyCollectionSection section = new StateVocabularyCollectionSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public RecommendedModifierVocabulariesCollectionSection createRecommendedModifierVocabulariesCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + RecommendedModifierVocabulariesCollectionSection section = new RecommendedModifierVocabulariesCollectionSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public MeasurementUnitCollectionSection createMeasurementUnitCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + MeasurementUnitCollectionSection section = new MeasurementUnitCollectionSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public StatisticalMeasureCollectionSection createStatisticalMeasureCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + StatisticalMeasureCollectionSection section = new StatisticalMeasureCollectionSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + public CollectingAreasDetailSection createCollectingAreasDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ CollectingAreasDetailSection section = new CollectingAreasDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); return section; } + public GeoScopeDetailSection createGeoScopeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + GeoScopeDetailSection section = new GeoScopeDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public GeoScopePolyKeyDetailSection createGeoScopePolyKeyDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + GeoScopePolyKeyDetailSection section = new GeoScopePolyKeyDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public IdentifierDetailSection createIdentifierDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + IdentifierDetailSection section = new IdentifierDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public CurrentSampleDesignationDetailSection createCurrentSampleDesignationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + CurrentSampleDesignationDetailSection section = new CurrentSampleDesignationDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + public CurrentDeterminationDetailSection createCurrentDeterminationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ CurrentDeterminationDetailSection section = new CurrentDeterminationDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); @@ -2376,14 +2367,14 @@ public class CdmFormFactory extends FormToolkit { return section; } - public DeterminationHistoryDetailSection createDeterminationHistoryDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ - DeterminationHistoryDetailSection section = new DeterminationHistoryDetailSection(this, conversation, parentElement, style); + public SampleDesignationHistoryDetailSection createSampleDesignationHistoryDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + SampleDesignationHistoryDetailSection section = new SampleDesignationHistoryDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); return section; } - public PreservedSpecimenDeterminationHistoryDetailSection createPreservedSpecimenDeterminationHistoryDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ - PreservedSpecimenDeterminationHistoryDetailSection section = new PreservedSpecimenDeterminationHistoryDetailSection(this, conversation, parentElement, style); + public DeterminationHistoryDetailSection createDeterminationHistoryDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + DeterminationHistoryDetailSection section = new DeterminationHistoryDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); return section; } @@ -2406,12 +2397,6 @@ public class CdmFormFactory extends FormToolkit { return section; } - public GeographicalScopeDetailSection createGeographicalScopeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ - GeographicalScopeDetailSection section = new GeographicalScopeDetailSection(this, conversation, parentElement, style); - addAndAdaptSection(parentElement, section); - return section; - } - public ScopeRestrictionSection createScopeRestrictionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ ScopeRestrictionSection section = new ScopeRestrictionSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); @@ -2442,28 +2427,7 @@ public class CdmFormFactory extends FormToolkit { return section; } - /** - *

- * createEntityCollectionElement - *

- * - * @param removeListener - * a {@link org.eclipse.swt.events.SelectionListener} object. - * @param style - * a int. - * @param parentElement - * a - * {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} - * object. - * @param versionableEntity - * a {@link eu.etaxonomy.cdm.model.common.IVersionableEntity} - * object. - * @param backgroundColor - * a {@link org.eclipse.swt.graphics.Color} object. - * @return a - * {@link eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement} - * object. - */ + public AbstractEntityCollectionElement createEntityCollectionElement(AbstractFormSection parentElement, Object versionableEntity, SelectionListener removeListener, Color backgroundColor, int style) { AbstractEntityCollectionElement element = null; @@ -2472,7 +2436,7 @@ public class CdmFormFactory extends FormToolkit { if (entity instanceof Annotation) { element = new AnnotationElement(this, parentElement, (Annotation) entity, removeListener, style); - } else if (entity instanceof Person) { + }else if (entity instanceof Person) { element = new TeamMemberElement(this, parentElement, (Person) entity, removeListener, style); } else if (entity instanceof Credit) { element = new CreditElement(this, parentElement, (Credit) entity, removeListener, style); @@ -2480,8 +2444,10 @@ public class CdmFormFactory extends FormToolkit { element = new ExtensionElement(this, parentElement, (Extension) entity, removeListener, style); } else if (entity instanceof Marker) { element = new MarkerElement(this, parentElement, (Marker) entity, removeListener, style); - } else if (entity instanceof Media) { - element = new MediaElement(this, parentElement, (Media) entity, removeListener, style); + } else if (entity instanceof TaxonNodeAgentRelation) { + element = new TaxonNodeAgentRelationCollectionElement(this, parentElement, (TaxonNodeAgentRelation) entity, removeListener, backgroundColor, style); + }else if (entity instanceof Media) { + element = new MediaMetaElement(this, parentElement, (Media) entity, removeListener, true, style); } else if (entity instanceof MediaRepresentation) { element = new MediaRepresentationElement(this, parentElement, (MediaRepresentation) entity, removeListener, style); @@ -2498,31 +2464,33 @@ public class CdmFormFactory extends FormToolkit { } else if (entity instanceof DescriptionElementSource) { element = new DescriptionElementSourceElement(this, parentElement, (DescriptionElementSource) entity, removeListener, style); - } else if (entity instanceof IdentifiableSource) { + } else if (entity instanceof TaxonNodeAgentRelation) { + element = new TaxonNodeAgentRelationCollectionElement(this, parentElement, (TaxonNodeAgentRelation) entity, + removeListener,backgroundColor, style); + } + else if (entity instanceof IdentifiableSource) { element = new IdentifiableSourceElement(this, parentElement, (IdentifiableSource) entity, removeListener, style); - } else if (entity instanceof DefinedTerm) { - switch(((DefinedTerm)entity).getTermType()) { - case Scope: - element = new ScopeElement(this, - parentElement, - (DefinedTerm) entity, - removeListener, - style); - break; - case Modifier: - element = new ModifierElement(this, - parentElement, - (DefinedTerm) entity, - removeListener, - style); - break; - default: - //FIXME : Actually we should through an exception here - element = null; - break; - - } + } else if (entity instanceof DefinedTerm) { + switch(((DefinedTerm)entity).getTermType()) { + case Scope: + element = new ScopeElement(this, + parentElement, + (DefinedTerm) entity, + removeListener, + style); + break; + case Modifier: + element = new ModifierElement(this, + parentElement, + (DefinedTerm) entity, + removeListener, + style); + break; + default: + break; + + } } else if (entity instanceof Reference) { if(parentElement instanceof SequenceReferenceCollectionDetailSection){ element = new SequenceReferenceCollectionDetailElement(this, parentElement, (Reference) entity, removeListener, style); @@ -2540,31 +2508,37 @@ public class CdmFormFactory extends FormToolkit { element = new SynonymRelationshipDetailElement(this, parentElement, (SynonymRelationship) entity, removeListener, style); } else if (entity instanceof SpecimenTypeDesignation) { - element = new SpecimenTypeDesignationElement(this, parentElement, (SpecimenTypeDesignation) entity, - removeListener, style); + if(parentElement instanceof DerivedUnitTypeDesignationSection){ + element = new DerivedUnitTypeDesignationElement(this, parentElement, (SpecimenTypeDesignation) entity, + removeListener, style); + } + else{ + element = new SpecimenTypeDesignationElement(this, parentElement, (SpecimenTypeDesignation) entity, + removeListener, style); + } } else if (entity instanceof StateData) { element = new StateDataElement(this, parentElement, (StateData) entity, removeListener, style); } else if (entity instanceof StatisticalMeasurementValue) { element = new StatisticalMeasurementValueElement(this, parentElement, (StatisticalMeasurementValue) entity, removeListener, style); } else if (entity instanceof DerivedUnit) { - switch(((DerivedUnit)entity).getRecordBasis()) { - case LivingSpecimen: - case PreservedSpecimen: - case OtherSpecimen: - element = new SpecimenCollectionDetailElement(this, - parentElement, - (DerivedUnit) entity, - removeListener, - style); - break; - default: - element = new DerivedUnitElement(this, - parentElement, - (DerivedUnit) entity, - removeListener, - style); - } + switch(((DerivedUnit)entity).getRecordBasis()) { + case LivingSpecimen: + case PreservedSpecimen: + case OtherSpecimen: + element = new SpecimenCollectionDetailElement(this, + parentElement, + (DerivedUnit) entity, + removeListener, + style); + break; + default: + element = new DerivedUnitElement(this, + parentElement, + (DerivedUnit) entity, + removeListener, + style); + } } else if (entity instanceof NamedArea) { element = new NamedAreaDetailElement(this, parentElement, (NamedArea) entity, removeListener, style); @@ -2586,16 +2560,42 @@ public class CdmFormFactory extends FormToolkit { if (descriptionElement.getFeature().equals(Feature.PROTOLOGUE())) { element = new ProtologueElement(this, parentElement, descriptionElement, removeListener, style); } + } else if (entity instanceof Identifier) { + if(parentElement instanceof AbstractSampleDesignationDetailSection){ + element = new SampleDesignationTextDetailElement(this, parentElement, (Identifier) entity, removeListener, backgroundColor, style); + } + else{ + element = new IdentifierDetailElement(this, parentElement, (Identifier) entity, removeListener, style); + } + } else if (entity instanceof TermVocabulary) { + TermVocabulary termVocabulary = (TermVocabulary)entity; + switch (termVocabulary.getTermType()) { + case State: + element = new StateVocabularyCollectionElement(this, parentElement, (TermVocabulary) entity, removeListener, backgroundColor, style); + break; + case Modifier: + element = new RecommendedModifierVocabulariesElement(this, parentElement, (TermVocabulary) entity, removeListener, backgroundColor, style); + break; + default: + break; + } + } else if (entity instanceof MeasurementUnit) { + element = new MeasurementUnitCollectionElement(this, parentElement, (MeasurementUnit) entity, removeListener, backgroundColor, style); + } else if (entity instanceof StatisticalMeasure) { + element = new StatisticalMeasureCollectionElement(this, parentElement, (StatisticalMeasure) entity, removeListener, backgroundColor, style); } + if (element == null) { - AbstractUtility.errorDialog("No element for entity", this, + MessagingUtils.messageDialog("No element for entity", this, "Could not generate element for entity. Looks like the case is not handled already. Check implementation. Entity: " + entity, null); } - else if (backgroundColor != null && !backgroundColor.isDisposed()) { - element.setPersistentBackground(backgroundColor); + else{ + if (backgroundColor != null && !backgroundColor.isDisposed()) { + element.setPersistentBackground(backgroundColor); + } adapt(element); parentElement.addElement(element); } @@ -2635,7 +2635,7 @@ public class CdmFormFactory extends FormToolkit { * a {@link ConversationHolder} object. * @return a {@link EntitySelectionElement} object. */ - public EntitySelectionElement createSelectionElement(Class clazz, + public EntitySelectionElement createSelectionElement(Class clazz, ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode, int style) { EntitySelectionElement element = new EntitySelectionElement(this, conversation, parentElement, clazz, @@ -2645,6 +2645,48 @@ public class CdmFormFactory extends FormToolkit { return element; } + /** + *

+ * Creates a selection element for the given type T which shows only the abbreviated title as the label. + *

+ *

+ * Selection elements not handled by this method: + *

    + *
  • {@link TaxonNodeSelectionElement} see + * {@link #createTaxonNodeSelectionElement(ConversationHolder, ICdmFormElement, String, TaxonNode, int, int)} + *
  • + *
  • {@link NomenclaturalAuthorTeamSelectionElement} see + * {@link #createNomenclaturalAuthorTeamSelectionElement(ConversationHolder, ICdmFormElement, String, Team, int, int)} + *
  • + *
+ *

+ * + * @param clazz + * a {@link Class} object of the type that you want the selection + * element to handle + * @param parentElement + * a {@link ICdmFormElement} object. + * @param labelString + * a {@link String} object. + * @param selectionType + * @param selection + * a {@link ICdmBase} object. + * @param style + * a int. + * @param conversation + * a {@link ConversationHolder} object. + * @return a {@link EntitySelectionElement} object. + */ + public EntitySelectionElementWithAbbreviatedTitle createSelectionElementWithAbbreviatedTitle( + Class clazz, ConversationHolder conversation, ICdmFormElement parentElement, String labelString, + T selection, int mode, int style) { + EntitySelectionElementWithAbbreviatedTitle element = new EntitySelectionElementWithAbbreviatedTitle(this, conversation, parentElement, clazz, + labelString, selection, mode, style); + adapt(element); + parentElement.addElement(element); + return element; + } + public TaxonNodeSelectionElement createTaxonNodeSelectionElement(ConversationHolder conversation, ICdmFormElement parentElement, String labelString, TaxonNode selection, int mode, int style) { TaxonNodeSelectionElement element = new TaxonNodeSelectionElement(this, conversation, parentElement, @@ -2672,6 +2714,14 @@ public class CdmFormFactory extends FormToolkit { return labelElement; } + public DateElement createDateElement(ICdmFormElement formElement, String labelText, DateTime dateTime, int style){ + Label label = new Label(formElement.getLayoutComposite(), style); + label.setText(labelText+" (yyyy-MM-dd)"); + DateElement dateElement = new DateElement(formElement.getLayoutComposite(), dateTime, style); + dateElement.initController(this, formElement); + return dateElement; + } + /** *

* Getter for the field selectionProvider. @@ -2762,4 +2812,17 @@ public class CdmFormFactory extends FormToolkit { return section; } + /** + * @param formElement + * @param conversationHolder + * @param style + * @return + */ + public TaxonNodeAgentRelationCollectionSection createTaxonNodeAgentRelationCollectionSection( + ICdmFormElement formElement, ConversationHolder conversationHolder, int style) { + TaxonNodeAgentRelationCollectionSection section = new TaxonNodeAgentRelationCollectionSection(this, conversationHolder, formElement, style); + addAndAdaptSection(formElement, section); + return section; + } + }