Project

General

Profile

Download (8.72 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

    
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.PreferencePredicate;
24
import eu.etaxonomy.taxeditor.l10n.Messages;
25
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
26
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
27
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
28
import eu.etaxonomy.taxeditor.store.CdmStore;
29
import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
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
    Composite child ;
45

    
46
    @Override
47
    protected Control createContents(Composite parent) {
48

    
49
        Composite composite = new Composite(parent, SWT.NULL);
50
        composite.setLayout(new GridLayout());
51
        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
52
        if (pref != null){
53
            isEditorActivated = Boolean.valueOf(pref.getValue());
54
            allowOverride = pref.isAllowOverride();
55
        }else{
56
            isEditorActivated = false;
57
        }
58

    
59
        final Button activateCheckButton = new Button(composite, SWT.CHECK);
60
        activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
61
        activateCheckButton.setSelection(isEditorActivated);
62
        activateCheckButton.addSelectionListener(new SelectionAdapter(){
63
            @Override
64
            public void widgetSelected(SelectionEvent e) {
65
                isEditorActivated = activateCheckButton.getSelection();
66

    
67
                if(isEditorActivated){
68
                    child.setVisible(true);
69
                    child.setEnabled(true);
70
                }else{
71
                    child.setVisible(false);
72
                    child.setEnabled(false);
73
                }
74

    
75
            }
76
        });
77
        final Button allowOverrideCheckButton = new Button(composite, SWT.CHECK);
78
        allowOverrideCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
79
        allowOverrideCheckButton.setSelection(allowOverride);
80
        allowOverrideCheckButton.addSelectionListener(new SelectionAdapter(){
81
            @Override
82
            public void widgetSelected(SelectionEvent e) {
83
                allowOverride = allowOverrideCheckButton.getSelection();
84

    
85
            }
86
        });
87

    
88
        child  = new Composite(composite, SWT.NULL);
89
        child.setLayout(new GridLayout());
90
        child.setVisible(isEditorActivated);
91

    
92

    
93

    
94
        final CLabel label = new CLabel(child, SWT.NULL);
95
        label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
96

    
97

    
98

    
99
        final CommandHandlerButton button_openWizard = new CommandHandlerButton(child, SWT.PUSH,
100
                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
101

    
102
        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
103

    
104
//        Table table = new Table
105

    
106
        final Button showIdInVocabulary = new Button(child, SWT.CHECK);
107
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowIdInVocabulary);
108
        if (pref != null){
109
            isShowIdInVocabulary = Boolean.valueOf(pref.getValue());
110
        }else{
111
            isShowIdInVocabulary = false;
112
        }
113
        showIdInVocabulary.setText(Messages.ChecklistEditorGeneralPreference_show_id_in_voc);
114
        showIdInVocabulary.setSelection(isShowIdInVocabulary);
115
        showIdInVocabulary.addSelectionListener(new SelectionAdapter(){
116
            @Override
117
            public void widgetSelected(SelectionEvent e) {
118
                isShowIdInVocabulary = showIdInVocabulary.getSelection();
119

    
120
             }
121
        });
122

    
123
        final Button showSymbol = new Button(child, SWT.CHECK);
124
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol);
125
        if (pref != null){
126
            isShowSymbol = Boolean.valueOf(pref.getValue());
127
        }else{
128
            isShowSymbol = false;
129
        }
130

    
131
        showSymbol.setText(Messages.ChecklistEditorGeneralPreference_show_symbol);
132
        showSymbol.setSelection(isShowSymbol);
133
        showSymbol.addSelectionListener(new SelectionAdapter(){
134
            @Override
135
            public void widgetSelected(SelectionEvent e) {
136
                isShowSymbol = showSymbol.getSelection();
137
             }
138
        });
139
//        PreferencesUtil.recursiveSetEnabled(button_openWizard, CdmStore.isActive());
140
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowRankInDistributionEditor);
141
        if (pref != null){
142
            isShowRank = Boolean.valueOf(pref.getValue());
143
        }else{
144
            isShowRank = false;
145
        }
146

    
147
        final Button activateRankButton = new Button(child, SWT.CHECK);
148
        activateRankButton.setText(Messages.ChecklistEditorGeneralPreference_show_rank);
149
        activateRankButton.setSelection(isShowRank);
150
        activateRankButton.addSelectionListener(new SelectionAdapter(){
151
            @Override
152
            public void widgetSelected(SelectionEvent e) {
153
                isShowRank = activateRankButton.getSelection();
154
            }
155
        });
156
        final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
157

    
158
        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AreasSortedByIdInVocabulary);
159
        if (pref != null){
160
            isSortByVocabularyOrder = Boolean.valueOf(pref.getValue());
161
        }else{
162
            isSortByVocabularyOrder = false;
163
        }
164

    
165
        sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
166
        sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
167
        sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
168
            @Override
169
            public void widgetSelected(SelectionEvent e) {
170
                isSortByVocabularyOrder = sortNamedAreaByVocabularyOrder.getSelection();
171
             }
172
        });
173

    
174
        if(isEditorActivated){
175
            child.setEnabled(true);
176
        }else{
177
            child.setEnabled(false);
178
        }
179

    
180
        return composite;
181
    }
182

    
183
    @Override
184
    public boolean performOk() {
185
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
186
        if (controller == null){
187
            return false;
188
        }
189
        IPreferenceService service = controller.getPreferenceService();
190

    
191
        CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated));
192
        //ToDo
193
        pref.setAllowOverride(allowOverride);
194
        service.set(pref);
195

    
196
        pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowIdInVocabulary, Boolean.toString(isShowIdInVocabulary));
197
        //ToDo
198
        pref.setAllowOverride(true);
199
        service.set(pref);
200

    
201
        pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowSymbol, Boolean.toString(isShowSymbol));
202
        //ToDo
203
        pref.setAllowOverride(true);
204
        service.set(pref);
205

    
206
        pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank));
207
        //ToDo
208
        pref.setAllowOverride(true);
209
        service.set(pref);
210
        pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.AreasSortedByIdInVocabulary, Boolean.toString(isSortByVocabularyOrder));
211
        //ToDo
212
        pref.setAllowOverride(true);
213
        service.set(pref);
214

    
215
        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated);
216
        PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
217
        PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
218
        PreferencesUtil.setShowSymbolInChecklistEditor(isShowSymbol);
219
        PreferencesUtil.setShowIdInVocabularyInChecklistEditor(isShowIdInVocabulary);
220
        return true;
221
    }
222

    
223
}
(3-3/10)