From: Patrick Plitzner Date: Wed, 24 Jun 2015 19:39:38 +0000 (+0200) Subject: Add no marker without a markerType (#4588) X-Git-Tag: 3.7.0~1^2~34 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/d04de77ac5ea669e508a79ec4e0aead0c8153120 Add no marker without a markerType (#4588) --- diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java index 6311ffce3..f22e8699f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java @@ -1,10 +1,8 @@ -/** - * - */ package eu.etaxonomy.taxeditor.ui.section.supplemental; import org.eclipse.swt.events.SelectionListener; +import eu.etaxonomy.cdm.model.common.AnnotatableEntity; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; import eu.etaxonomy.cdm.model.common.TermType; @@ -16,35 +14,21 @@ import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; /** - *

MarkerElement class.

- * * @author n.hoffmann * @created Nov 16, 2009 * @version 1.0 */ public class MarkerElement extends AbstractEntityCollectionElement{ - /** - *

Constructor for MarkerElement.

- * - * @param element a {@link eu.etaxonomy.cdm.model.common.Marker} object. - * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object. - * @param style a int. - * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. - * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object. - */ - public MarkerElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Marker element, - SelectionListener removeListener, int style) { - super(cdmFormFactory, formElement, element, removeListener, null, style); - } private TermComboElement combo_markerType; private CheckboxElement checkbox_markerState; + public MarkerElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Marker element, + SelectionListener removeListener, int style) { + super(cdmFormFactory, formElement, element, removeListener, null, style); + } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int) - */ /** {@inheritDoc} */ @Override public void createControls(ICdmFormElement element, int style) { @@ -52,26 +36,25 @@ public class MarkerElement extends AbstractEntityCollectionElement{ combo_markerType = formFactory.createDefinedTermComboElement(TermType.MarkerType, this, null, null, style); } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#setElement(eu.etaxonomy.cdm.model.common.VersionableEntity) - */ /** {@inheritDoc} */ @Override public void setEntity(Marker element) { this.entity = element; checkbox_markerState.setSelection(element.getFlag()); combo_markerType.setSelection(element.getMarkerType()); + combo_markerType.removeEmptyElement(); } - /* - * (non-Javadoc) - * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object) - */ /** {@inheritDoc} */ @Override public void handleEvent(Object eventSource) { - if(eventSource == combo_markerType){ - getEntity().setMarkerType(combo_markerType.getSelection()); + if(eventSource == combo_markerType && getParentElement() instanceof MarkerSection){ + MarkerSection markerSection = (MarkerSection)getParentElement(); + AnnotatableEntity annotatableEntity = markerSection.getEntity(); + annotatableEntity.removeMarker(entity); + MarkerType markerType = combo_markerType.getSelection(); + entity.setMarkerType(markerType); + annotatableEntity.addMarker(entity); } else if(eventSource == checkbox_markerState){ getEntity().setFlag(checkbox_markerState.getSelection()); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java index 31f7e17a7..9d7dba456 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java @@ -1,6 +1,3 @@ -/** - * - */ package eu.etaxonomy.taxeditor.ui.section.supplemental; import java.util.Collection; @@ -10,7 +7,7 @@ import eu.etaxonomy.cdm.model.common.AnnotatableEntity; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection; /** *

MarkerSection class.

@@ -18,7 +15,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; * @author nho * @version $Id: $ */ -public class MarkerSection extends AbstractEntityCollectionSection { +public class MarkerSection extends AbstractUnboundEntityCollectionSection { /** *

Constructor for MarkerSection.

@@ -38,12 +35,6 @@ public class MarkerSection extends AbstractEntityCollectionSection getCollection(AnnotatableEntity entity) { - return entity.getMarkers(); - } - /** {@inheritDoc} */ @Override public String getEmptyString() { @@ -68,4 +59,9 @@ public class MarkerSection extends AbstractEntityCollectionSection getEntityCollection(AnnotatableEntity entity) { + return entity.getMarkers(); + } + }