import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSingleSourceElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
* @author n.hoffmann
* @date Dec 1, 2011
- *
*/
-public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<TaxonRelationship> {
+public class TaxonRelationshipDetailElement extends AbstractSingleSourceElement<TaxonRelationship> {//TODO: use AbstractSingleSourcedElement
private TermComboElement<TaxonRelationshipTypeInverseContainer> combo_taxonRelationshipType;
private MisappliedRelationshipComboElement combo_misappliedRelationshipType;
private EntitySelectionElement<Taxon> selection_relatedTaxon;
private CheckboxElement checkBoxDoubtful;
protected ToggleableTextElement toggleable_cache;
- private EntitySelectionElement<Reference> secReference;
+// private EntitySelectionElement<Reference> secReference;
private EntitySelectionElement<Reference> sensuReference;
private TextWithLabelElement text_sensu_microreference;
-
- private TextWithLabelElement text_secundum_microreference;
+// private TextWithLabelElement text_secundum_microreference;
private TextWithLabelElement text_appendedPhrase;
+ private CheckboxElement checkbox_published;
+
private Taxon taxon;
private TaxonDetailSection taxonElement;
public TaxonRelationshipDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement) {
+
super(formFactory, formElement);
}
@Override
- protected void createControls(ICdmFormElement formElement,
+ public void createControls(ICdmFormElement formElement,
TaxonRelationship entity, int style) {
- if ((entity.getType().isMisappliedNameOrInvalidDesignation()) ){
+ if ((entity.getType().isAnyMisappliedName()) ){
taxon = entity.getFromTaxon();
}else{
label = "Sec.";
}
+ text_appendedPhrase = formFactory.createTextWithLabelElement(
+ this, "Appended Phrase", taxon.getAppendedPhrase(),
+ SWT.WRAP);
+ checkbox_published = formFactory.createCheckbox(this,
+ "Published", taxon.isPublish(), style);
sensuReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
formElement, label,
taxon.getSec(), EntitySelectionElement.ALL,
combo_misappliedRelationshipType = formFactory.createMisappliedRelationshipComboElement(formElement, label,
entity.getType(), style);
- if (entity.getType().isInvalidDesignation()){
- combo_misappliedRelationshipType.setEnabled(false);
- }else{
- combo_misappliedRelationshipType.setEnabled(true);
- }
+ combo_misappliedRelationshipType.setEnabled(true);
+
+
if (entity.getType().isAnyMisappliedName()) {
label = "Misappl. Sec.";
}else{
label = "Err. Sec.";
}
+
+ /*TODO: use super.createControls(); to create single source element
secReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
formElement, label,
entity.getCitation(), EntitySelectionElement.ALL,
formElement, "Detail",
entity.getCitationMicroReference(),null,
SWT.WRAP);
+ */
+ super.createControls(formElement, entity, style);
+ setSourceLabel(label);
+
if (entity.getType().isAnyMisappliedName()) {
label = "Misapplication Doubtful";
}else{
addElement(taxonElement);
+ text_appendedPhrase = formFactory.createTextWithLabelElement(
+ this, "Appended Phrase", taxon.getAppendedPhrase(),
+ SWT.WRAP);
+ checkbox_published = formFactory.createCheckbox(this,
+ "Published", taxon.isPublish(), style);
+ /*
+ * secReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
- secReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
formElement, "Syn. Sec.",
entity.getCitation(), EntitySelectionElement.ALL,
style);
formElement, "Detail",
entity.getCitationMicroReference(),null,
SWT.WRAP);
+ */
+
+ super.createControls(formElement, entity, style);
+ setSourceLabel("Syn. Sec.");
sensuReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
formElement, "Sec",
taxon.getSec(), EntitySelectionElement.ALL,
formElement, "Related Taxon", getRelatedTaxon(),
EntitySelectionElement.SELECTABLE, style);
checkBoxDoubtful = formFactory.createCheckbox(formElement, "Relation Doubtful", entity.isDoubtful(), style);
-
-
}
-
}
private Taxon getRelatedTaxon() {
@Override
public void handleEvent(Object eventSource) {
- if (getEntity().getType().isMisappliedNameOrInvalidDesignation() || getEntity().getType().isAnySynonym()){
- if (eventSource == secReference) {
+ if (getEntity().getType().isAnyMisappliedName() || getEntity().getType().isAnySynonym()){
+ /* if (eventSource == secReference) {
getEntity().setCitation(secReference.getSelection());
} else if (eventSource == text_secundum_microreference) {
getEntity().setCitationMicroReference(text_secundum_microreference.getText());
- } else if (eventSource == text_sensu_microreference) {
+ } else
+ */
+ if (eventSource == text_sensu_microreference) {
taxon.setSecMicroReference(text_sensu_microreference.getText());
} else if (eventSource == sensuReference) {
taxon.setSec(sensuReference.getSelection());
getEntity().setType(combo_taxonRelationshipType.getSelection().getType());
} else if ( eventSource == combo_misappliedRelationshipType) {
getEntity().setType(combo_misappliedRelationshipType.getSelection());
+ } else if (eventSource == text_appendedPhrase) {
+ taxon.setAppendedPhrase(text_appendedPhrase.getText());
+ } else if (eventSource == checkbox_published) {
+ taxon.setPublish(checkbox_published.getSelection());
}
}else{
if (eventSource == selection_relatedTaxon){
@Override
public void refresh(){
updateContent();
-
}
@Override
if (taxonElement!=null) {
taxonElement.setEntity(entity.getFromTaxon());
}
-
}
-
-
-}
+ @Override
+ public SelectionArbitrator getSelectionArbitrator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
\ No newline at end of file