Project

General

Profile

Download (2.45 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
        super.createControls(formElement, style);
46
        if (entity != null){
47
        	setEntity(entity);
48
        }
49
	}
50

    
51
    @Override
52
    public void propertyChange(PropertyChangeEvent event) {
53
        if(event.getSource()==multilanguageTextElement){
54
            multilanguageTextElement.getMultilanguageText().values()
55
                    .forEach(languageString -> getEntity().putText(languageString));
56
        }
57
        super.propertyChange(event);
58
    }
59

    
60
	@Override
61
	public void setEntity(TextualTypeDesignation entity) {
62
	    super.setEntity(entity);
63
	    if (checkbox_notDesignated != null){
64
	    	removeNotDesignatedControls();
65
	    }
66
	}
67

    
68
	@Override
69
	public void handleEvent(Object eventSource) {
70
	    super.handleEvent(eventSource);
71
	    if(eventSource==checkIsVerbatim){
72
	        getEntity().setVerbatim(checkIsVerbatim.getSelection());
73
	    }
74
	}
75
}
(20-20/21)