Project

General

Profile

Download (2.15 KB) Statistics
| Branch: | Tag: | Revision:
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

    
17
/**
18
 * @author n.hoffmann
19
 * @created Dec 3, 2010
20
 * @version 1.0
21
 */
22
public class KeyStatementElement extends MultilanguageTextElement {
23

    
24
	private KeyStatement keyStatement;
25

    
26
	/**
27
	 * @param formFactory
28
	 * @param formElement
29
	 */
30
	public KeyStatementElement(CdmFormFactory formFactory,
31
			ICdmFormElement formElement, String labelString,
32
			KeyStatement keyStatement, int textHeight, int style) {
33
		super(formFactory, formElement, labelString, null, textHeight, style);
34
		setKeyStatement(keyStatement);
35
	}
36

    
37
	/**
38
	 * @param keyStatement
39
	 *            the keyStatement to set
40
	 */
41
	public void setKeyStatement(KeyStatement keyStatement) {
42
		this.keyStatement = keyStatement;
43
		if (keyStatement != null) {
44
			setMultilanguageText(keyStatement.getLabel());
45
		}
46
	}
47

    
48
	/**
49
	 * @return the keyStatement
50
	 */
51
	public KeyStatement getKeyStatement() {
52
		return keyStatement;
53
	}
54

    
55
	/*
56
	 * (non-Javadoc)
57
	 * 
58
	 * @see
59
	 * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
60
	 * (org.eclipse.jface.util.PropertyChangeEvent)
61
	 */
62
	@Override
63
	public void propertyChange(PropertyChangeEvent event) {
64
		if (event == null) {
65
			return;
66
		}
67
						
68
		if (keyStatement == null) {
69
			Object eventSource = event.getSource();
70
			if (eventSource == element_languageString) {
71
				
72
				if(element_languageString.getLanguageString() != null) {
73
					// for the case when the user copy / pastes text into the 
74
					// (LanguageStringWithLabelElement) element_languageString text field
75
					setKeyStatement(KeyStatement.NewInstance(element_languageString.getLanguageString().getLanguage(),
76
							element_languageString.getLanguageString().getText()));
77
				} else {
78
					setKeyStatement(KeyStatement.NewInstance());
79
				}
80
			}
81
		}
82
		
83
		super.propertyChange(event);
84
		
85
	}
86

    
87
}
(23-23/39)