2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.taxeditor
.ui
.mvc
.combo
;
11 import org
.eclipse
.swt
.SWT
;
12 import org
.eclipse
.swt
.events
.DisposeEvent
;
13 import org
.eclipse
.swt
.events
.DisposeListener
;
14 import org
.eclipse
.swt
.widgets
.Combo
;
15 import org
.eclipse
.swt
.widgets
.Composite
;
16 import org
.eclipse
.swt
.widgets
.Display
;
17 import org
.eclipse
.ui
.forms
.widgets
.FormToolkit
;
18 import org
.eclipse
.ui
.forms
.widgets
.TableWrapData
;
19 import org
.eclipse
.ui
.forms
.widgets
.TableWrapLayout
;
21 import eu
.etaxonomy
.cdm
.model
.term
.IEnumTerm
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
24 import eu
.etaxonomy
.taxeditor
.ui
.mvc
.AbstractCdmComposite
;
31 public class EnumTermCombo
extends AbstractCdmComposite
<EnumTermComboController
> {
33 private final FormToolkit toolkit
= new FormToolkit(Display
.getCurrent());
34 private final Combo combo
;
36 private final Class
<?
extends IEnumTerm
<?
>> enumType
;
39 * Create the composite.
43 public EnumTermCombo(Composite parent
, int style
, Class
<?
extends IEnumTerm
<?
>> enumType
) {
45 this.enumType
= enumType
;
46 addDisposeListener(new DisposeListener() {
48 public void widgetDisposed(DisposeEvent e
) {
53 toolkit
.paintBordersFor(this);
55 TableWrapLayout tableWrapLayout
= new TableWrapLayout();
56 tableWrapLayout
.verticalSpacing
= 0;
57 tableWrapLayout
.topMargin
= 0;
58 tableWrapLayout
.horizontalSpacing
= 0;
59 tableWrapLayout
.bottomMargin
= 0;
60 tableWrapLayout
.rightMargin
= 0;
61 tableWrapLayout
.leftMargin
= 0;
62 setLayout(tableWrapLayout
);
65 combo
= new Combo(this, SWT
.READ_ONLY
);
66 combo
.setLayoutData(new TableWrapData(TableWrapData
.FILL_GRAB
, TableWrapData
.TOP
, 1, 1));
68 toolkit
.paintBordersFor(combo
);
71 public Combo
getCombo() {
75 * @see eu.etaxonomy.taxeditor.ui.mvc.interfaces.CdmComposite#initController(java.lang.Object, eu.etaxonomy.taxeditor.ui.element.CdmFormFactory, eu.etaxonomy.taxeditor.ui.element.ICdmFormElement)
78 protected void initInternalController(CdmFormFactory formFactory
, ICdmFormElement parentElement
) {
79 controller
= new EnumTermComboController(combo
, formFactory
, parentElement
, enumType
, SWT
.NONE
);