cleanup
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / taxon / TaxonRelationshipDetailElement.java
index d4420fb5e284b3dd84656fe6fc30e290b798d3a4..3862e0bf983f2c0b1d26d88077049cca58b2e5db 100644 (file)
@@ -25,17 +25,17 @@ import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 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;
@@ -43,15 +43,16 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
        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;
@@ -62,13 +63,14 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
 
     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();
 
@@ -82,7 +84,12 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
             }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,
@@ -101,16 +108,16 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
             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,
@@ -120,6 +127,10 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                     formElement, "Detail",
                     entity.getCitationMicroReference(),null,
                     SWT.WRAP);
+                    */
+            super.createControls(formElement, entity, style);
+            setSourceLabel(label);
+
             if (entity.getType().isAnyMisappliedName()) {
                 label = "Misapplication Doubtful";
             }else{
@@ -135,9 +146,15 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
             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);
@@ -146,6 +163,10 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                     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,
@@ -174,10 +195,7 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                     formElement, "Related Taxon", getRelatedTaxon(),
                     EntitySelectionElement.SELECTABLE, style);
             checkBoxDoubtful = formFactory.createCheckbox(formElement, "Relation Doubtful", entity.isDoubtful(), style);
-
-
                }
-
        }
 
        private Taxon getRelatedTaxon() {
@@ -194,12 +212,14 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
 
        @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());
@@ -207,6 +227,10 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                            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){
@@ -244,7 +268,6 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
        @Override
        public void refresh(){
                 updateContent();
-
         }
 
        @Override
@@ -253,9 +276,11 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                if (taxonElement!=null) {
                        taxonElement.setEntity(entity.getFromTaxon());
         }
-
        }
 
-
-
-}
+    @Override
+    public SelectionArbitrator getSelectionArbitrator() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+}
\ No newline at end of file