2 * Copyright (C) 2009 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
.section
.feature
;
11 import org
.eclipse
.swt
.widgets
.Label
;
13 import eu
.etaxonomy
.cdm
.model
.term
.TermTree
;
14 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
15 import eu
.etaxonomy
.taxeditor
.model
.ColorResources
;
16 import eu
.etaxonomy
.taxeditor
.preference
.Resources
;
17 import eu
.etaxonomy
.taxeditor
.termtree
.e4
.ICharacterEditor
;
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
.TextWithLabelElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
28 public class TermTreeDetailElementForNode
extends AbstractCdmDetailElement
<TermTree
> {
30 private CheckboxElement allowDuplicates
;
31 private CheckboxElement orderRelevant
;
32 private CheckboxElement isFlat
;
34 private TextWithLabelElement titleCacheText
;
36 public TermTreeDetailElementForNode(CdmFormFactory formFactory
,
37 ICdmFormElement formElement
) {
38 super(formFactory
, formElement
);
43 protected void createControls(ICdmFormElement formElement
, TermTree entity
, int style
) {
45 Label lblTermType
= new Label(formElement
.getLayoutComposite(), style
);
46 lblTermType
.setText("Term Type");
47 Label lblStructureText
= new Label(formElement
.getLayoutComposite(), style
);
48 lblStructureText
.setText(entity
.getTermType().getLabel());
49 lblStructureText
.setForeground(ColorResources
.getColor(Resources
.BLACK
));
51 titleCacheText
= formFactory
.createTextWithLabelElement(
52 formElement
, "Title Cache", entity
.getTitleCache(), style
);
55 allowDuplicates
= formFactory
.createCheckbox(formElement
, "Allow duplicates", entity
.isAllowDuplicates(), style
);
56 orderRelevant
= formFactory
.createCheckbox(formElement
, "Order relevant", entity
.isOrderRelevant(), style
);
57 isFlat
= formFactory
.createCheckbox(formElement
, "Is flat", entity
.isFlat(), style
);
58 if (AbstractUtility
.getActivePart() instanceof ICharacterEditor
){
59 titleCacheText
.setEnabled(false);
60 allowDuplicates
.setEnabled(false);
61 orderRelevant
.setEnabled(false);
62 isFlat
.setEnabled(false);
68 protected void updateControlStates() {
69 super.updateControlStates();
70 // toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
74 public void handleEvent(Object eventSource
) {
75 if (eventSource
== titleCacheText
) {
76 getEntity().setTitleCache(titleCacheText
.getText());;
79 if (eventSource
== allowDuplicates
) {
80 getEntity().setAllowDuplicates(allowDuplicates
.getSelection());
82 else if (eventSource
== orderRelevant
) {
83 getEntity().setOrderRelevant(orderRelevant
.getSelection());
85 else if (eventSource
== isFlat
) {
86 getEntity().setFlat(isFlat
.getSelection());