Project

General

Profile

Download (18.6 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
2

    
3

    
4
import org.eclipse.swt.SWT;
5
import org.eclipse.swt.custom.CLabel;
6
import org.eclipse.swt.events.SelectionAdapter;
7
import org.eclipse.swt.events.SelectionEvent;
8
import org.eclipse.swt.layout.GridData;
9
import org.eclipse.swt.layout.GridLayout;
10
import org.eclipse.swt.widgets.Button;
11
import org.eclipse.swt.widgets.Composite;
12
import org.eclipse.swt.widgets.Control;
13
import org.eclipse.swt.widgets.Label;
14

    
15
import eu.etaxonomy.cdm.api.application.ICdmRepository;
16
import eu.etaxonomy.cdm.api.service.IPreferenceService;
17
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
18
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
19
import eu.etaxonomy.taxeditor.l10n.Messages;
20
import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
21
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
22
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
23
import eu.etaxonomy.taxeditor.store.CdmStore;
24

    
25

    
26
public class NameDetailsViewConfiguration extends CdmPreferencePage implements IE4AdminPreferencePage{
27

    
28
    boolean isSimpleDetailsViewActivated;
29

    
30
    boolean isAllowOverride;
31
    boolean isShowTaxon;
32
    boolean isSecDetailsActivated;
33
    boolean isSecEnabled;
34
    boolean isShowLSID;
35
    boolean isShowNomenclaturalCode;
36
    boolean isShowNameCache;
37
    boolean isShowAppendedPhrase;
38
    boolean isShowRank;
39
    boolean isShowEpithets;
40
    boolean isShowAuthorCache;
41
    boolean isShowAuthorship;
42
    boolean isShowNomenclaturalRef;
43
    boolean isShowNomenclaturalStatus;
44
    boolean isShowProtologue;
45
    boolean isShowTypeDesignation;
46
    boolean isShowNameRelationship;
47
    boolean isShowHybrid;
48
    boolean isShowNameApprobiation;
49
    private NameDetailsConfigurator nameDetailsConfig = null;
50

    
51
    @Override
52
    protected Control createContents(Composite parent) {
53
        final CLabel description = new CLabel(parent, SWT.NULL);
54
        description.setText(Messages.NameDetailsViewConfiguration_description);
55
        nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(false);
56
        if (nameDetailsConfig == null){
57
            nameDetailsConfig = new NameDetailsConfigurator(false);
58
        }
59

    
60
        final Button activateCheckButton = new Button(parent, SWT.CHECK);
61
        final Button allowLocalPreference = new Button(parent, SWT.CHECK);
62
        Composite dbSettings  = new Composite(parent, SWT.NONE);
63

    
64
        activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
65
        activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
66
        isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
67
        activateCheckButton.setSelection(isSimpleDetailsViewActivated);
68
        activateCheckButton.addSelectionListener(new SelectionAdapter(){
69
            @Override
70
            public void widgetSelected(SelectionEvent e) {
71
                isSimpleDetailsViewActivated = activateCheckButton.getSelection();
72
               //
73
                if(isSimpleDetailsViewActivated){
74
                    dbSettings.setVisible(true);
75
                    dbSettings.setEnabled(true);
76
                }else{
77
                    dbSettings.setVisible(false);
78
                    dbSettings.setEnabled(false);
79
                }
80
             }
81
         });
82

    
83

    
84
//      boolean isUseLocalPreference = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS);
85
        allowLocalPreference.setText(Messages.DatabasePreferencesPage_UseLocalPreferences);
86
        isAllowOverride = nameDetailsConfig.isAllowOverride();
87
        allowLocalPreference.setSelection(isAllowOverride);
88
        allowLocalPreference.addSelectionListener(new SelectionAdapter(){
89
            @Override
90
            public void widgetSelected(SelectionEvent e) {
91
                isAllowOverride = allowLocalPreference.getSelection();
92

    
93
            }
94
        });
95

    
96
        dbSettings.setLayout(new GridLayout());
97
        dbSettings.setVisible(isSimpleDetailsViewActivated);
98
//       Table table = new Table(dbSettings,SWT.BORDER | SWT.CHECK);
99
//       TableColumn tableColumnValue = new TableColumn(table, SWT.CENTER);
100
//
101
//       TableColumn tableColumnAllowOverride = new TableColumn(table, SWT.CENTER);
102

    
103

    
104
        Label separator= new Label(dbSettings, SWT.HORIZONTAL | SWT.SEPARATOR);
105
        separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
106
        final Button showTaxon = new Button(dbSettings, SWT.CHECK);
107
        showTaxon.setText(Messages.NameDetailsViewComposite_Show_Taxon);
108
        isShowTaxon = nameDetailsConfig.isTaxonSectionActivated();
109
        showTaxon.setSelection(isShowTaxon);
110
        showTaxon.addSelectionListener(new SelectionAdapter(){
111
             @Override
112
             public void widgetSelected(SelectionEvent e) {
113
                 isShowTaxon = showTaxon.getSelection();
114

    
115
              }
116
         });
117

    
118
        final Button showSecDetail = new Button(dbSettings, SWT.CHECK);
119
        showSecDetail.setText(Messages.NameDetailsViewComposite_Show_SecDetail);
120
        isSecDetailsActivated = nameDetailsConfig.isSecDetailsActivated();
121
        showSecDetail.setSelection(isSecDetailsActivated);
122
        showSecDetail.addSelectionListener(new SelectionAdapter(){
123
             @Override
124
             public void widgetSelected(SelectionEvent e) {
125
                 isSecDetailsActivated = showSecDetail.getSelection();
126

    
127
              }
128
         });
129

    
130
        final Button secEnabled = new Button(dbSettings, SWT.CHECK);
131
        secEnabled.setText(Messages.NameDetailsViewComposite_SecEnabled);
132
        isSecEnabled = nameDetailsConfig.isSecEnabled();
133
        secEnabled.setSelection(isSecEnabled);
134
        secEnabled.addSelectionListener(new SelectionAdapter(){
135
             @Override
136
             public void widgetSelected(SelectionEvent e) {
137
                 isSecEnabled = secEnabled.getSelection();
138

    
139
              }
140
         });
141

    
142

    
143
        final Button showLsid = new Button(dbSettings, SWT.CHECK);
144
        showLsid.setText(Messages.NameDetailsViewComposite_Show_LSID);
145
        isShowLSID = nameDetailsConfig.isLSIDActivated();
146
        showLsid.setSelection(isShowLSID);
147
        showLsid.addSelectionListener(new SelectionAdapter(){
148
             @Override
149
             public void widgetSelected(SelectionEvent e) {
150
                 isShowLSID = showLsid.getSelection();
151

    
152
              }
153
         });
154

    
155
        final Button showNomenclaturalCode = new Button(dbSettings, SWT.CHECK);
156
        showNomenclaturalCode.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalCode);
157
        isShowNomenclaturalCode = nameDetailsConfig.isNomenclaturalCodeActived();
158
        showNomenclaturalCode.setSelection(isShowNomenclaturalCode);
159
        showNomenclaturalCode.addSelectionListener(new SelectionAdapter(){
160
             @Override
161
             public void widgetSelected(SelectionEvent e) {
162
                 isShowNomenclaturalCode = showNomenclaturalCode.getSelection();
163

    
164
              }
165
         });
166

    
167
        final Button showNameCache = new Button(dbSettings, SWT.CHECK);
168
        showNameCache.setText(Messages.NameDetailsViewComposite_Show_NameCache);
169
        isShowNameCache = nameDetailsConfig.isNameCacheActivated();
170
        showNameCache.setSelection(isShowNameCache);
171
        showNameCache.addSelectionListener(new SelectionAdapter(){
172
             @Override
173
             public void widgetSelected(SelectionEvent e) {
174
                isShowNameCache = showNameCache.getSelection();
175

    
176
              }
177
         });
178
        final Button showAppendedPhrase = new Button(dbSettings, SWT.CHECK);
179
        isShowAppendedPhrase= nameDetailsConfig.isAppendedPhraseActivated();
180
        showAppendedPhrase.setText(Messages.NameDetailsViewComposite_Show_AppendedPhrase);
181
        showAppendedPhrase.setSelection(isShowAppendedPhrase);
182
        showAppendedPhrase.addSelectionListener(new SelectionAdapter(){
183
             @Override
184
             public void widgetSelected(SelectionEvent e) {
185
                isShowAppendedPhrase = showAppendedPhrase.getSelection();
186

    
187
              }
188
         });
189

    
190
        final Button showRank = new Button(dbSettings, SWT.CHECK);
191
        isShowRank = nameDetailsConfig.isRankActivated();
192
        showRank.setText(Messages.NameDetailsViewComposite_Show_Rank);
193
        showRank.setSelection(isShowRank);
194
        showRank.addSelectionListener(new SelectionAdapter(){
195
             @Override
196
             public void widgetSelected(SelectionEvent e) {
197
                 isShowRank = showRank.getSelection();
198

    
199
              }
200
         });
201
        final Button showEpithets = new Button(dbSettings, SWT.CHECK);
202
        isShowEpithets = nameDetailsConfig.isAtomisedEpithetsActivated();
203
        showEpithets.setText(Messages.NameDetailsViewComposite_Show_AtomisedEpithets);
204
        showEpithets.setSelection(isShowEpithets);
205
        showEpithets.addSelectionListener(new SelectionAdapter(){
206
             @Override
207
             public void widgetSelected(SelectionEvent e) {
208
                 isShowEpithets = showEpithets.getSelection();
209

    
210
              }
211
         });
212

    
213
        final Button showAuthorCache = new Button(dbSettings, SWT.CHECK);
214
        isShowAuthorCache = nameDetailsConfig.isAuthorCacheActivated();
215
        showAuthorCache.setText(Messages.NameDetailsViewComposite_Show_AuthorCache);
216
        showAuthorCache.setSelection(isShowAuthorCache);
217
        showAuthorCache.addSelectionListener(new SelectionAdapter(){
218
             @Override
219
             public void widgetSelected(SelectionEvent e) {
220
                 isShowAuthorCache = showAuthorCache.getSelection();
221

    
222
              }
223
         });
224

    
225
        final Button showAuthorship = new Button(dbSettings, SWT.CHECK);
226
        isShowAuthorship = nameDetailsConfig.isAuthorshipSectionActivated();
227
        showAuthorship.setText(Messages.NameDetailsViewComposite_Show_Author);
228
        showAuthorship.setSelection(isShowAuthorship);
229
        showAuthorship.addSelectionListener(new SelectionAdapter(){
230
             @Override
231
             public void widgetSelected(SelectionEvent e) {
232
                 isShowAuthorship = showAuthorship.getSelection();
233

    
234
              }
235
         });
236

    
237
        final Button showNomenclaturalRef = new Button(dbSettings, SWT.CHECK);
238
        isShowNomenclaturalRef = nameDetailsConfig.isNomenclaturalReferenceSectionActivated();
239
        showNomenclaturalRef.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalReference);
240
        showNomenclaturalRef.setSelection(isShowNomenclaturalRef);
241
        showNomenclaturalRef.addSelectionListener(new SelectionAdapter(){
242
             @Override
243
             public void widgetSelected(SelectionEvent e) {
244
                 isShowNomenclaturalRef = showNomenclaturalRef.getSelection();
245

    
246
              }
247
         });
248

    
249
        final Button showNomenclaturalStatus = new Button(dbSettings, SWT.CHECK);
250
        isShowNomenclaturalStatus = nameDetailsConfig.isNomenclaturalStatusSectionActivated();
251
        showNomenclaturalStatus.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalStatus);
