Changes in details view get propagated to editor. Fixed a bug in MultilanguageTextEle...
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / key / polytomous / PolytomousKeyListEditor.java
index 921bbe9fc68bb46e6c3b94d80b6ee972894b6cdc..c662746eca09f709f90c733c391fd41f9fc04e24 100644 (file)
@@ -10,6 +10,8 @@
 
 package eu.etaxonomy.taxeditor.editor.key.polytomous;
 
+import java.util.List;
+
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
@@ -35,7 +37,7 @@ import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
 
 /**
  * @author n.hoffmann
@@ -43,7 +45,7 @@ import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
  * @version 1.0
  */
 public class PolytomousKeyListEditor extends EditorPart implements
-               IConversationEnabled {
+               IConversationEnabled, IDirtyMarkableSelectionProvider {
 
        private class LinkListener extends MouseAdapter {
                /*
@@ -101,9 +103,6 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        public static final String ID = "eu.etaxonomy.taxeditor.editor.key.polytomous.list";
 
-       private CdmFormFactory formFactory;
-       private Composite container;
-
        private TableViewer viewer;
 
        /*
@@ -162,7 +161,6 @@ public class PolytomousKeyListEditor extends EditorPart implements
                        throws PartInitException {
                setSite(site);
                setInput(input);
-               formFactory = new CdmFormFactory(site.getShell().getDisplay());
        }
 
        /*
@@ -247,4 +245,25 @@ public class PolytomousKeyListEditor extends EditorPart implements
                setPartName("Test");
        }
 
+       /*
+        * (non-Javadoc)
+        * 
+        * @see
+        * eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#changed(
+        * java.lang.Object)
+        */
+       @Override
+       public void changed(Object element) {
+               viewer.update(element, null);
+
+               if (element instanceof PolytomousKeyNode) {
+                       List<PolytomousKeyNode> children = ((PolytomousKeyNode) element)
+                                       .getParent().getChildren();
+                       for (PolytomousKeyNode child : children) {
+                               viewer.update(child, null);
+                       }
+               }
+
+       }
+
 }