Project

General

Profile

Download (12.1 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.databaseAdmin.preferencePage;
10

    
11
import org.eclipse.swt.SWT;
12
import org.eclipse.swt.custom.CLabel;
13
import org.eclipse.swt.events.SelectionAdapter;
14
import org.eclipse.swt.events.SelectionEvent;
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
import org.eclipse.swt.widgets.Label;
20

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

    
31
/**
32
 * @author a.oppermann
33
 * @date 21.07.2014
34
 *
35
 */
36
public class ChecklistEditorGeneralPreference extends CdmPreferencePage implements IE4AdminPreferencePage {
37

    
38
    boolean isEditorActivated;
39
    boolean allowOverride;
40
    boolean isShowRank;
41
    boolean isSortByVocabularyOrder;
42
    boolean isShowSymbol;
43
    boolean isShowIdInVocabulary;
44
    boolean isShowSymbol1;
45
    boolean isShowSymbol2;
46
    boolean isShowTitle;
47
    String displayString;
48
    Composite child ;
49
    CdmPreference distributionPref = null;
50

    
51
    @Override
52
    protected Control createContents(Composite parent) {
53

    
54
        Composite composite = new Composite(parent, SWT.NULL);
55
        composite.setLayout(new GridLayout());
56
        distributionPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
57
        if (distributionPref != null){
58
            isEditorActivated = Boolean.valueOf(distributionPref.getValue());
59
            allowOverride = distributionPref.isAllowOverride();
60
        }else{
61
            distributionPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.DistributionEditorActivated, "false");
62
            isEditorActivated = false;
63
        }
64

    
65
        final Button activateCheckButton = new Button(composite, SWT.CHECK);
66
        activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
67
        activateCheckButton.setSelection(isEditorActivated);
68
        activateCheckButton.addSelectionListener(new SelectionAdapter(){
69
            @Override
70
            public void widgetSelected(SelectionEvent e) {
71
                isEditorActivated = activateCheckButton.getSelection();
72

    
73
                if(isEditorActivated){
74
                    child.setVisible(true);
75
                    child.setEnabled(true);
76
                }else{
77
                    child.setVisible(false);
78
                    child.setEnabled(false);
79
                }
80

    
81
            }
82
        });
83
        final Button allowOverrideCheckButton = new Button(composite, SWT.CHECK);
84
        allowOverrideCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
85
        allowOverrideCheckButton.setSelection(allowOverride);
86
        allowOverrideCheckButton.addSelectionListener(new SelectionAdapter(){
87
            @Override
88
            public void widgetSelected(SelectionEvent e) {
89
                allowOverride = allowOverrideCheckButton.getSelection();
90

    
91
            }
92
        });
93

    
94
        child  = new Composite(composite, SWT.NULL);
95
        child.setLayout(new GridLayout());
96
        child.setVisible(isEditorActivated);
97

    
98

    
99

    
100
//
101

    
102

    
103
//
104
//        final CommandHandlerButton button_openWizard = new CommandHandlerButton(child, SWT.PUSH,
105
//                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
106
//
107
//        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
108

    
109
//        Table table = new Table
110
        final CLabel description = new CLabel(child, SWT.NULL);
111
        description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
112

    
113
        final Button showIdInVocabulary = new Button(child, SWT.RADIO);
114
        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowIdInVocabulary);
115
        if (pref != null){
116
            isShowIdInVocabulary = Boolean.valueOf(pref.getValue());
117
        }else{
118
            isShowIdInVocabulary = false;
119
        }
120
        showIdInVocabulary.setText(Messages.ChecklistEditorGeneralPreference_show_id_in_voc);
121
        showIdInVocabulary.setSelection(isShowIdInVocabulary);
122
        showIdInVocabulary.addSelectionListener(new SelectionAdapter(){
123
            @Override
124
            public void widgetSelected(SelectionEvent e) {
125
                isShowIdInVocabulary = showIdInVocabulary.getSelection();
126

    
127
             }
128
        });
129
        final Button showSymbol1 = new Button(child, SWT.RADIO);
130
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol1);
131
        if (pref != null){
132
            isShowSymbol1 = Boolean.valueOf(pref.getValue());
133
        }else{
134
            isShowSymbol1 = false;
135
        }
136
        showSymbol1.setText(Messages.ChecklistEditorGeneralPreference_show_symbol1);
137
        showSymbol1.setSelection(isShowSymbol1);
138
        showSymbol1.addSelectionListener(new SelectionAdapter(){
139
            @Override
140
            public void widgetSelected(SelectionEvent e) {
141
                isShowSymbol1 = showSymbol1.getSelection();
142

    
143
             }
144
        });
145
        final Button showSymbol2 = new Button(child, SWT.RADIO);
146
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol2);
147
        if (pref != null){
148
            isShowSymbol2 = Boolean.valueOf(pref.getValue());
149
        }else{
150
            isShowSymbol2 = false;
151
        }
152
        showSymbol2.setText(Messages.ChecklistEditorGeneralPreference_show_symbol2);
153
        showSymbol2.setSelection(isShowSymbol2);
