-// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
+import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
- * <p>
- * Abstract AbstractReferencedEntityElement class.
- * </p>
- *
* @author n.hoffmann
* @created Mar 25, 2010
* @version 1.0
*/
public abstract class AbstractReferencedEntityElement<T extends ReferencedEntityBase>
- extends AbstractEntityCollectionElement<T> {
+ extends AbstractEntityCollectionElement<T> implements ISelectableElement {
+
+ private SelectionArbitrator selectionArbitrator;
protected EntitySelectionElement<Reference> selection_reference;
protected TextWithLabelElement text_referenceDetail;
- protected TextWithLabelElement text_originaleNameString;
-
- private boolean hasOriginalNameString = false;
-
- /**
- * <p>
- * Constructor for AbstractReferencedEntityElement.
- * </p>
- *
- * @param formFactory
- * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
- * object.
- * @param section
- * a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
- * @param entity
- * a T object.
- * @param removeListener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- * @param style
- * a int.
- * @param <T>
- * a T object.
- */
public AbstractReferencedEntityElement(CdmFormFactory formFactory,
AbstractFormSection section, T entity,
SelectionListener removeListener, int style) {
super(formFactory, section, entity, removeListener, null, style);
+ // make this element selectable
+ if(formFactory.getSelectionProvider() != null){
+ selectionArbitrator = formFactory.createSelectionArbitrator(this);
+ }
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.forms.section.AbstractEntityCollectionElement#
- * createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
- */
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement formElement, int style) {
null, EntitySelectionElement.ALL, style);
text_referenceDetail = formFactory.createTextWithLabelElement(
formElement, "Reference Detail", null, SWT.NULL);
- if (hasOriginalNameString)
- text_originaleNameString = formFactory.createTextWithLabelElement(
- formElement, "Original Name", null, SWT.NULL);
}
- /**
- * <p>
- * setEntity
- * </p>
- *
- * @param entity
- * a T object.
- */
@Override
public void setEntity(T entity) {
this.entity = entity;
selection_reference.setEntity(entity.getCitation());
text_referenceDetail.setText(entity.getCitationMicroReference());
- if (hasOriginalNameString)
- text_originaleNameString.setText(entity.getOriginalNameString());
- // // remove old listeners
- // clearEditButtonSelectionListener();
- //
- // addEditButtonSelectionListener(new
- // BulkEditorOpeningSelectionListener(entity.getCitation()));
- //
- };
-
- //
- // public void addEditButtonSelectionListener(SelectionListener listener){
- // selection_reference.addEditButtonSelectionListener(listener);
- // }
- //
- // public void removeEditButtonSelectionListener(SelectionListener
- // listener){
- // selection_reference.removeEditorButtonSelectionListener(listener);
- // }
- //
- // public void clearEditButtonSelectionListener(){
- // selection_reference.clearEditButtonSelectionListener();
- // }
-
- /**
- * <p>
- * Setter for the field <code>hasOriginalNameString</code>.
- * </p>
- *
- * @param hasOriginalNameString
- * a boolean.
- */
- public void setHasOriginalNameString(boolean hasOriginalNameString) {
- this.hasOriginalNameString = hasOriginalNameString;
}
- /**
- * <p>
- * hasOriginalNameString
- * </p>
- *
- * @return a boolean.
- */
- public boolean hasOriginalNameString() {
- return hasOriginalNameString;
+ @Override
+ public SelectionArbitrator getSelectionArbitrator() {
+ return selectionArbitrator;
}
+
}