import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;\r
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;\r
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitFacadeGeneralDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;\r
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;\r
if(clazz.equals(TeamOrPersonBase.class) && parentElement instanceof AuthorshipDetailElement){\r
return (T) NomenclaturalAuthorSelectionDialog.select(shell,\r
(TeamOrPersonBase) currentSelection, false);\r
- }else if(clazz.equals(AgentBase.class) && parentElement instanceof FieldUnitFacadeGeneralDetailElement){\r
+ }else if(clazz.equals(AgentBase.class) && (parentElement instanceof FieldUnitFacadeGeneralDetailElement || parentElement instanceof DerivedUnitGeneralDetailElement)){\r
return (T) CollectorSelectionDialog.select(shell,\r
(TeamOrPersonBase) currentSelection, false);\r
}else if(clazz.equals(TeamOrPersonBase.class)){\r
import eu.etaxonomy.cdm.common.DOI;
import eu.etaxonomy.cdm.common.URI;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.ORCID;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.Annotation;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Credit;
import eu.etaxonomy.taxeditor.ui.combo.VocabularyComboElement;
import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
import eu.etaxonomy.taxeditor.ui.dialog.CloneClassificationDetailElement;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CollectorSelectionDialog;
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.section.vocabulary.TermMediaSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
+import eu.etaxonomy.taxeditor.ui.selection.CollectorSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.CommonNameReferenceSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElementWithAbbreviatedTitle;
parentElement.addElement(element);
return element;
}
+ public CollectorSelectionElement createCollectorSelectionElement(ICdmFormElement parentElement, String labelString, AgentBase selection, int mode,
+ int style) {
+ CollectorSelectionElement element = new CollectorSelectionElement(this, parentElement,
+ labelString, selection, mode, style);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
public CommonNameReferenceSelectionElement createCommonNameReferenceSelectionElement(ICdmFormElement parentElement, String labelString, Reference selection, int mode,
int style) {
element_date = formFactory.createTimePeriodElement(formElement, "Date",
entity.getGatheringPeriod(), style);
selection_collector = formFactory
- .createSelectionElement(AgentBase.class,//getConversationHolder(),
+ .createCollectorSelectionElement(
formElement, "Collector",
entity.getCollector(), EntitySelectionElement.ALL,
style);
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.selection.CollectorSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
private PointElement element_point;
private NumberWithLabelElement number_elevation;
private TimePeriodElement element_date;
- private EntitySelectionElement<AgentBase> selection_collector;
+ private CollectorSelectionElement selection_collector;
private TextWithLabelElement text_collectingNumber;
private GatheringEventUnitElement element_elevation;
private CheckboxElement checkIsPublish;
formElement, "Elevation : ", entity, MinMaxTextSection.UnitType.ELEVATION, style);
element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
- selection_collector = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
- formElement, "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
+ selection_collector = formFactory.createCollectorSelectionElement(formElement, "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
text_collectingNumber = formFactory.createTextWithLabelElement(formElement, "Collecting number",
entity.getFieldNumber(), style);
checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.innerFieldUnit().isPublish(), style);
--- /dev/null
+package eu.etaxonomy.taxeditor.ui.selection;
+
+import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+
+public class CollectorSelectionElement extends EntitySelectionElement<AgentBase> {
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param clazz
+ * @param labelString
+ * @param entity
+ * @param mode
+ * @param style
+ */
+ public CollectorSelectionElement(CdmFormFactory formFactory,// ConversationHolder conversation,
+ ICdmFormElement parentElement, String labelString, AgentBase entity, int mode, int style) {
+ super(formFactory, //conversation,
+ parentElement, AgentBase.class,
+ labelString, entity, mode, style);
+ }
+
+ @Override
+ protected String getTitle() {
+ if (entity != null){
+ if (entity instanceof TeamOrPersonBase){
+ return ((TeamOrPersonBase)entity).getCollectorTitleCache();
+ }else{
+ return entity.getTitleCache();
+ }
+ }
+ return "";
+ }
+}