Project

General

Profile

Download (4.65 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2014 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;
10

    
11
import org.eclipse.jface.preference.BooleanFieldEditor;
12
import org.eclipse.swt.SWT;
13
import org.eclipse.swt.layout.GridData;
14
import org.eclipse.swt.widgets.Label;
15

    
16
import eu.etaxonomy.cdm.api.application.ICdmRepository;
17
import eu.etaxonomy.cdm.api.service.IPreferenceService;
18
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
19
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
20
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
21
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
22
import eu.etaxonomy.taxeditor.preference.menu.FieldEditorPreferencePageE4;
23
import eu.etaxonomy.taxeditor.store.CdmStore;
24

    
25
/**
26
 * @author pplitzner
27
 * @date 13.02.2014
28
 *
29
 */
30
public class SpecimenOrObservationPreferences extends FieldEditorPreferencePageE4 {
31

    
32
    public SpecimenOrObservationPreferences(){
33
        super();
34
        setPreferenceStore(PreferencesUtil.getPreferenceStore());
35
        if (getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY)){
36
            setDescription("Set the preferences for the display of specimen and obeservations.");
37
        }else{
38
            setDescription("The CDM settings don't allow to set the preferences for the display of specimen and obeservations locally. If you need to make local settings, please ask an administrator.");
39
        }
40
    }
41

    
42

    
43
    @Override
44
    public void init() {
45
        super.init();
46
//        setPreferenceStore(PreferencesUtil.getPreferenceStore());
47
        if(!CdmStore.isActive()){
48
            return;
49
        }
50
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
51
        if (controller != null){
52
            IPreferenceService service = controller.getPreferenceService();
53
            PrefKey keyTaxonAssociation = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowTaxonAssociations);
54
            CdmPreference prefTaxonAssociation = service.find(keyTaxonAssociation);
55
            PrefKey keyDeterminationFieldUnit = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.DeterminationOnlyForFieldUnits);
56
            CdmPreference prefDeterminationFieldUnit = service.find(keyDeterminationFieldUnit);
57
            PrefKey keyCollectingAreas = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowCollectingAreasInGeneralSection);
58
            CdmPreference prefCollectingAreas = service.find(keyCollectingAreas);
59

    
60
            getPreferenceStore().setValue(IPreferenceKeys.ALLOW_OVERRIDE_SPECIMEN_PREF, prefTaxonAssociation == null? true : prefTaxonAssociation.isAllowOverride());
61
         }
62
        if (getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY)) {
63
            setDescription("Set the preferences for the display of specimen and obeservations.");
64
        }else{
65
            setDescription("The CDM settings don't allow to set the preferences for the display of specimen and obeservations locally. If you need to make local settings, please ask an administrator.");
66

    
67
        }
68
    }
69

    
70
    @Override
71
    protected void createFieldEditors() {
72
        if (getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_SPECIMEN_PREF)) {
73
            addField(new BooleanFieldEditor(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS,
74
                    "Taxon determination only on FieldUnit level",
75
                    getFieldEditorParent()));
76
            addField(new BooleanFieldEditor(IPreferenceKeys.SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION,
77
                    "Show \"Collecting Areas\" in \"General\" section of details view",
78
                    getFieldEditorParent()));
79
            addField(new BooleanFieldEditor(IPreferenceKeys.SHOW_TAXON_ASSOCIATIONS,
80
                    "Show taxon associations of a specimen in the details view",
81
                    getFieldEditorParent()));
82
            addField(new BooleanFieldEditor(IPreferenceKeys.SHOW_LIFE_FORM,
83
                    "Show life form of a specimen in the details view",
84
                    getFieldEditorParent()));
85
            Label label = new Label(getFieldEditorParent(), SWT.NONE);
86

    
87
            label.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
88

    
89
            addField(new BooleanFieldEditor(
90
                    IPreferenceKeys.OVERRIDE_SPECIMEN_PREF,
91
                    "Use local specimen preferences",
92
                    getFieldEditorParent()));
93

    
94

    
95
        }
96

    
97
    }
98

    
99

    
100
}
(21-21/24)