Changes in details view get propagated to editor. Fixed a bug in MultilanguageTextEle...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / key / PolytomousKeyNodeDetailElement.java
index 4e5d3945720e0759ca080d964fddc8e07f238ba2..b17833e5e51a910bed3de0889b853073dacd6259 100644 (file)
@@ -6,6 +6,7 @@ package eu.etaxonomy.taxeditor.ui.section.key;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
 import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
@@ -50,9 +51,10 @@ public class PolytomousKeyNodeDetailElement extends
                }
 
                if (entity.getParent() != null) {
+                       PolytomousKeyNode parent = entity.getParent();
+
                        element_question = formFactory.createKeyStatementElement(
-                                       formElement, "Question", entity.getParent().getQuestion(),
-                                       50, style);
+                                       formElement, "Question", parent.getQuestion(), 50, style);
                }
 
                element_statement = formFactory.createKeyStatementElement(formElement,
@@ -99,7 +101,8 @@ public class PolytomousKeyNodeDetailElement extends
        @Override
        public void handleEvent(Object eventSource) {
                if (eventSource == element_question) {
-                       getEntity().setQuestion(element_question.getKeyStatement());
+                       getEntity().getParent().setQuestion(
+                                       element_question.getKeyStatement());
                } else if (eventSource == element_statement) {
                        getEntity().setStatement(element_statement.getKeyStatement());
                } else if (eventSource == selection_feature) {
@@ -111,5 +114,7 @@ public class PolytomousKeyNodeDetailElement extends
                } else if (eventSource == selection_otherNode) {
                        getEntity().setOtherNode(selection_otherNode.getEntity());
                }
+
+               firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
        }
 }