smaller changes in preferences for distribution vocabularies
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / wizard / AvailableDistributionStatusPage.java
1 /**
2 * Copyright (C) 2018 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.preference.wizard;
10
11 import java.util.ArrayList;
12 import java.util.Collection;
13 import java.util.List;
14 import java.util.Map;
15
16 import org.eclipse.jface.viewers.CheckStateChangedEvent;
17 import org.eclipse.jface.viewers.CheckboxTreeViewer;
18 import org.eclipse.jface.viewers.ColumnViewer;
19 import org.eclipse.jface.viewers.ICheckStateListener;
20 import org.eclipse.jface.viewers.StyledString.Styler;
21 import org.eclipse.jface.viewers.ViewerComparator;
22 import org.eclipse.swt.SWT;
23 import org.eclipse.swt.graphics.TextStyle;
24 import org.eclipse.swt.layout.GridData;
25 import org.eclipse.swt.layout.GridLayout;
26 import org.eclipse.swt.widgets.Composite;
27 import org.eclipse.swt.widgets.Display;
28
29 import eu.etaxonomy.cdm.model.common.CdmBase;
30 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
31 import eu.etaxonomy.cdm.model.common.TermType;
32 import eu.etaxonomy.cdm.model.common.TermVocabulary;
33 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
34 import eu.etaxonomy.taxeditor.editor.definedterm.TermContentProvider;
35 import eu.etaxonomy.taxeditor.editor.definedterm.TermLabelProvider;
36 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
37 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
38
39 /**
40 * @author k.luther
41 * @since 05.10.2018
42 *
43 */
44 public class AvailableDistributionStatusPage extends AbstractTermSelectionWizardPage implements ICdmEntitySessionEnabled{
45
46 private ColumnViewer viewer;
47 private List<TermVocabulary<DefinedTermBase>> vocabularies = new ArrayList<>();
48 private CdmPreference pref;
49
50
51 public AvailableDistributionStatusPage(String pageName, CdmPreference pref) {
52 super(pageName, TermType.PresenceAbsenceTerm);
53 this.pref = pref;
54
55 }
56
57 /**
58 * {@inheritDoc}
59 */
60 @Override
61 public void createControl(Composite parent) {
62
63 // String checkedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_VOCABULARIES);
64
65
66 // String grayedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED);
67 setTitle("Select Distribution Status");
68 setDescription("In order to be able to modify and see the distribution status of taxa,\n"
69 + "you have to select the status the user should be allowed to use.");
70 Composite composite = new Composite(parent, SWT.NULL);
71 composite.setLayout(new GridLayout());
72 setViewer(new CheckboxTreeViewer(composite, SWT.NULL));
73 ((CheckboxTreeViewer)getViewer()).getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
74 // viewer.setContentProvider(new TermContentProvider());
75 Styler styler = new Styler() {
76 @Override
77 public void applyStyles(TextStyle textStyle) {
78 textStyle.foreground = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);
79 }
80 };
81 getViewer().setContentProvider(new TermContentProvider());
82 getViewer().setLabelProvider(new TermLabelProvider(styler));
83 getViewer().setComparator(new ViewerComparator());
84 ((CheckboxTreeViewer)getViewer()).addCheckStateListener(new ICheckStateListener() {
85
86 private boolean ignoreCheckEvent = false;
87
88 @Override
89 public void checkStateChanged(CheckStateChangedEvent event) {
90
91
92 if (ignoreCheckEvent ) {
93 return;
94 }
95
96 ignoreCheckEvent = true;
97
98 try {
99
100
101 }
102 finally {
103 ignoreCheckEvent = false;
104 }
105
106 }
107 });
108 String checkedValues = null;
109 if (pref != null){
110 checkedValues = pref.getValue();
111 }
112 rememberCheckedValues(checkedValues, null);
113 ((CheckboxTreeViewer)getViewer()).setCheckedElements(listCheckedTerms.toArray());
114 ((CheckboxTreeViewer)getViewer()).expandToLevel(2);
115 setControl(composite);
116
117 }
118
119
120 @Override
121 public ColumnViewer getViewer() {
122 return viewer;
123 }
124
125 @Override
126 public void setViewer(ColumnViewer viewer) {
127 this.viewer = viewer;
128 }
129 /**
130 * {@inheritDoc}
131 */
132 @Override
133 public ICdmEntitySession getCdmEntitySession() {
134 // TODO Auto-generated method stub
135 return null;
136 }
137
138 /**
139 * {@inheritDoc}
140 */
141 @Override
142 public <T extends CdmBase> Collection<T> getRootEntities() {
143 // TODO Auto-generated method stub
144 return null;
145 }
146
147 /**
148 * {@inheritDoc}
149 */
150 @Override
151 public Map<Object, List<String>> getPropertyPathsMap() {
152 // TODO Auto-generated method stub
153 return null;
154 }
155 @Override
156 protected List<TermVocabulary<DefinedTermBase>> getVocabulariesFromPreference(){
157 return null;
158 }
159
160 }