Project

General

Profile

Download (4.11 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
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.
8
*/
9

    
10
package eu.etaxonomy.taxeditor.ui.element;
11

    
12
import org.eclipse.swt.SWT;
13
import org.eclipse.swt.events.ModifyEvent;
14
import org.eclipse.ui.forms.widgets.ExpandableComposite;
15

    
16
import eu.etaxonomy.cdm.model.common.LanguageString;
17
import eu.etaxonomy.taxeditor.store.CdmStore;
18
import eu.etaxonomy.taxeditor.ui.section.description.IntextReferenceSection;
19

    
20
/**
21
 * <p>LanguageStringWithLabelElement class.</p>
22
 *
23
 * @author n.hoffmann
24
 * @created Mar 25, 2010
25
 * @version 1.0
26
 */
27
public class LanguageStringWithLabelElement extends TextWithLabelElement implements ILanguageStringProvider{
28

    
29
	private LanguageString languageString;
30
	IntextReferenceSection intextRefernces;
31

    
32
	/**
33
	 * <p>Constructor for LanguageStringWithLabelElement.</p>
34
	 *
35
	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
36
	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
37
	 * @param labelString a {@link java.lang.String} object.
38
	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
39
	 * @param style a int.
40
	 */
41
	protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
42
			ICdmFormElement parentElement, String labelString,
43
			LanguageString languageString, int style) {
44
		this(formFactory, parentElement, labelString, languageString, null, style);
45
	}
46

    
47
	/**
48
	 * <p>Constructor for LanguageStringWithLabelElement.</p>
49
	 *
50
	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
51
	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
52
	 * @param labelString a {@link java.lang.String} object.
53
	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
54
	 * @param height a int.
55
	 * @param style a int.
56
	 */
57
	protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
58
			ICdmFormElement parentElement, String labelString,
59
			LanguageString languageString, Integer height, int style) {
60
		this(formFactory, parentElement, labelString, languageString, height, true, style);
61
	}
62

    
63
	protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
64
	        ICdmFormElement parentElement, String labelString,
65
	        LanguageString languageString, Integer height, boolean isMultiLine, int style) {
66
	    super(formFactory, parentElement, labelString, null, height, isMultiLine, style);
67

    
68
	    setLanguageString(languageString);
69
	   
70

    
71
	}
72

    
73
	/**
74
	 * <p>Getter for the field <code>languageString</code>.</p>
75
	 *
76
	 * @return a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
77
	 */
78
	public LanguageString getLanguageString() {
79
		return languageString;
80
	}
81

    
82
	public LanguageString updateLanguageString(LanguageString ls) {
83
	    if(ls == null){
84
            ls = LanguageString.NewInstance("", CdmStore.getDefaultLanguage());
85
           
86
        }
87
	    ls.setText(text.getText());
88
	    intextRefernces.setEntity(ls);
89
	    return ls;
90
	}
91

    
92
	/** {@inheritDoc} */
93
	@Override
94
	public void modifyText(ModifyEvent e) {
95
		if(languageString == null){
96
			languageString = LanguageString.NewInstance("", CdmStore.getDefaultLanguage());
97
			intextRefernces.setEntity(languageString);
98
		}
99

    
100
		languageString.setText(text.getText());
101
		
102
		super.modifyText(e);
103
	}
104

    
105
	/** {@inheritDoc} */
106
	@Override
107
	public void setText(String text) {
108
		if(text != null){
109
			languageString.setText(text);
110
			super.setText(text);
111
		}
112
	}
113

    
114
	/**
115
	 * <p>Setter for the field <code>languageString</code>.</p>
116
	 *
117
	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
118
	 */
119
	public void setLanguageString(LanguageString languageString) {
120
		this.languageString = languageString;
121
		super.setText(languageString != null ? languageString.getText() : "");
122
		if (this.intextRefernces == null){
123
			this.intextRefernces = formFactory.createIntextReferenceSection(null, this, ExpandableComposite.TWISTIE);
124
		}
125
		
126
		this.intextRefernces.setEntity(languageString);
127
	}
128
}
(29-29/47)