Fixed bug #482. 1) cleanly dispose of form w/ "managedForm.getForm().dispose();"...
authorp.ciardelli <p.ciardelli@localhost>
Thu, 5 Feb 2009 11:00:41 +0000 (11:00 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Thu, 5 Feb 2009 11:00:41 +0000 (11:00 +0000)
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/AbstractTaxonEditor.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java

index a59bc876d1d2a6a0178fadb088dc5b497970eff4..51a3dea06057619e95f73ac89c932980ea220ba3 100644 (file)
@@ -80,6 +80,8 @@ public abstract class AbstractTaxonEditor extends EditorPart implements
        protected IUndoContext undoContext;\r
 \r
        protected IHasPropertySource selectedObject;\r
+\r
+       protected Composite partComposite;\r
        \r
        /* (non-Javadoc)\r
         * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)\r
@@ -190,6 +192,8 @@ public abstract class AbstractTaxonEditor extends EditorPart implements
         */\r
        public void createPartControl(Composite composite) {\r
 \r
+               this.partComposite = composite;\r
+               \r
                initUndoContext();\r
                \r
                createManagedForm(composite);\r
@@ -211,7 +215,7 @@ public abstract class AbstractTaxonEditor extends EditorPart implements
                scrolledForm = managedForm.getForm();\r
                parent = scrolledForm.getBody();\r
                                \r
-               Taxon taxon = getTaxon();\r
+//             Taxon taxon = getTaxon();\r
                parent.setData(taxon);\r
                \r
                parent.setLayout(new TableWrapLayout());                \r
index f23bc67af856ef2ca5b29723f476dd20f0c7ff10..cbebe6866940f1cf6325dc1191cff4bdbacec111 100644 (file)
@@ -71,8 +71,6 @@ public class TaxonNameEditor extends AbstractTaxonEditor
                        }\r
                }\r
        };\r
-\r
-       private Composite partComposite;\r
        \r
        @Override\r
        public void doSave(IProgressMonitor monitor) {}\r
@@ -104,16 +102,13 @@ public class TaxonNameEditor extends AbstractTaxonEditor
        public boolean isSaveAsAllowed() {\r
                return false;\r
        }\r
-       \r
-       @Override\r
-       public void createPartControl(final Composite composite) {\r
-\r
-               this.partComposite = composite;\r
+                       \r
+       protected void createManagedForm(Composite composite) {\r
                \r
-               super.createPartControl(composite);\r
+               super.createManagedForm(composite);\r
                \r
                Taxon taxon = getTaxon();\r
-                               \r
+               \r
                NameComposite acceptedNameComposite = \r
                                (NameComposite) FreeTextElementFactory.getDefault().\r
                                                createAcceptedTaxon(managedForm, taxon);\r
@@ -176,48 +171,20 @@ public class TaxonNameEditor extends AbstractTaxonEditor
                });\r
                                \r
                // We've added elements to the managed form, so redraw it\r
-               scrolledForm.reflow(true);\r
+               composite.layout();\r
                \r
                setSelection(acceptedNameComposite);\r
                acceptedNameComposite.drawBorder();\r
-       }\r
                \r
+       }\r
+       \r
        public boolean redraw(){\r
-                               \r
-               managedForm.getForm().dispose();\r
                \r
-               createManagedForm(partComposite);\r
-               \r
-               Taxon taxon = getTaxon();\r
-                               \r
                this.selectedObject = null;\r
                \r
-               // Create accepted name\r
-               NameComposite acceptedNameComposite = (NameComposite) FreeTextElementFactory.getDefault().\r
-                               createAcceptedTaxon(managedForm, taxon);\r
+               managedForm.getForm().dispose();\r
                                \r
-               for (TaxonBase taxonBase : new IterableSynonymyList(taxon)) {\r
-                       if (taxonBase instanceof Synonym) {\r
-                               FreeTextElementFactory.getDefault().createSynonym(taxon, (Synonym) taxonBase);                          \r
-                       } else {\r
-                               FreeTextElementFactory.getDefault().createMisappliedName(taxon, (Taxon) taxonBase);\r
-                       }\r
-               }\r
-               \r
-               Set<TaxonRelationship> taxonRelations = taxon.getTaxonRelations();\r
-               for (TaxonRelationship relationship : taxonRelations) {\r
-\r
-                       if (relationship.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) ||\r
-                                       relationship.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {\r
-                               continue;\r
-                       }\r
-                       \r
-                       FreeTextElementFactory.getDefault().createConcept(taxon, relationship);\r
-               }\r
-               \r
-               acceptedNameComposite.drawBorder();\r
-               \r
-               partComposite.layout();\r
+               createManagedForm(partComposite);\r
                \r
                return true;\r
        }\r