Project

General

Profile

Download (11.9 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 pref = 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
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
57
        if (pref != null){
58
            isEditorActivated = Boolean.valueOf(pref.getValue());
59
            allowOverride = pref.isAllowOverride();
60
        }else{
61
            isEditorActivated = false;
62
        }
63

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

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

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

    
90
            }
91
        });
92

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

    
97

    
98

    
99
//
100

    
101

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

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

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

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

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

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

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

    
170
             }
171
        });
172

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

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

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

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

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

    
228

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

    
235
        return composite;
236
    }
237

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

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

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

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

    
268

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

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

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

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

    
299
        return true;
300
    }
301

    
302
}
(3-3/12)