Merge branch 'release/5.30.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / feature / TermTreeDetailElementForNode.java
1 /**
2 * Copyright (C) 2009 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 package eu.etaxonomy.taxeditor.ui.section.feature;
10
11 import org.eclipse.swt.widgets.Label;
12
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;
23
24 /**
25 * @author pplitzner
26 * @since Dec 21, 2017
27 */
28 public class TermTreeDetailElementForNode extends AbstractCdmDetailElement<TermTree> {
29
30 private CheckboxElement allowDuplicates;
31 private CheckboxElement orderRelevant;
32 private CheckboxElement isFlat;
33
34 private TextWithLabelElement titleCacheText;
35
36 public TermTreeDetailElementForNode(CdmFormFactory formFactory,
37 ICdmFormElement formElement) {
38 super(formFactory, formElement);
39 }
40
41
42 @Override
43 protected void createControls(ICdmFormElement formElement, TermTree entity, int style) {
44
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));
50
51 titleCacheText = formFactory.createTextWithLabelElement(
52 formElement, "Title Cache", entity.getTitleCache(), style);
53
54
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);
63 }
64
65 }
66
67 @Override
68 protected void updateControlStates() {
69 super.updateControlStates();
70 // toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
71 }
72
73 @Override
74 public void handleEvent(Object eventSource) {
75 if (eventSource == titleCacheText) {
76 getEntity().setTitleCache(titleCacheText.getText());;
77 }
78 else
79 if (eventSource == allowDuplicates) {
80 getEntity().setAllowDuplicates(allowDuplicates.getSelection());
81 }
82 else if (eventSource == orderRelevant) {
83 getEntity().setOrderRelevant(orderRelevant.getSelection());
84 }
85 else if (eventSource == isFlat) {
86 getEntity().setFlat(isFlat.getSelection());
87 }
88 }
89
90 }