252
        showNomenclaturalStatus.setSelection(isShowNomenclaturalStatus);
253
        showNomenclaturalStatus.addSelectionListener(new SelectionAdapter(){
254
             @Override
255
             public void widgetSelected(SelectionEvent e) {
256
                 isShowNomenclaturalStatus = showNomenclaturalStatus.getSelection();
257

    
258
              }
259
         });
260

    
261
        final Button showProtologue = new Button(dbSettings, SWT.CHECK);
262
        isShowProtologue = nameDetailsConfig.isProtologueActivated();
263
        showProtologue.setText(Messages.NameDetailsViewComposite_Show_Protologue);
264
        showProtologue.setSelection(isShowProtologue);
265
        showProtologue.addSelectionListener(new SelectionAdapter(){
266
             @Override
267
             public void widgetSelected(SelectionEvent e) {
268
                 isShowProtologue = showProtologue.getSelection();
269

    
270
              }
271
         });
272

    
273
        final Button showTypeDesignation = new Button(dbSettings, SWT.CHECK);
274
        isShowTypeDesignation = nameDetailsConfig.isTypeDesignationSectionActivated();
275
        showTypeDesignation.setText(Messages.NameDetailsViewComposite_Show_TypeDesignation);
276
        showTypeDesignation.setSelection(isShowTypeDesignation);
