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 / forms / KeyStatementElement.java
index 197a5c4ffef557d08044ceecaed36a74eef3286d..f15f7d1971b2e15daa77bc994fba705b41685abb 100644 (file)
@@ -1,15 +1,17 @@
 // $Id$
 /**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
-* http://www.e-taxonomy.eu
-* 
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
+ * Copyright (C) 2007 EDIT
+ * European Distributed Institute of Taxonomy 
+ * http://www.e-taxonomy.eu
+ 
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
 
 package eu.etaxonomy.taxeditor.ui.forms;
 
+import org.eclipse.jface.util.PropertyChangeEvent;
+
 import eu.etaxonomy.cdm.model.description.KeyStatement;
 
 /**
@@ -26,20 +28,21 @@ public class KeyStatementElement extends MultilanguageTextElement {
         * @param formElement
         */
        public KeyStatementElement(CdmFormFactory formFactory,
-                       ICdmFormElement formElement, String labelString, KeyStatement keyStatement, int textHeight, int style) {
+                       ICdmFormElement formElement, String labelString,
+                       KeyStatement keyStatement, int textHeight, int style) {
                super(formFactory, formElement, labelString, null, textHeight, style);
-               this.keyStatement = keyStatement;
-               
-               if(keyStatement != null){
-                       setMultilanguageText(keyStatement.getLabel());
-               }
+               setKeyStatement(keyStatement);
        }
 
        /**
-        * @param keyStatement the keyStatement to set
+        * @param keyStatement
+        *            the keyStatement to set
         */
        public void setKeyStatement(KeyStatement keyStatement) {
                this.keyStatement = keyStatement;
+               if (keyStatement != null) {
+                       setMultilanguageText(keyStatement.getLabel());
+               }
        }
 
        /**
@@ -49,4 +52,25 @@ public class KeyStatementElement extends MultilanguageTextElement {
                return keyStatement;
        }
 
+       /*
+        * (non-Javadoc)
+        * 
+        * @see
+        * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
+        * (org.eclipse.jface.util.PropertyChangeEvent)
+        */
+       @Override
+       public void propertyChange(PropertyChangeEvent event) {
+               if (event == null) {
+                       return;
+               }
+               if (keyStatement == null) {
+                       Object eventSource = event.getSource();
+                       if (eventSource == element_languageString) {
+                               setKeyStatement(KeyStatement.NewInstance());
+                       }
+               }
+               super.propertyChange(event);
+       }
+
 }