import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailSection;
import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailElement;
import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailSection;
-import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseDetailElement;
-import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseDetailSection;
+import eu.etaxonomy.taxeditor.section.reference.ReferenceDetailElement;
+import eu.etaxonomy.taxeditor.section.reference.ReferenceDetailSection;
import eu.etaxonomy.taxeditor.section.supplemental.AnnotationElement;
import eu.etaxonomy.taxeditor.section.supplemental.AnnotationSection;
import eu.etaxonomy.taxeditor.section.supplemental.CreditElement;
section = new NameDetailSection(this, conversation, parentElement, selectionProvider, style);
break;
case REFERENCEBASE:
- section = new ReferenceBaseDetailSection(this, conversation, parentElement, selectionProvider, style);
+ section = new ReferenceDetailSection(this, conversation, parentElement, selectionProvider, style);
break;
case NOMENCLATURALREFERENCE:
section = new NomenclaturalReferenceDetailSection(this, conversation, parentElement, selectionProvider, style);
element = new NameDetailElement(this, parentElement, style);
break;
case REFERENCEBASE:
- element = new ReferenceBaseDetailElement(this, parentElement, style);
+ element = new ReferenceDetailElement(this, parentElement, style);
break;
case NOMENCLATURALREFERENCE:
element = new NomenclaturalReferenceDetailElement(this, parentElement, style);
* @created Mar 2, 2010
* @version 1.0
*/
-public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Reference> implements IErrorIntolerableElement, IExceptionHandler {
+public class ReferenceDetailElement extends AbstractCdmDetailElement<Reference> implements IErrorIntolerableElement, IExceptionHandler {
// property holder
private ToggleableTextElement toggleable_cache;
* @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
* @param style a int.
*/
- public ReferenceBaseDetailElement(CdmFormFactory cdmFormFactory,
+ public ReferenceDetailElement(CdmFormFactory cdmFormFactory,
ICdmFormElement formElement, int style) {
super(cdmFormFactory, formElement);
}
ReferenceType referenceType = entity.getType();
- if(referenceType != null && referenceType.equals(ReferenceType.Generic)){
- createGenericControls(this, entity, SWT.NULL);
- }else if(referenceType != null){
- if(referenceType.isPrintedUnit()){
- createPrintedUnitControls(this, referenceType, entity, SWT.NULL);
- }
- if(referenceType.isPublication()){
- createPublicationControls(this, referenceType, entity, SWT.NULL);
+ if(referenceType != null){
+
+ createInReferenceByType(this, referenceType, entity, SWT.NULL);
+
+ if(referenceType.equals(ReferenceType.Generic)){
+ createGenericControls(this, entity, SWT.NULL);
+ }else{
+ if(referenceType.isPrintedUnit()){
+ createPrintedUnitControls(this, referenceType, entity, SWT.NULL);
+ }
+ if(referenceType.isPublication()){
+ createPublicationControls(this, referenceType, entity, SWT.NULL);
+ }
+ if(referenceType.isVolumeReference()){
+ createVolumeControls(this, entity, SWT.NULL);
+ }
+ if(referenceType.isSection()){
+ createSectionControls(this, entity, SWT.NULL);
+ }
}
- if(referenceType.isVolumeReference()){
- createVolumeControls(this, entity, SWT.NULL);
- }
- if(referenceType.isSection()){
- createSectionControls(this, entity, SWT.NULL);
- }
- }
+ }
// date published
element_timePeriod = formFactory.createTimePeriodElement(formElement, "Date Published", entity.getDatePublished(), style);
createUriAndAbstract(this, entity, SWT.NULL);
}
-
+
/*
* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractCdmDetailComposite#updateContent()
setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[]{toggleable_cache}));
}
+ /**
+ * Creates an in reference for reference types that do hav this.
+ *
+ * @param element
+ * @param referenceType
+ * @param reference
+ * @param style
+ */
+ private void createInReferenceByType(
+ ICdmFormElement element,
+ ReferenceType referenceType, Reference reference, int style) {
+ boolean createInReferenceWidget = true;
+ String label = "In Reference";
+
+ switch(referenceType){
+ case Generic:
+ break;
+ case BookSection:
+ label = "Book";
+ break;
+ case InProceedings:
+ label = "Print Series";
+ break;
+ case Article:
+ label = "Journal";
+ break;
+ case WebPage:
+ break;
+ default:
+ createInReferenceWidget = false;
+ }
+
+ if(createInReferenceWidget){
+ selection_inReference = formFactory.createSelectionElement(SelectionType.REFERENCE, getConversationHolder(),
+ element, label, reference.getInReference(), style);
+ }
+ }
+
/**
* Creates additional controls to edit a generic reference
*
* @param style
*/
private void createGenericControls(ICdmFormElement element, Reference reference, int style){
+
//editor
text_editor = formFactory.createTextWithLabelElement(element, "Editor", reference.getEditor(), style);
/**
- * Creates addition controls to edit a publication
+ * Creates additional controls to edit a publication
*
* @param element
* @param reference
/**
+ * Creates additional controls to edit a section
*
* @param element
* @param reference
* @param style
*/
- private void createSectionControls(ICdmFormElement element, Reference reference, int style){
-
- // in reference
- if(reference.getType() == ReferenceType.BookSection || reference.getType() == ReferenceType.InProceedings){
- String label = "";
- if(reference.getType() == ReferenceType.BookSection){
- label = "Book";
- }else if(reference.getType() == ReferenceType.InProceedings){
- label = "Print Series";
- }
-
- selection_inReference = formFactory.createSelectionElement(SelectionType.REFERENCE, getConversationHolder(), element, label, reference.getInReference(), style);
- }
-
+ private void createSectionControls(ICdmFormElement element, Reference reference, int style){
// pages
text_pages = formFactory.createTextWithLabelElement(element, "Pages", reference.getPages(), style);
}
/**
+ * Creates additional controls to edit a volume
*
* @param element
* @param reference
* @param style
*/
private void createVolumeControls(ICdmFormElement element, Reference reference, int style){
- if(reference.getType() == ReferenceType.Article){
- selection_inReference = formFactory.createSelectionElement(SelectionType.REFERENCE, getConversationHolder(), element, "Journal", reference.getInReference(), style);
- }
text_volume = formFactory.createTextWithLabelElement(element, "Volume", reference.getVolume(), style);