(no commit message)
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / LanguageStringWithLabelElement.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.swt.events.ModifyEvent;
14
15 import eu.etaxonomy.cdm.model.common.LanguageString;
16 import eu.etaxonomy.taxeditor.store.CdmStore;
17
18 /**
19 * <p>LanguageStringWithLabelElement class.</p>
20 *
21 * @author n.hoffmann
22 * @created Mar 25, 2010
23 * @version 1.0
24 */
25 public class LanguageStringWithLabelElement extends TextWithLabelElement {
26
27 private LanguageString languageString;
28
29 /**
30 * <p>Constructor for LanguageStringWithLabelElement.</p>
31 *
32 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
33 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
34 * @param labelString a {@link java.lang.String} object.
35 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
36 * @param style a int.
37 */
38 protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
39 ICdmFormElement parentElement, String labelString,
40 LanguageString languageString, int style) {
41 this(formFactory, parentElement, labelString, languageString, null, style);
42 }
43
44 /**
45 * <p>Constructor for LanguageStringWithLabelElement.</p>
46 *
47 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
48 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
49 * @param labelString a {@link java.lang.String} object.
50 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
51 * @param height a int.
52 * @param style a int.
53 */
54 protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
55 ICdmFormElement parentElement, String labelString,
56 LanguageString languageString, Integer height, int style) {
57 super(formFactory, parentElement, labelString, null, height, style);
58
59 setLanguageString(languageString);
60 }
61
62 /**
63 * <p>Getter for the field <code>languageString</code>.</p>
64 *
65 * @return a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
66 */
67 public LanguageString getLanguageString() {
68 return languageString;
69 }
70
71 /** {@inheritDoc} */
72 @Override
73 public void modifyText(ModifyEvent e) {
74 if(languageString == null){
75 languageString = LanguageString.NewInstance("", CdmStore.getDefaultLanguage());
76 }
77
78 languageString.setText(text.getText());
79 super.modifyText(e);
80 }
81
82 /** {@inheritDoc} */
83 @Override
84 public void setText(String text) {
85 if(text != null){
86 languageString.setText(text);
87 super.setText(text);
88 }
89 }
90
91 /**
92 * <p>Setter for the field <code>languageString</code>.</p>
93 *
94 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
95 */
96 public void setLanguageString(LanguageString languageString) {
97 this.languageString = languageString;
98 super.setText(languageString != null ? languageString.getText() : "");
99 }
100 }