Project

General

Profile

Download (2.25 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.section.name;
11

    
12
import org.eclipse.jface.util.PropertyChangeEvent;
13
import org.eclipse.swt.SWT;
14
import org.eclipse.swt.events.SelectionListener;
15

    
16
import eu.etaxonomy.cdm.model.name.TextualTypeDesignation;
17
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
18
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
19
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
20
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
21
import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement;
22

    
23
/**
24
 *
25
 * @author pplitzner
26
 * @since May 15, 2019
27
 *
28
 */
29
public class TextTypeDesignationElement extends
30
		AbstractTypeDesignationElement<TextualTypeDesignation> {
31

    
32
    private MultilanguageTextElement multilanguageTextElement;
33
    private CheckboxElement checkIsVerbatim;
34

    
35
	public TextTypeDesignationElement(CdmFormFactory formFactory,
36
			AbstractFormSection section, TextualTypeDesignation entity,
37
			SelectionListener removeListener, int style) {
38
		super(formFactory, section, entity, removeListener, style);
39
	}
40

    
41
	@Override
42
	public void createControls(ICdmFormElement formElement, int style) {
43
        multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, entity.getText(), 100, SWT.WRAP);
44
        checkIsVerbatim = formFactory.createCheckbox(formElement, "Is Verbatim", getEntity().isVerbatim(), style);
45
	}
46

    
47
    @Override
48
    public void propertyChange(PropertyChangeEvent event) {
49
        if(event.getSource()==multilanguageTextElement){
50
            multilanguageTextElement.getMultilanguageText().values()
51
                    .forEach(languageString -> getEntity().putText(languageString));
52
        }
53
        super.propertyChange(event);
54
    }
55

    
56
	@Override
57
	public void setEntity(TextualTypeDesignation entity) {
58
	    super.setEntity(entity);
59
	}
60

    
61
	@Override
62
	public void handleEvent(Object eventSource) {
63
	    super.handleEvent(eventSource);
64
	    if(eventSource==checkIsVerbatim){
65
	        getEntity().setVerbatim(checkIsVerbatim.getSelection());
66
	    }
67
	}
68
}
(21-21/22)