ref #2380: implement usage of Dto for taxon navigator
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / taxon / TaxonRelationshipDetailSection.java
index ca27ca98c1e9a687eac9d78cb1c1df1d4d83e2c0..06445b17434326bc7a3e21607e6307d102041fff 100644 (file)
@@ -22,15 +22,16 @@ import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.taxeditor.event.EventUtility;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.NameSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonBaseSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
 
 /**
  * @author n.hoffmann
@@ -51,7 +52,7 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
 
        @Override
        public String getHeading() {
-               
+
                return getEntity() != null ? StringUtils.replace( getEntity().getType().getLabel(), "for", ""): "Taxon Relation";
        }
 
@@ -75,11 +76,11 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
        public TaxonBase getTaxonBase() {
                return taxon;
        }
-       
+
        private void setName(TaxonName name){
                this.name = name;
        }
-       
+
        @Override
        protected Control createToolbar() {
                ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
@@ -89,16 +90,21 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
                    Action chooseTaxonAction = new Action("Choose Taxon", IAction.AS_PUSH_BUTTON){
                        @Override
                        public void run() {
-                           Taxon taxon = TaxonBaseSelectionDialog.selectTaxon(getShell(), getConversationHolder(), getEntity().getFromTaxon());
+                           Taxon taxon = TaxonBaseSelectionDialog.selectTaxon(getShell(), //getConversationHolder(),
+                                   getEntity().getFromTaxon());
                            if(taxon!=null){
                             taxon = HibernateProxyHelper.deproxy(taxon);
                             name = taxon.getName();
                             TaxonRelationship rel = getEntity();
                             rel.setFromTaxon(taxon);
                             setEntity(rel);
-                            //                                 taxonBase.getTitleCache();
-                            
-                            firePropertyChangeEvent(TaxonRelationshipDetailSection.this);
+                            setTaxonBase(taxon);
+//                            firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
+                            detailElement.firePropertyChangeEvent(new CdmPropertyChangeEvent(detailElement, null));
+                            EventUtility.postEvent(WorkbenchEventConstants.REFRESH_TAXON_DETAILS, true);
+                            EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, true);
+                            ((TaxonRelationshipDetailElement)detailElement).getTaxonElement().setSelected(true);
+//                            EventUtility.postEvent(WorkbenchEventConstants.REFRESH_SUPPLEMENTAL, true);
                            }
                        }
                    };
@@ -110,4 +116,6 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
                return toolBarManager.createControl(this);
        }
 
+
+
 }