277
        showTypeDesignation.addSelectionListener(new SelectionAdapter(){
278
             @Override
279
             public void widgetSelected(SelectionEvent e) {
280
                 isShowTypeDesignation = showTypeDesignation.getSelection();
281

    
282
              }
283
         });
284

    
285

    
286
        final Button showNameRelationship = new Button(dbSettings, SWT.CHECK);
287
        isShowNameRelationship = nameDetailsConfig.isNameRelationsSectionActivated();
288
        showNameRelationship.setText(Messages.NameDetailsViewComposite_Show_Namerelationships);
289
        showNameRelationship.setSelection(isShowNameRelationship);
290
        showNameRelationship.addSelectionListener(new SelectionAdapter(){
291
             @Override
292
             public void widgetSelected(SelectionEvent e) {
293
                 isShowNameRelationship = showNameRelationship.getSelection();
294

    
295
              }
296
         });
297

    
298
        final Button showHybrid = new Button(dbSettings, SWT.CHECK);
299
        isShowHybrid = nameDetailsConfig.isHybridActivated();
300
        showHybrid.setText(Messages.NameDetailsViewComposite_Show_Hybrid);
301
        showHybrid.setSelection(isShowHybrid);
302
        showHybrid.addSelectionListener(new SelectionAdapter(){
303
             @Override
304
             public void widgetSelected(SelectionEvent e) {
305
                 isShowHybrid = showHybrid.getSelection();
306

    
307
              }
308
         });
