-/**
- *
- */
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;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
/**
- * <p>MarkerElement class.</p>
- *
* @author n.hoffmann
* @created Nov 16, 2009
* @version 1.0
*/
public class MarkerElement extends AbstractEntityCollectionElement<Marker>{
- /**
- * <p>Constructor for MarkerElement.</p>
- *
- * @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<MarkerType> 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) {
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());
-/**
- *
- */
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import java.util.Collection;
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;
/**
* <p>MarkerSection class.</p>
* @author nho
* @version $Id: $
*/
-public class MarkerSection extends AbstractEntityCollectionSection<AnnotatableEntity, Marker> {
+public class MarkerSection extends AbstractUnboundEntityCollectionSection<AnnotatableEntity, Marker> {
/**
* <p>Constructor for MarkerSection.</p>
return Marker.NewInstance();
}
- /** {@inheritDoc} */
- @Override
- public Collection<Marker> getCollection(AnnotatableEntity entity) {
- return entity.getMarkers();
- }
-
/** {@inheritDoc} */
@Override
public String getEmptyString() {
getEntity().removeMarker(element);
}
+ @Override
+ protected Collection<Marker> getEntityCollection(AnnotatableEntity entity) {
+ return entity.getMarkers();
+ }
+
}