X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/b46dec0a0a06c22cab0ae2f4eb753034f4a8cb4e..a9f32ef0d94675a7ebc7160dcef25cff8a3b3a15:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java 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 aa50c31ea..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,76 +1,60 @@ -/** - * - */ 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.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.cdm.model.common.TermType; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.CheckboxElement; +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) { checkbox_markerState = formFactory.createCheckbox(this, null, false, style); - combo_markerType = formFactory.createTermComboElement(MarkerType.class, this, null, null, style); + 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());