ref #7849: remove OVERRIDE constants from IPreferenceKeys and handle it by method
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / NameDetailsViewConfiguration.java
1 package eu.etaxonomy.taxeditor.preference;
2
3
4 import org.eclipse.swt.SWT;
5 import org.eclipse.swt.custom.CLabel;
6 import org.eclipse.swt.events.SelectionAdapter;
7 import org.eclipse.swt.events.SelectionEvent;
8 import org.eclipse.swt.layout.GridData;
9 import org.eclipse.swt.layout.GridLayout;
10 import org.eclipse.swt.widgets.Button;
11 import org.eclipse.swt.widgets.Composite;
12 import org.eclipse.swt.widgets.Control;
13 import org.eclipse.swt.widgets.Label;
14
15 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
16 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
17 import eu.etaxonomy.taxeditor.l10n.Messages;
18 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
19
20
21 public class NameDetailsViewConfiguration extends CdmPreferencePage {
22
23 protected boolean isSimpleDetailsViewActivated;
24 boolean isUseLocalSettings;
25 protected NameDetailsConfigurator nameDetailsConfig;
26 Composite localSettings ;
27
28
29 protected boolean isShowTaxon;
30 protected boolean isShowNameApprobiation ;
31 protected boolean isShowHybrid;
32 protected boolean isShowNameRelationship;
33 protected boolean isShowTypeDesignation;
34 protected boolean isShowProtologue;
35 protected boolean isShowNomenclaturalStatus;
36 protected boolean isShowNomenclaturalRef;
37 protected boolean isShowAuthorship;
38 protected boolean isShowAuthorCache;
39 protected boolean isShowEpithets;
40 protected boolean isShowRank;
41 protected boolean isShowAppendedPhrase;
42 protected boolean isShowNameCache;
43 protected boolean isShowNomenclaturalCode;
44 protected boolean isShowLSID;
45 protected boolean isSecEnabled;
46 protected boolean isSecDetailsActivated;
47
48 protected boolean isAllowOverride;
49 private boolean isOverride;
50
51 @Override
52 protected Control createContents(Composite parent) {
53
54 if (isAllowOverride || isAdminPreference){
55
56 final CLabel description = new CLabel(parent, SWT.NULL);
57 description.setText(Messages.NameDetailsViewConfiguration_description);
58
59 Composite title = createComposite(parent);
60 nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
61 if (nameDetailsConfig == null){
62 nameDetailsConfig = new NameDetailsConfigurator(false);
63 }
64
65 final Button activateCheckButton = new Button(title, SWT.CHECK);
66 final Button allowLocalPreference = createAllowOverrideButton(title);
67 Composite dbSettings = new Composite(parent, SWT.NONE);
68
69 activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
70 activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
71 isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
72 activateCheckButton.setSelection(isSimpleDetailsViewActivated);
73 activateCheckButton.addSelectionListener(new SelectionAdapter(){
74 @Override
75 public void widgetSelected(SelectionEvent e) {
76 isSimpleDetailsViewActivated = activateCheckButton.getSelection();
77
78 dbSettings.setEnabled(isSimpleDetailsViewActivated);
79 PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
80 }
81 });
82
83 if (isAdminPreference){
84 allowLocalPreference.setSelection(isAllowOverride);
85 }else{
86 allowLocalPreference.setSelection(isOverride);
87 }
88 allowLocalPreference.addSelectionListener(new SelectionAdapter(){
89 @Override
90 public void widgetSelected(SelectionEvent e) {
91 if (isAdminPreference){
92 isAllowOverride = allowLocalPreference.getSelection();
93 }else{
94 isOverride = allowLocalPreference.getSelection();
95 }
96
97 }
98 });
99
100 dbSettings.setLayout(new GridLayout());
101 dbSettings.setEnabled(isSimpleDetailsViewActivated);
102
103
104 Label separator= new Label(dbSettings, SWT.HORIZONTAL | SWT.SEPARATOR);
105 separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
106 final Button showTaxon = new Button(dbSettings, SWT.CHECK);
107 showTaxon.setText(Messages.NameDetailsViewComposite_Show_Taxon);
108 isShowTaxon = nameDetailsConfig.isTaxonSectionActivated();
109 showTaxon.setSelection(isShowTaxon);
110 showTaxon.addSelectionListener(new SelectionAdapter(){
111 @Override
112 public void widgetSelected(SelectionEvent e) {
113 isShowTaxon = showTaxon.getSelection();
114
115 }
116 });
117
118 final Button showSecDetail = new Button(dbSettings, SWT.CHECK);
119 showSecDetail.setText(Messages.NameDetailsViewComposite_Show_SecDetail);
120 isSecDetailsActivated = nameDetailsConfig.isSecDetailsActivated();
121 showSecDetail.setSelection(isSecDetailsActivated);
122 showSecDetail.addSelectionListener(new SelectionAdapter(){
123 @Override
124 public void widgetSelected(SelectionEvent e) {
125 isSecDetailsActivated = showSecDetail.getSelection();
126
127 }
128 });
129
130 final Button secEnabled = new Button(dbSettings, SWT.CHECK);
131 secEnabled.setText(Messages.NameDetailsViewComposite_SecEnabled);
132 isSecEnabled = nameDetailsConfig.isSecEnabled();
133 secEnabled.setSelection(isSecEnabled);
134 secEnabled.addSelectionListener(new SelectionAdapter(){
135 @Override
136 public void widgetSelected(SelectionEvent e) {
137 isSecEnabled = secEnabled.getSelection();
138
139 }
140 });
141
142
143 final Button showLsid = new Button(dbSettings, SWT.CHECK);
144 showLsid.setText(Messages.NameDetailsViewComposite_Show_LSID);
145 isShowLSID = nameDetailsConfig.isLSIDActivated();
146 showLsid.setSelection(isShowLSID);
147 showLsid.addSelectionListener(new SelectionAdapter(){
148 @Override
149 public void widgetSelected(SelectionEvent e) {
150 isShowLSID = showLsid.getSelection();
151
152 }
153 });
154
155 final Button showNomenclaturalCode = new Button(dbSettings, SWT.CHECK);
156 showNomenclaturalCode.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalCode);
157 isShowNomenclaturalCode = nameDetailsConfig.isNomenclaturalCodeActived();
158 showNomenclaturalCode.setSelection(isShowNomenclaturalCode);
159 showNomenclaturalCode.addSelectionListener(new SelectionAdapter(){
160 @Override
161 public void widgetSelected(SelectionEvent e) {
162 isShowNomenclaturalCode = showNomenclaturalCode.getSelection();
163
164 }
165 });
166
167 final Button showNameCache = new Button(dbSettings, SWT.CHECK);
168 showNameCache.setText(Messages.NameDetailsViewComposite_Show_NameCache);
169 isShowNameCache = nameDetailsConfig.isNameCacheActivated();
170 showNameCache.setSelection(isShowNameCache);
171 showNameCache.addSelectionListener(new SelectionAdapter(){
172 @Override
173 public void widgetSelected(SelectionEvent e) {
174 isShowNameCache = showNameCache.getSelection();
175
176 }
177 });
178 final Button showAppendedPhrase = new Button(dbSettings, SWT.CHECK);
179 isShowAppendedPhrase= nameDetailsConfig.isAppendedPhraseActivated();
180 showAppendedPhrase.setText(Messages.NameDetailsViewComposite_Show_AppendedPhrase);
181 showAppendedPhrase.setSelection(isShowAppendedPhrase);
182 showAppendedPhrase.addSelectionListener(new SelectionAdapter(){
183 @Override
184 public void widgetSelected(SelectionEvent e) {
185 isShowAppendedPhrase = showAppendedPhrase.getSelection();
186
187 }
188 });
189
190 final Button showRank = new Button(dbSettings, SWT.CHECK);
191 isShowRank = nameDetailsConfig.isRankActivated();
192 showRank.setText(Messages.NameDetailsViewComposite_Show_Rank);
193 showRank.setSelection(isShowRank);
194 showRank.addSelectionListener(new SelectionAdapter(){
195 @Override
196 public void widgetSelected(SelectionEvent e) {
197 isShowRank = showRank.getSelection();
198
199 }
200 });
201 final Button showEpithets = new Button(dbSettings, SWT.CHECK);
202 isShowEpithets = nameDetailsConfig.isAtomisedEpithetsActivated();
203 showEpithets.setText(Messages.NameDetailsViewComposite_Show_AtomisedEpithets);
204 showEpithets.setSelection(isShowEpithets);
205 showEpithets.addSelectionListener(new SelectionAdapter(){
206 @Override
207 public void widgetSelected(SelectionEvent e) {
208 isShowEpithets = showEpithets.getSelection();
209
210 }
211 });
212
213 final Button showAuthorCache = new Button(dbSettings, SWT.CHECK);
214 isShowAuthorCache = nameDetailsConfig.isAuthorCacheActivated();
215 showAuthorCache.setText(Messages.NameDetailsViewComposite_Show_AuthorCache);
216 showAuthorCache.setSelection(isShowAuthorCache);
217 showAuthorCache.addSelectionListener(new SelectionAdapter(){
218 @Override
219 public void widgetSelected(SelectionEvent e) {
220 isShowAuthorCache = showAuthorCache.getSelection();
221
222 }
223 });
224
225 final Button showAuthorship = new Button(dbSettings, SWT.CHECK);
226 isShowAuthorship = nameDetailsConfig.isAuthorshipSectionActivated();
227 showAuthorship.setText(Messages.NameDetailsViewComposite_Show_Author);
228 showAuthorship.setSelection(isShowAuthorship);
229 showAuthorship.addSelectionListener(new SelectionAdapter(){
230 @Override
231 public void widgetSelected(SelectionEvent e) {
232 isShowAuthorship = showAuthorship.getSelection();
233
234 }
235 });
236
237 final Button showNomenclaturalRef = new Button(dbSettings, SWT.CHECK);
238 isShowNomenclaturalRef = nameDetailsConfig.isNomenclaturalReferenceSectionActivated();
239 showNomenclaturalRef.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalReference);
240 showNomenclaturalRef.setSelection(isShowNomenclaturalRef);
241 showNomenclaturalRef.addSelectionListener(new SelectionAdapter(){
242 @Override
243 public void widgetSelected(SelectionEvent e) {
244 isShowNomenclaturalRef = showNomenclaturalRef.getSelection();
245
246 }
247 });
248
249 final Button showNomenclaturalStatus = new Button(dbSettings, SWT.CHECK);
250 isShowNomenclaturalStatus = nameDetailsConfig.isNomenclaturalStatusSectionActivated();
251 showNomenclaturalStatus.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalStatus);
252 showNomenclaturalStatus.setSelection(isShowNomenclaturalStatus);
253 showNomenclaturalStatus.addSelectionListener(new SelectionAdapter(){
254 @Override
255 public void widgetSelected(SelectionEvent e) {
256 isShowNomenclaturalStatus = showNomenclaturalStatus.getSelection();
257
258 }
259 });
260
261 final Button showProtologue = new Button(dbSettings, SWT.CHECK);
262 isShowProtologue = nameDetailsConfig.isProtologueActivated();
263 showProtologue.setText(Messages.NameDetailsViewComposite_Show_Protologue);
264 showProtologue.setSelection(isShowProtologue);
265 showProtologue.addSelectionListener(new SelectionAdapter(){
266 @Override
267 public void widgetSelected(SelectionEvent e) {
268 isShowProtologue = showProtologue.getSelection();
269
270 }
271 });
272
273 final Button showTypeDesignation = new Button(dbSettings, SWT.CHECK);
274 isShowTypeDesignation = nameDetailsConfig.isTypeDesignationSectionActivated();
275 showTypeDesignation.setText(Messages.NameDetailsViewComposite_Show_TypeDesignation);
276 showTypeDesignation.setSelection(isShowTypeDesignation);
277 showTypeDesignation.addSelectionListener(new SelectionAdapter(){
278 @Override
279 public void widgetSelected(SelectionEvent e) {
280 isShowTypeDesignation = showTypeDesignation.getSelection();
281
282 }
283 });
284
285
286 final Button showNameRelationship = new Button(dbSettings, SWT.CHECK);
287 isShowNameRelationship = nameDetailsConfig.isNameRelationsSectionActivated();
288 showNameRelationship.setText(Messages.NameDetailsViewComposite_Show_Namerelationships);
289 showNameRelationship.setSelection(isShowNameRelationship);
290 showNameRelationship.addSelectionListener(new SelectionAdapter(){
291 @Override
292 public void widgetSelected(SelectionEvent e) {
293 isShowNameRelationship = showNameRelationship.getSelection();
294
295 }
296 });
297
298 final Button showHybrid = new Button(dbSettings, SWT.CHECK);
299 isShowHybrid = nameDetailsConfig.isHybridActivated();
300 showHybrid.setText(Messages.NameDetailsViewComposite_Show_Hybrid);
301 showHybrid.setSelection(isShowHybrid);
302 showHybrid.addSelectionListener(new SelectionAdapter(){
303 @Override
304 public void widgetSelected(SelectionEvent e) {
305 isShowHybrid = showHybrid.getSelection();
306
307 }
308 });
309 final Button showNameApprobiation = new Button(dbSettings, SWT.CHECK);
310 isShowNameApprobiation = nameDetailsConfig.isNameApprobiationActivated();
311 showNameApprobiation.setText(Messages.NameDetailsViewComposite_Show_NameApprobiation);
312 showNameApprobiation.setSelection(isShowNameApprobiation);
313 showNameApprobiation.addSelectionListener(new SelectionAdapter(){
314 @Override
315 public void widgetSelected(SelectionEvent e) {
316 isShowNameApprobiation = showNameApprobiation.getSelection();
317 //PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
318 }
319 });
320 PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
321 }else{
322 final CLabel description = new CLabel(parent, SWT.NULL);
323 description.setText(Messages.NameDetailsViewConfiguration_description_not_available);
324 }
325
326
327
328
329 return parent;
330 }
331
332 @Override
333 public boolean performOk() {
334 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_TAXON, isShowTaxon);
335 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_SEC_DETAILS, isSecDetailsActivated);
336 PreferencesUtil.setBooleanValue(IPreferenceKeys.DISABLE_SEC, isSecEnabled);
337 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION, isSimpleDetailsViewActivated);
338 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
339 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_HYBRID, isShowHybrid);
340 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP, isShowNameRelationship);
341 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, isShowTypeDesignation);
342 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, isShowProtologue);
343 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS, isShowNomenclaturalStatus);
344 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE, isShowNomenclaturalRef);
345 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, isShowAuthorship);
346 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP_CACHE, isShowAuthorCache);
347 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, isShowEpithets);
348 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_RANK, isShowRank);
349 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE, isShowAppendedPhrase);
350 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE, isShowNameCache);
351 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE, isShowNomenclaturalCode);
352 PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_LSID, isShowLSID);
353
354 PreferencesUtil.setBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS, isOverride);
355 return true;
356
357 }
358
359 @Override
360 public void init(){
361 CdmPreference nameDetailsPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NameDetailsView);
362 isAdminPreference = false;
363 isAllowOverride = false;
364 if (nameDetailsPref != null){
365 isAllowOverride = nameDetailsPref.isAllowOverride();
366 }
367 isOverride = PreferencesUtil.getBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS);
368 }
369
370 }