3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.ui
.element
;
13 import org
.eclipse
.jface
.util
.PropertyChangeEvent
;
15 import eu
.etaxonomy
.cdm
.model
.description
.KeyStatement
;
16 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKeyNode
;
20 * @created Dec 3, 2010
23 public class KeyStatementElement
extends MultilanguageTextElement
{
25 private KeyStatement keyStatement
;
31 public KeyStatementElement(CdmFormFactory formFactory
,
32 ICdmFormElement formElement
, String labelString
,
33 KeyStatement keyStatement
, int textHeight
, int style
) {
34 super(formFactory
, formElement
, labelString
, null, textHeight
, style
);
35 setKeyStatement(keyStatement
);
40 * the keyStatement to set
42 public void setKeyStatement(KeyStatement keyStatement
) {
43 this.keyStatement
= keyStatement
;
44 if (keyStatement
!= null) {
45 setMultilanguageText(keyStatement
.getLabel());
50 * @return the keyStatement
52 public KeyStatement
getKeyStatement() {
56 public void update(PolytomousKeyNode node
) {
57 if(node
.getStatement() == null) {
58 node
.setStatement(KeyStatement
.NewInstance(element_languageString
.getLanguageString().getLanguage(),
59 element_languageString
.getLanguageString().getText()));
61 node
.getStatement().getLabel().put(element_languageString
.getLanguageString().getLanguage(),
62 element_languageString
.getLanguageString());
70 * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
71 * (org.eclipse.jface.util.PropertyChangeEvent)
74 public void propertyChange(PropertyChangeEvent event
) {
79 if (keyStatement
== null) {
80 Object eventSource
= event
.getSource();
81 if (eventSource
== element_languageString
) {
83 if(element_languageString
.getLanguageString() != null) {
84 // for the case when the user copy / pastes text into the
85 // (LanguageStringWithLabelElement) element_languageString text field
86 setKeyStatement(KeyStatement
.NewInstance(element_languageString
.getLanguageString().getLanguage(),
87 element_languageString
.getLanguageString().getText()));
89 //setKeyStatement(KeyStatement.NewInstance());
94 super.propertyChange(event
);