Project

General

Profile

Download (18.1 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.preference;
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.model.metadata.CdmPreference;
16
import eu.etaxonomy.taxeditor.l10n.Messages;
17
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
18

    
19

    
20
public class NameDetailsViewConfiguration extends CdmPreferencePage {
21

    
22
    protected boolean isSimpleDetailsViewActivated;
23
	boolean isUseLocalSettings;
24
	protected NameDetailsConfigurator nameDetailsConfig;
25
    Composite localSettings ;
26

    
27

    
28
    protected boolean isShowTaxon;
29
    protected boolean isShowNameApprobiation ;
30
    protected boolean isShowHybrid;
31
    protected boolean isShowNameRelationship;
32
    protected boolean isShowTypeDesignation;
33
    protected boolean isShowProtologue;
34
    protected boolean isShowNomenclaturalStatus;
35
    protected boolean isShowNomenclaturalRef;
36
    protected boolean isShowAuthorship;
37
    protected boolean isShowAuthorCache;
38
    protected boolean isShowEpithets;
39
    protected boolean isShowRank;
40
    protected boolean isShowAppendedPhrase;
41
    protected boolean isShowNameCache;
42
    protected boolean isShowNomenclaturalCode;
43
    protected boolean isShowLSID;
44
    protected boolean isSecEnabled;
45
    protected boolean isSecDetailsActivated;
46

    
47
    protected boolean isAllowOverride;
48
    private boolean isOverride;
49

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

    
53
        if (isAllowOverride || isAdminPreference ){
54

    
55
            final CLabel description = new CLabel(parent, SWT.NULL);
56
            description.setText(Messages.NameDetailsViewConfiguration_description);
57

    
58
            Composite title  = createComposite(parent);
59
            nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(!isAdminPreference);
60
            if (nameDetailsConfig == null){
61
                nameDetailsConfig = new NameDetailsConfigurator(false);
62
            }
63

    
64
            final Button activateCheckButton = new Button(title, SWT.CHECK);
65
            final Button allowLocalPreference = createAllowOverrideButton(title);
66
            Composite dbSettings  = new Composite(parent, SWT.NONE);
67

    
68
            activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
69
            activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
70
            isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
71
            activateCheckButton.setSelection(isSimpleDetailsViewActivated);
72
            activateCheckButton.addSelectionListener(new SelectionAdapter(){
73
                @Override
74
                public void widgetSelected(SelectionEvent e) {
75
                    setApply(true);
76
                    isSimpleDetailsViewActivated = activateCheckButton.getSelection();
77

    
78
                    dbSettings.setEnabled(isSimpleDetailsViewActivated);
79
                    PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
80
                 }
81
             });
82

    
83
            if (isAdminPreference){
84
                allowLocalPreference.setSelection(isAllowOverride);
85
            }else{
86
                allowLocalPreference.setSelection(isOverride);
87
            }
88
            allowLocalPreference.addSelectionListener(new SelectionAdapter(){
89
                @Override
90
                public void widgetSelected(SelectionEvent e) {
91
                    setApply(true);
92
                    if (isAdminPreference){
93
                        isAllowOverride = allowLocalPreference.getSelection();
94
                    }else{
95
                        isOverride = allowLocalPreference.getSelection();
96
                    }
97

    
98
                }
99
            });
100

    
101
            dbSettings.setLayout(new GridLayout());
102
            dbSettings.setEnabled(isSimpleDetailsViewActivated);
103

    
104

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

    
117
                  }
118
             });
119

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

    
130
                  }
131
             });
132

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

    
143
                  }
144
             });
145

    
146

    
147
            final Button showLsid = new Button(dbSettings, SWT.CHECK);
148
            showLsid.setText(Messages.NameDetailsViewComposite_Show_LSID);
149
            isShowLSID = nameDetailsConfig.isLSIDActivated();
150
            showLsid.setSelection(isShowLSID);
151
            showLsid.addSelectionListener(new SelectionAdapter(){
152
                 @Override
153
                 public void widgetSelected(SelectionEvent e) {
154
                     setApply(true);
155
                     isShowLSID = showLsid.getSelection();
156

    
157
                  }
158
             });
159

    
160
            final Button showNomenclaturalCode = new Button(dbSettings, SWT.CHECK);
161
            showNomenclaturalCode.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalCode);
162
            isShowNomenclaturalCode = nameDetailsConfig.isNomenclaturalCodeActived();
163
            showNomenclaturalCode.setSelection(isShowNomenclaturalCode);
164
            showNomenclaturalCode.addSelectionListener(new SelectionAdapter(){
165
                 @Override
166
                 public void widgetSelected(SelectionEvent e) {
167
                     setApply(true);
168
                     isShowNomenclaturalCode = showNomenclaturalCode.getSelection();
169

    
170
                  }
171
             });
172

    
173
            final Button showNameCache = new Button(dbSettings, SWT.CHECK);