154
        showSymbol2.addSelectionListener(new SelectionAdapter(){
155
            @Override
156
            public void widgetSelected(SelectionEvent e) {
157
                isShowSymbol2 = showSymbol2.getSelection();
158

    
159
             }
160
        });
161
        final Button showTitle = new Button(child, SWT.RADIO);
162
        isShowTitle = !(isShowIdInVocabulary || isShowSymbol1 || isShowSymbol2);
163

    
164
        showTitle.setText(Messages.ChecklistEditorGeneralPreference_show_title);
165
        showTitle.setSelection(isShowTitle);
166
        showTitle.addSelectionListener(new SelectionAdapter(){
167
            @Override
168
            public void widgetSelected(SelectionEvent e) {
169
                isShowTitle = showTitle.getSelection();
170

    
171
             }
172
        });
173

    
174
        final Label seperator1 = new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
175
        final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
176

    
177
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AreasSortedByIdInVocabulary);
178
        if (pref != null){
179
            isSortByVocabularyOrder = Boolean.valueOf(pref.getValue());
180
        }else{
181
            isSortByVocabularyOrder = false;
182
        }
183

    
184
        sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
185
        sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
186
        sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
187
            @Override
188
            public void widgetSelected(SelectionEvent e) {
189
                isSortByVocabularyOrder = sortNamedAreaByVocabularyOrder.getSelection();
190
             }
191
        });
192
        final Label seperator2 = new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
193
        final CLabel descriptionStatus = new CLabel(child, SWT.NULL);
194
        descriptionStatus.setText("Configure how the status should be displayed");
195
        final Button showSymbol = new Button(child, SWT.CHECK);
196
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbolForStatus);
197
        if (pref != null){
198
            isShowSymbol = Boolean.valueOf(pref.getValue());
199
        }else{
200
            isShowSymbol = false;
201
        }
202

    
203
        showSymbol.setText(Messages.ChecklistEditorGeneralPreference_show_symbol);
204
        showSymbol.setSelection(isShowSymbol);
205
        showSymbol.addSelectionListener(new SelectionAdapter(){
206
            @Override
207
            public void widgetSelected(SelectionEvent e) {
208
                isShowSymbol = showSymbol.getSelection();
209
             }
210
        });
211
//        PreferencesUtil.recursiveSetEnabled(button_openWizard, CdmStore.isActive());
212
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowRankInDistributionEditor);
213
        if (pref != null){
214
            isShowRank = Boolean.valueOf(pref.getValue());
215
        }else{
216
            isShowRank = false;
217
        }
218

    
219
        final Button activateRankButton = new Button(child, SWT.CHECK);
220
        activateRankButton.setText(Messages.ChecklistEditorGeneralPreference_show_rank);
221
        activateRankButton.setSelection(isShowRank);
222
        activateRankButton.addSelectionListener(new SelectionAdapter(){
223
            @Override
224
            public void widgetSelected(SelectionEvent e) {
225
                isShowRank = activateRankButton.getSelection();
226
            }
227
        });
228

    
229

    
230
        if(isEditorActivated){
231
            child.setEnabled(true);
232
        }else{
233
            child.setEnabled(false);
234
        }
235

    
236
        return composite;
237
    }
238

    
239
    @Override
240
    public boolean performOk() {
241
        if (distributionPref == null){
242
            return true;
243
        }
244
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
245
        if (controller == null){
246
            return false;
247
        }
248
        IPreferenceService service = controller.getPreferenceService();
249

    
250
        CdmPreference pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated));
251
        //ToDo
252
        pref.setAllowOverride(allowOverride);
253
        service.set(pref);
254

    
255
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowIdInVocabulary, Boolean.toString(isShowIdInVocabulary));
256
        //ToDo
257
        pref.setAllowOverride(true);
258
        service.set(pref);
259

    
260
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowSymbol1, Boolean.toString(isShowSymbol1));
261
        //ToDo
262
        pref.setAllowOverride(true);
263
        service.set(pref);
264
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowSymbol2, Boolean.toString(isShowSymbol2));
265
        //ToDo
266
        pref.setAllowOverride(true);
267
        service.set(pref);
268

    
269

    
270
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowSymbolForStatus, Boolean.toString(isShowSymbol));
271
        //ToDo
272
        pref.setAllowOverride(true);
273
        service.set(pref);
274

    
275
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank));
276
        //ToDo
277
        pref.setAllowOverride(true);
278
        service.set(pref);
279
        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedByIdInVocabulary, Boolean.toString(isSortByVocabularyOrder));
280
        //ToDo
281
        pref.setAllowOverride(true);
282
        service.set(pref);
283

    
284
        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated);
285
        PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
286
        PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
287
        PreferencesUtil.setShowSymbolInChecklistEditor(isShowSymbol);
288

    
289
        if (isShowIdInVocabulary){
290
            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_ID_IN_VOCABULARY;
291
        }else if (isShowSymbol1){
292
            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_SYMBOL1;
293
        }else if (isShowSymbol2){
294
            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_SYMBOL2;
295
        }else{
296
            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_TITLE;
297
        }
298
        PreferencesUtil.setShowIdInVocabularyInChecklistEditor(displayString);
299

    
300
        return true;
301
    }
302

    
303
}
(3-3/12)