Project

General

Profile

Download (12.2 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
    private boolean isEditorActivated;
39
    private boolean allowOverride;
40
    private boolean isShowRank;
41
    private boolean isSortByVocabularyOrder;
42
    private boolean isShowSymbol;
43
    private boolean isShowIdInVocabulary;
44
    private boolean isShowSymbol1;
45
    private boolean isShowSymbol2;
46
    private boolean isShowTitle;
47
    private String displayString;
48
    private Composite child ;
49
    private 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"); //$NON-NLS-1$
62
            isEditorActivated = false;
63
            allowOverride = true;
64
        }
65

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

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

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

    
92
            }
93
        });
94

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

    
99

    
100

    
101
//
102

    
103

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

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

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

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

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

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

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

    
172
             }
173
        });
174

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

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

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

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

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

    
230

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

    
237
        return composite;
238
    }
239

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

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

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

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

    
270

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

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

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

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

    
301
        return true;
302
    }
303

    
304
}
(3-3/12)