174
            showNameCache.setText(Messages.NameDetailsViewComposite_Show_NameCache);
175
            isShowNameCache = nameDetailsConfig.isNameCacheActivated();
176
            showNameCache.setSelection(isShowNameCache);
177
            showNameCache.addSelectionListener(new SelectionAdapter(){
178
                 @Override
179
                 public void widgetSelected(SelectionEvent e) {
180
                     setApply(true);
181
                     isShowNameCache = showNameCache.getSelection();
182
                  }
183
             });
184
            final Button showAppendedPhrase = new Button(dbSettings, SWT.CHECK);
185
            isShowAppendedPhrase= nameDetailsConfig.isAppendedPhraseActivated();
186
            showAppendedPhrase.setText(Messages.NameDetailsViewComposite_Show_AppendedPhrase);
187
            showAppendedPhrase.setSelection(isShowAppendedPhrase);
188
            showAppendedPhrase.addSelectionListener(new SelectionAdapter(){
189
                 @Override
190
                 public void widgetSelected(SelectionEvent e) {
191
                     setApply(true);
192
                     isShowAppendedPhrase = showAppendedPhrase.getSelection();
193
                  }
194
             });
195

    
196
            final Button showRank = new Button(dbSettings, SWT.CHECK);
197
            isShowRank = nameDetailsConfig.isRankActivated();
198
            showRank.setText(Messages.NameDetailsViewComposite_Show_Rank);
199
            showRank.setSelection(isShowRank);
200
            showRank.addSelectionListener(new SelectionAdapter(){
201
                 @Override
202
                 public void widgetSelected(SelectionEvent e) {
203
                     setApply(true);
204
                     isShowRank = showRank.getSelection();
205
                  }
206
             });
207
            final Button showEpithets = new Button(dbSettings, SWT.CHECK);
208
            isShowEpithets = nameDetailsConfig.isAtomisedEpithetsActivated();
209
            showEpithets.setText(Messages.NameDetailsViewComposite_Show_AtomisedEpithets);
210
            showEpithets.setSelection(isShowEpithets);
211
            showEpithets.addSelectionListener(new SelectionAdapter(){
212
                 @Override
213
                 public void widgetSelected(SelectionEvent e) {
214
                     setApply(true);
215
                     isShowEpithets = showEpithets.getSelection();
216
                  }
217
             });
218

    
219
            final Button showAuthorCache = new Button(dbSettings, SWT.CHECK);
220
            isShowAuthorCache = nameDetailsConfig.isAuthorCacheActivated();
221
            showAuthorCache.setText(Messages.NameDetailsViewComposite_Show_AuthorCache);
222
            showAuthorCache.setSelection(isShowAuthorCache);
223
            showAuthorCache.addSelectionListener(new SelectionAdapter(){
224
                 @Override
225
                 public void widgetSelected(SelectionEvent e) {
226
                     setApply(true);
227
                     isShowAuthorCache = showAuthorCache.getSelection();
228
                  }
229
             });
230

    
231
            final Button showAuthorship = new Button(dbSettings, SWT.CHECK);
232
            isShowAuthorship = nameDetailsConfig.isAuthorshipSectionActivated();
233
            showAuthorship.setText(Messages.NameDetailsViewComposite_Show_Author);
234
            showAuthorship.setSelection(isShowAuthorship);
235
            showAuthorship.addSelectionListener(new SelectionAdapter(){
236
                 @Override
237
                 public void widgetSelected(SelectionEvent e) {
238
                     setApply(true);
239
                     isShowAuthorship = showAuthorship.getSelection();
240
                  }
241
             });
242

    
243
            final Button showNomenclaturalRef = new Button(dbSettings, SWT.CHECK);
244
            isShowNomenclaturalRef = nameDetailsConfig.isNomenclaturalReferenceSectionActivated();
245
            showNomenclaturalRef.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalReference);
246
            showNomenclaturalRef.setSelection(isShowNomenclaturalRef);
247
            showNomenclaturalRef.addSelectionListener(new SelectionAdapter(){
248
                 @Override
249
                 public void widgetSelected(SelectionEvent e) {
250
                     setApply(true);
251
                     isShowNomenclaturalRef = showNomenclaturalRef.getSelection();
252
                  }
253
             });
254

    
255
            final Button showNomenclaturalStatus = new Button(dbSettings, SWT.CHECK);
256
            isShowNomenclaturalStatus = nameDetailsConfig.isNomenclaturalStatusSectionActivated();
257
            showNomenclaturalStatus.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalStatus);
258
            showNomenclaturalStatus.setSelection(isShowNomenclaturalStatus);
259
            showNomenclaturalStatus.addSelectionListener(new SelectionAdapter(){
260
                 @Override
261
                 public void widgetSelected(SelectionEvent e) {
262
                     setApply(true);
263
                     isShowNomenclaturalStatus = showNomenclaturalStatus.getSelection();
264
                  }
265
             });
