2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.ui
.element
;
12 import org
.eclipse
.jface
.util
.PropertyChangeEvent
;
14 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
15 import eu
.etaxonomy
.cdm
.model
.description
.KeyStatement
;
19 * @created Dec 3, 2010
22 public class KeyStatementElement
extends MultilanguageTextElement
{
24 private KeyStatement keyStatement
;
30 public KeyStatementElement(CdmFormFactory formFactory
,
31 ICdmFormElement formElement
, String labelString
,
32 KeyStatement keyStatement
, int textHeight
, int style
) {
33 super(formFactory
, formElement
, labelString
, null, textHeight
, style
);
34 setKeyStatement(keyStatement
);
39 * the keyStatement to set
41 public void setKeyStatement(KeyStatement keyStatement
) {
42 this.keyStatement
= keyStatement
;
43 if (keyStatement
!= null) {
44 setMultilanguageText(keyStatement
.getLabel());
49 * @return the keyStatement
51 public KeyStatement
updateKeyStatement(KeyStatement ks
) {
53 if(keyStatement
== null) {
54 keyStatement
= KeyStatement
.NewInstance(element_languageString
.getLanguageString().getLanguage(),
55 element_languageString
.getLanguageString().getText());
58 LanguageString languageString
= keyStatement
.getLabel().get(element_languageString
.getLanguageString().getLanguage());
59 if(languageString
!= null) {
60 languageString
.setText(element_languageString
.getText());
62 keyStatement
.getLabel().put(element_languageString
.getLanguageString().getLanguage(),
63 element_languageString
.getLanguageString());
74 * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
75 * (org.eclipse.jface.util.PropertyChangeEvent)
78 public void propertyChange(PropertyChangeEvent event
) {
83 if (keyStatement
== null) {
84 Object eventSource
= event
.getSource();
85 if (eventSource
== element_languageString
) {
87 if(element_languageString
.getLanguageString() != null) {
88 // for the case when the user copy / pastes text into the
89 // (LanguageStringWithLabelElement) element_languageString text field
90 setKeyStatement(KeyStatement
.NewInstance(element_languageString
.getLanguageString().getLanguage(),
91 element_languageString
.getLanguageString().getText()));
93 //setKeyStatement(KeyStatement.NewInstance());
98 super.propertyChange(event
);