-// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * 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.
*/
import org.eclipse.jface.util.PropertyChangeEvent;
+import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.description.KeyStatement;
-import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
/**
* @author n.hoffmann
/**
* @return the keyStatement
*/
- public KeyStatement getKeyStatement() {
- return keyStatement;
+ public KeyStatement updateKeyStatement(KeyStatement ks) {
+ keyStatement = ks;
+ if(keyStatement == null) {
+ keyStatement = KeyStatement.NewInstance(element_languageString.getLanguageString().getLanguage(),
+ element_languageString.getLanguageString().getText());
+
+ } else {
+ LanguageString languageString = keyStatement.getLabel().get(element_languageString.getLanguageString().getLanguage());
+ if(languageString != null) {
+ languageString.setText(element_languageString.getText());
+ } else {
+ keyStatement.getLabel().put(element_languageString.getLanguageString().getLanguage(),
+ element_languageString.getLanguageString());
+ }
+ }
+ return keyStatement;
}
+
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
* (org.eclipse.jface.util.PropertyChangeEvent)
if (event == null) {
return;
}
+
if (keyStatement == null) {
Object eventSource = event.getSource();
if (eventSource == element_languageString) {
- setKeyStatement(KeyStatement.NewInstance());
+
+ if(element_languageString.getLanguageString() != null) {
+ // for the case when the user copy / pastes text into the
+ // (LanguageStringWithLabelElement) element_languageString text field
+ setKeyStatement(KeyStatement.NewInstance(element_languageString.getLanguageString().getLanguage(),
+ element_languageString.getLanguageString().getText()));
+ } else {
+ //setKeyStatement(KeyStatement.NewInstance());
+ }
}
}
+
super.propertyChange(event);
+
}
}