309
        final Button showNameApprobiation = new Button(dbSettings, SWT.CHECK);
310
        isShowNameApprobiation = nameDetailsConfig.isNameApprobiationActivated();
311
        showNameApprobiation.setText(Messages.NameDetailsViewComposite_Show_NameApprobiation);
312
        showNameApprobiation.setSelection(isShowNameApprobiation);
313
        showNameApprobiation.addSelectionListener(new SelectionAdapter(){
314
             @Override
315
             public void widgetSelected(SelectionEvent e) {
316
                 isShowNameApprobiation = showNameApprobiation.getSelection();
317
                //PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
318
              }
319
         });
320

    
321

    
322

    
323

    
324
        return dbSettings;
325
	}
326

    
327
    /**
328
    *
329
    */
330
   protected NameDetailsConfigurator createNameDetailsViewConfig() {
331
       NameDetailsConfigurator config = new NameDetailsConfigurator(isSimpleDetailsViewActivated);
332

    
333
      config.setAppendedPhraseActivated(isShowAppendedPhrase);
334
      config.setAtomisedEpithetsActivated(isShowEpithets);
335
      config.setAuthorshipSectionActivated(isShowAuthorship);
336
      config.setAuthorCacheActivated(isShowAuthorCache);
337
      config.setLSIDActivated(isShowLSID);
338
      config.setNameApprobiationActivated(isShowNameApprobiation);
339
      config.setNameCacheActivated(isShowNameCache);
340
      config.setNameRelationsSectionActivated(isShowNameRelationship);
341
      config.setNomenclaturalCodeActived(isShowNomenclaturalCode);
342
      config.setNomenclaturalStatusSectionActivated(isShowNomenclaturalStatus);
343
      config.setNomenclaturalReferenceSectionActivated(isShowNomenclaturalRef);
344
      config.setProtologueActivated(isShowProtologue);
345
      config.setRankActivated(isShowRank);
346
      config.setTaxonSectionActivated(isShowTaxon);
347
      config.setSecDetailsActivated(isSecDetailsActivated);
348
      config.setSecEnabled(isSecEnabled);
349
      config.setTypeDesignationSectionActivated(isShowTypeDesignation);
350
      config.setHybridActivated(isShowHybrid);
351

    
352

    
353
      return config;
354
   }
355

    
356

    
357
    @Override
358
    public boolean performOk() {
359
        if (nameDetailsConfig == null){
360
            return true;
361
        }
362
        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
363
        if (controller == null){
364
            return false;
365
        }
366
        IPreferenceService service = controller.getPreferenceService();
367
        NameDetailsConfigurator config = createNameDetailsViewConfig();
368
        String value = config.toString();
369
//        boolean allowOverride = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS);
370

    
371
        CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.NameDetailsView, value);
372
        pref.setAllowOverride(isAllowOverride);
373
        service.set(pref);
374
        PreferencesUtil.saveConfigToPrefernceStore(config);
375
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_TAXON, isShowTaxon);
376
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_SEC_DETAILS, isSecDetailsActivated);
377
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.DISABLE_SEC, isSecEnabled);
378
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_LSID, isShowLSID);
379
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE, isShowNomenclaturalCode);
380
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE, isShowNameCache);
381
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE, isShowAppendedPhrase);
382
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_RANK, isShowRank);
383
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, isShowEpithets);
384
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, isShowAuthorship);
385
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP_CACHE, isShowAuthorCache);
386
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE, isShowNomenclaturalRef);
387
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS, isShowNomenclaturalStatus);
388
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, isShowProtologue);
389
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, isShowTypeDesignation);
390
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP, isShowNameRelationship);
391
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_HYBRID, isShowHybrid);
392
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS, isAllowOverride);
393
//        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION, isSimpleDetailsViewActivated);
394
        return true;
395
    }
396

    
397
}
(9-9/13)