266

    
267
            final Button showProtologue = new Button(dbSettings, SWT.CHECK);
268
            isShowProtologue = nameDetailsConfig.isProtologueActivated();
269
            showProtologue.setText(Messages.NameDetailsViewComposite_Show_Protologue);
270
            showProtologue.setSelection(isShowProtologue);
271
            showProtologue.addSelectionListener(new SelectionAdapter(){
272
                 @Override
273
                 public void widgetSelected(SelectionEvent e) {
274
                     setApply(true);
275
                     isShowProtologue = showProtologue.getSelection();
276
                  }
277
             });
278

    
279
            final Button showTypeDesignation = new Button(dbSettings, SWT.CHECK);
280
            isShowTypeDesignation = nameDetailsConfig.isTypeDesignationSectionActivated();
281
            showTypeDesignation.setText(Messages.NameDetailsViewComposite_Show_TypeDesignation);
282
            showTypeDesignation.setSelection(isShowTypeDesignation);
283
            showTypeDesignation.addSelectionListener(new SelectionAdapter(){
284
                 @Override
285
                 public void widgetSelected(SelectionEvent e) {
286
                     setApply(true);
287
                     isShowTypeDesignation = showTypeDesignation.getSelection();
288
                  }
289
             });
290

    
291

    
292
            final Button showNameRelationship = new Button(dbSettings, SWT.CHECK);
293
            isShowNameRelationship = nameDetailsConfig.isNameRelationsSectionActivated();
294
            showNameRelationship.setText(Messages.NameDetailsViewComposite_Show_Namerelationships);
295
            showNameRelationship.setSelection(isShowNameRelationship);
296
            showNameRelationship.addSelectionListener(new SelectionAdapter(){
297
                 @Override
298
                 public void widgetSelected(SelectionEvent e) {
299
                     setApply(true);
300
                     isShowNameRelationship = showNameRelationship.getSelection();
301
                  }
302
             });
303

    
304
            final Button showHybrid = new Button(dbSettings, SWT.CHECK);
305
            isShowHybrid = nameDetailsConfig.isHybridActivated();
306
            showHybrid.setText(Messages.NameDetailsViewComposite_Show_Hybrid);
307
            showHybrid.setSelection(isShowHybrid);
308
            showHybrid.addSelectionListener(new SelectionAdapter(){
309
                 @Override
310
                 public void widgetSelected(SelectionEvent e) {
311
                     setApply(true);
312
                     isShowHybrid = showHybrid.getSelection();
313
                  }
314
             });
315
            final Button showNameApprobiation = new Button(dbSettings, SWT.CHECK);
316
            isShowNameApprobiation = nameDetailsConfig.isNameApprobiationActivated();
317
            showNameApprobiation.setText(Messages.NameDetailsViewComposite_Show_NameApprobiation);
318
            showNameApprobiation.setSelection(isShowNameApprobiation);
319
            showNameApprobiation.addSelectionListener(new SelectionAdapter(){
320
                 @Override
321
                 public void widgetSelected(SelectionEvent e) {
322
                     setApply(true);
323
                     isShowNameApprobiation = showNameApprobiation.getSelection();
324
                  }
325
             });
326
            PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
327
        }else{
328
            final CLabel description = new CLabel(parent, SWT.NULL);
329
            description.setText(Messages.NameDetailsViewConfiguration_description_not_available);
330
        }
331

    
332

    
333

    
334

    
335
        return parent;
336
	}
337

    
338
    @Override
339
    public boolean performOk() {
340
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_TAXON, isShowTaxon);
341
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_SEC_DETAILS, isSecDetailsActivated);
342
        PreferencesUtil.setBooleanValue(IPreferenceKeys.DISABLE_SEC, isSecEnabled);
343
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION, isSimpleDetailsViewActivated);
344
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
345
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_HYBRID, isShowHybrid);
346
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP, isShowNameRelationship);
347
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, isShowTypeDesignation);
348
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, isShowProtologue);
349
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS, isShowNomenclaturalStatus);
350
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE, isShowNomenclaturalRef);
351
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, isShowAuthorship);
352
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP_CACHE, isShowAuthorCache);
353
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, isShowEpithets);
354
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_RANK, isShowRank);
355
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE, isShowAppendedPhrase);
356
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE, isShowNameCache);
357
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE, isShowNomenclaturalCode);
358
        PreferencesUtil.setBooleanValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_LSID, isShowLSID);
359

    
360
        PreferencesUtil.setBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS, isOverride);
361
        return true;
362

    
363
    }
364

    
365
    @Override
366
    public void init(){
367
        CdmPreference nameDetailsPref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.NameDetailsView);
368
        isAdminPreference = false;
369
        isAllowOverride = true;
370
        if (nameDetailsPref != null){
371
            isAllowOverride = nameDetailsPref.isAllowOverride();
372
        }
373
        isOverride = PreferencesUtil.getBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS);
374
    }
375

    
376
}
(22-22/40)