Project

General

Profile

Download (6.77 KB) Statistics
| Branch: | Tag: | Revision:
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.databaseAdmin.preferencePage;
10

    
11
import org.eclipse.swt.SWT;
12
import org.eclipse.swt.events.SelectionAdapter;
13
import org.eclipse.swt.events.SelectionEvent;
14
import org.eclipse.swt.layout.GridData;
15
import org.eclipse.swt.layout.GridLayout;
16
import org.eclipse.swt.widgets.Button;
17
import org.eclipse.swt.widgets.Composite;
18
import org.eclipse.swt.widgets.Control;
19

    
20
import eu.etaxonomy.cdm.api.application.ICdmRepository;
21
import eu.etaxonomy.cdm.api.service.IPreferenceService;
22
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
23
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
24
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
25
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
26
import eu.etaxonomy.taxeditor.l10n.Messages;
27
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
28
import eu.etaxonomy.taxeditor.store.CdmStore;
29

    
30
/**
31
 * @author k.luther
32
 * @since 27.04.2018
33
 *
34
 */
35
public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
36

    
37

    
38

    
39
    boolean isShowCollectingAreaInGeneralSection = false;
40
    boolean isDeterminationOnlyForFieldUnits = false;
41
    boolean isShowTaxonAssociation = false;
42
    boolean isShowLifeForm = false;
43
    boolean isUseLocalPreference = false;
44

    
45

    
46
    @Override
47
    protected Control createContents(Composite parent) {
48
        Composite composite = new Composite(parent, SWT.NULL);
49
        GridLayout gridLayout = new GridLayout();
50
        composite.setLayout(gridLayout);
51
        final Button showCollectingAreaInGeneralSectionButton = new Button(composite, SWT.CHECK);
52

    
53
        showCollectingAreaInGeneralSectionButton.setText(Messages.DatabasePreferncesPage_Show_Collecting_Areas_in_general_section);
54

    
55
        showCollectingAreaInGeneralSectionButton.setSelection(isShowCollectingAreaInGeneralSection);
56
        showCollectingAreaInGeneralSectionButton.addSelectionListener(new SelectionAdapter(){
57
             @Override
58
             public void widgetSelected(SelectionEvent e) {
59
                 isShowCollectingAreaInGeneralSection = showCollectingAreaInGeneralSectionButton.getSelection();
60

    
61
              }
62
         });
63

    
64
        final Button determinationOnlyForFieldUnitsButton = new Button(composite, SWT.CHECK);
65

    
66
        determinationOnlyForFieldUnitsButton.setText(Messages.DatabasePreferncesPage_Determination_only_for_field_unnits);
67

    
68
        determinationOnlyForFieldUnitsButton.setSelection(isDeterminationOnlyForFieldUnits);
69
        determinationOnlyForFieldUnitsButton.addSelectionListener(new SelectionAdapter(){
70
             @Override
71
             public void widgetSelected(SelectionEvent e) {
72
                 isDeterminationOnlyForFieldUnits = determinationOnlyForFieldUnitsButton.getSelection();
73
                               }
74
         });
75

    
76
        final Button showTaxonAssociationButton = new Button(composite, SWT.CHECK);
77

    
78
        showTaxonAssociationButton.setText(Messages.DatabasePreferncesPage_Taxon_Associations);
79

    
80
        showTaxonAssociationButton.setSelection(isShowTaxonAssociation);
81
        showTaxonAssociationButton.addSelectionListener(new SelectionAdapter(){
82
             @Override
83
             public void widgetSelected(SelectionEvent e) {
84
                 isShowTaxonAssociation = showTaxonAssociationButton.getSelection();
85

    
86
              }
87
         });
88

    
89
        final Button showLifeFormButton = new Button(composite, SWT.CHECK);
90
        showLifeFormButton.setText(Messages.DatabasePreferncesPage_Life_Form);
91
        showLifeFormButton.setSelection(isShowLifeForm);
92
        showLifeFormButton.addSelectionListener(new SelectionAdapter(){
93
             @Override
94
             public void widgetSelected(SelectionEvent e) {
95
                 isShowLifeForm = showLifeFormButton.getSelection();
96

    
97
              }
98
         });
99

    
100
    //    Composite useLocalComp = new Composite(composite, SWT.NONE);
101

    
102

    
103
        final Button useLocalPreference = new Button(composite, SWT.CHECK);
104

    
105
        useLocalPreference.setText(Messages.DatabasePreferencesPage_UseLocalPreferences);
106
        GridData gridData = new GridData(SWT.FILL, SWT.BOTTOM, false, false);
107
        gridData.verticalIndent = 10;
108
        useLocalPreference.setLayoutData(gridData);
109

    
110
        useLocalPreference.setSelection(isUseLocalPreference);
111
        useLocalPreference.addSelectionListener(new SelectionAdapter(){
112
             @Override
113
             public void widgetSelected(SelectionEvent e) {
114
                 isUseLocalPreference = useLocalPreference.getSelection();
115

    
116
              }
117
         });
118
        return composite;
119
    }
120

    
121
    @Override
122
    public void init() {
123
        super.init();
124
        if(!CdmStore.isActive()){
125
            return;
126
        }
127
          ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
128
          if (controller != null){
129
              IPreferenceService service = controller.getPreferenceService();
130
              PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowCollectingAreasInGeneralSection);
131
              CdmPreference isShowCollectingAreaInGeneralSectionPref = service.find(key);
132
              if (isShowCollectingAreaInGeneralSectionPref != null){
133
                  this.isShowCollectingAreaInGeneralSection = Boolean.valueOf(isShowCollectingAreaInGeneralSectionPref.getValue());
134
              }
135
              key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.DeterminationOnlyForFieldUnits);
136
              CdmPreference isDeterminationOnlyForFieldUnitsPref = service.find(key);
137
              if (isDeterminationOnlyForFieldUnitsPref != null){
138
                  this.isDeterminationOnlyForFieldUnits = Boolean.valueOf(isDeterminationOnlyForFieldUnitsPref.getValue());
139
              }
140
              key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowTaxonAssociations);
141
              CdmPreference isShowTaxonAssociationPref = service.find(key);
142
              if (isShowTaxonAssociationPref != null){
143
                  this.isShowTaxonAssociation = Boolean.valueOf(isShowTaxonAssociationPref.getValue());
144
                  isUseLocalPreference = isShowTaxonAssociationPref.isAllowOverride();
145
              }
146

    
147
              key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowLifeForm);
148
              CdmPreference isShowLifeFormPref = service.find(key);
149
              if (isShowLifeFormPref != null){
150
                  this.isShowLifeForm = Boolean.valueOf(isShowLifeFormPref.getValue());
151
              }
152

    
153

    
154

    
155

    
156
          }
157

    
158

    
159
    }
160

    
161
    @Override
162
     public boolean performOk() {
163

    
164

    
165
        return true;
166
    }
167

    
168
}
(10-10/10)