Project

General

Profile

Download (3.38 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2013 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
package eu.etaxonomy.taxeditor.ui.campanula;
11

    
12
import org.eclipse.swt.events.ModifyEvent;
13
import org.eclipse.swt.widgets.Text;
14

    
15
import eu.etaxonomy.cdm.model.common.LanguageString;
16
import eu.etaxonomy.taxeditor.store.CdmStore;
17
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
18
import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
19

    
20
/**
21
 * @author pplitzner
22
 * @date 15.08.2013
23
 *
24
 */
25
public class LanguageTextFieldController extends TextFieldController{
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 LanguageTextFieldController(Text controlledText, CdmFormFactory formFactory,
39
            ICdmFormElement parentElement,
40
            LanguageString languageString) {
41
        this(controlledText, formFactory, parentElement, languageString, null);
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 LanguageTextFieldController(Text controlledText, CdmFormFactory formFactory,
55
            ICdmFormElement parentElement,
56
            LanguageString languageString, Integer height) {
57
        super(controlledText, formFactory, parentElement, null, height);
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
}
(8-8/15)