Project

General

Profile

Download (2.82 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2014 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.mvc.combo;
11

    
12
import org.eclipse.swt.SWT;
13
import org.eclipse.swt.events.DisposeEvent;
14
import org.eclipse.swt.events.DisposeListener;
15
import org.eclipse.swt.widgets.Combo;
16
import org.eclipse.swt.widgets.Composite;
17
import org.eclipse.swt.widgets.Display;
18
import org.eclipse.ui.forms.widgets.FormToolkit;
19
import org.eclipse.ui.forms.widgets.TableWrapData;
20
import org.eclipse.ui.forms.widgets.TableWrapLayout;
21

    
22
import eu.etaxonomy.cdm.model.common.IEnumTerm;
23
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
24
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
25
import eu.etaxonomy.taxeditor.ui.mvc.AbstractCdmComposite;
26

    
27
/**
28
 * @author pplitzner
29
 * @date 29.01.2014
30
 *
31
 */
32
public class EnumTermCombo extends AbstractCdmComposite<EnumTermComboController> {
33

    
34
    private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
35
    private final Combo combo;
36

    
37
    private final Class<? extends IEnumTerm<?>> enumType;
38

    
39
    /**
40
     * Create the composite.
41
     * @param parent
42
     * @param style
43
     */
44
    public EnumTermCombo(Composite parent, int style, Class<? extends IEnumTerm<?>> enumType) {
45
        super(parent, style);
46
        this.enumType = enumType;
47
        addDisposeListener(new DisposeListener() {
48
            @Override
49
            public void widgetDisposed(DisposeEvent e) {
50
                toolkit.dispose();
51
            }
52
        });
53
        toolkit.adapt(this);
54
        toolkit.paintBordersFor(this);
55
        {
56
            TableWrapLayout tableWrapLayout = new TableWrapLayout();
57
            tableWrapLayout.verticalSpacing = 0;
58
            tableWrapLayout.topMargin = 0;
59
            tableWrapLayout.horizontalSpacing = 0;
60
            tableWrapLayout.bottomMargin = 0;
61
            tableWrapLayout.rightMargin = 0;
62
            tableWrapLayout.leftMargin = 0;
63
            setLayout(tableWrapLayout);
64
        }
65

    
66
        combo = new Combo(this, SWT.READ_ONLY);
67
        combo.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
68
        toolkit.adapt(combo);
69
        toolkit.paintBordersFor(combo);
70

    
71
    }
72
    public Combo getCombo() {
73
        return combo;
74
    }
75
    /* (non-Javadoc)
76
     * @see eu.etaxonomy.taxeditor.ui.mvc.interfaces.CdmComposite#initController(java.lang.Object, eu.etaxonomy.taxeditor.ui.element.CdmFormFactory, eu.etaxonomy.taxeditor.ui.element.ICdmFormElement)
77
     */
78
    @Override
79
    protected void initInternalController(CdmFormFactory formFactory, ICdmFormElement parentElement) {
80
        controller = new EnumTermComboController(combo, formFactory, parentElement, enumType, SWT.NONE);
81
    }
82

    
83
}
(1-1/2)