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();
+ }
+
}