merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / KeyStatementElement.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
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.
9 */
10
11 package eu.etaxonomy.taxeditor.ui.element;
12
13 import org.eclipse.jface.util.PropertyChangeEvent;
14
15 import eu.etaxonomy.cdm.model.description.KeyStatement;
16 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
17
18 /**
19 * @author n.hoffmann
20 * @created Dec 3, 2010
21 * @version 1.0
22 */
23 public class KeyStatementElement extends MultilanguageTextElement {
24
25 private KeyStatement keyStatement;
26
27 /**
28 * @param formFactory
29 * @param formElement
30 */
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);
36 }
37
38 /**
39 * @param keyStatement
40 * the keyStatement to set
41 */
42 public void setKeyStatement(KeyStatement keyStatement) {
43 this.keyStatement = keyStatement;
44 if (keyStatement != null) {
45 setMultilanguageText(keyStatement.getLabel());
46 }
47 }
48
49 /**
50 * @return the keyStatement
51 */
52 public KeyStatement getKeyStatement() {
53 return keyStatement;
54 }
55
56 /*
57 * (non-Javadoc)
58 *
59 * @see
60 * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
61 * (org.eclipse.jface.util.PropertyChangeEvent)
62 */
63 @Override
64 public void propertyChange(PropertyChangeEvent event) {
65 if (event == null) {
66 return;
67 }
68 if (keyStatement == null) {
69 Object eventSource = event.getSource();
70 if (eventSource == element_languageString) {
71 setKeyStatement(KeyStatement.NewInstance());
72 }
73 }
74 super.propertyChange(event);
75 }
76
77 }