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
    private Button showSecDetail;
50
    private Button secEnabled;
51

    
52
    @Override
53
    protected Control createContents(Composite parent) {
54

    
55
        if (isAllowOverride || isAdminPreference ){
56

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

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

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

    
70
            activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
71
            activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
72
            isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
73
            activateCheckButton.setSelection(isSimpleDetailsViewActivated);
74
            activateCheckButton.addSelectionListener(new SelectionAdapter(){
75
                @Override
76
                public void widgetSelected(SelectionEvent e) {
77
                    setApply(true);
78
                    isSimpleDetailsViewActivated = activateCheckButton.getSelection();
79
                    nameDetailsConfig.setSimpleDetailsViewActivated(isSimpleDetailsViewActivated);
80
                    dbSettings.setEnabled(isSimpleDetailsViewActivated);
81
                    PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
82
                    showSecDetail.setEnabled(isShowTaxon);
83
                    secEnabled.setEnabled(isShowTaxon);
84
                 }
85
             });
86

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

    
102
                }
103
            });
104

    
105
            dbSettings.setLayout(new GridLayout());
106
            dbSettings.setEnabled(isSimpleDetailsViewActivated);
107

    
108

    
109
            Label separator= new Label(dbSettings, SWT.HORIZONTAL | SWT.SEPARATOR);
110
            separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
111
            final Button showTaxon = new Button(dbSettings, SWT.CHECK);
112
            showTaxon.setText(Messages.NameDetailsViewComposite_Show_Taxon);
113
            isShowTaxon = nameDetailsConfig.isTaxonSectionActivated();
114
            showTaxon.setSelection(isShowTaxon);
115
            showTaxon.addSelectionListener(new SelectionAdapter(){
116
                 @Override
117
                 public void widgetSelected(SelectionEvent e) {
118
                     setApply(true);
119
                     isShowTaxon = showTaxon.getSelection();
120
                     nameDetailsConfig.setTaxonSectionActivated(isShowTaxon);
121
                     showSecDetail.setEnabled(isShowTaxon);
122
                     secEnabled.setEnabled(isShowTaxon);
123
                  }
124
             });
125

    
126
            showSecDetail = new Button(dbSettings, SWT.CHECK);
127
            showSecDetail.setText(Messages.NameDetailsViewComposite_Show_SecDetail);
128

    
129
            isSecDetailsActivated = nameDetailsConfig.isSecDetailsActivated();
130
            showSecDetail.setSelection(isSecDetailsActivated);
131
            showSecDetail.addSelectionListener(new SelectionAdapter(){
132
                 @Override
133
                 public void widgetSelected(SelectionEvent e) {
134
                     setApply(true);
135
                     isSecDetailsActivated = showSecDetail.getSelection();
136
                     nameDetailsConfig.setSecDetailsActivated(isSecDetailsActivated);
137
                  }
138
             });
139

    
140
            secEnabled = new Button(dbSettings, SWT.CHECK);
141
            secEnabled.setText(Messages.NameDetailsViewComposite_SecEnabled);
142

    
143
            isSecEnabled = nameDetailsConfig.isSecEnabled();
144
            secEnabled.setSelection(isSecEnabled);
145
            secEnabled.addSelectionListener(new SelectionAdapter(){
146
                 @Override
147
                 public void widgetSelected(SelectionEvent e) {
148
                     setApply(true);
149
                     isSecEnabled = secEnabled.getSelection();
150
                     nameDetailsConfig.setSecEnabled(isSecEnabled);
151
                  }
152
             });
153

    
154

    
155
            final Button showLsid = new Button(dbSettings, SWT.CHECK);
156
            showLsid.setText(Messages.NameDetailsViewComposite_Show_LSID);
157
            isShowLSID = nameDetailsConfig.isLSIDActivated();
158
            showLsid.setSelection(isShowLSID);
159
            showLsid.addSelectionListener(new SelectionAdapter(){
160
                 @Override
161
                 public void widgetSelected(SelectionEvent e) {
162
                     setApply(true);
163
                     isShowLSID = showLsid.getSelection();
164
                     nameDetailsConfig.setLSIDActivated(isShowLSID);
165
                  }
166
             });
167

    
168
            final Button showNomenclaturalCode = new Button(dbSettings, SWT.CHECK);
169
            showNomenclaturalCode.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalCode);
170
            isShowNomenclaturalCode = nameDetailsConfig.isNomenclaturalCodeActived();
171
            showNomenclaturalCode.setSelection(isShowNomenclaturalCode);
172
            showNomenclaturalCode.addSelectionListener(new SelectionAdapter(){
173
                 @Override
174
                 public void widgetSelected(SelectionEvent e) {
175
                     setApply(true);
176
                     isShowNomenclaturalCode = showNomenclaturalCode.getSelection();
177
                     nameDetailsConfig.setNomenclaturalCodeActived(isShowNomenclaturalCode);
178
                  }
179
             });
180

    
181
            final Button showNameCache = new Button(dbSettings, SWT.CHECK);
182
            showNameCache.setText(Messages.NameDetailsViewComposite_Show_NameCache);
183
            isShowNameCache = nameDetailsConfig.isNameCacheActivated();
184
            showNameCache.setSelection(isShowNameCache);
185
            showNameCache.addSelectionListener(new SelectionAdapter(){
186
                 @Override
187
                 public void widgetSelected(SelectionEvent e) {
188
                     setApply(true);
189
                     isShowNameCache = showNameCache.getSelection();
190
                     nameDetailsConfig.setNameCacheActivated(isShowNameCache);
191
                  }
192
             });
193
            final Button showAppendedPhrase = new Button(dbSettings, SWT.CHECK);
194
            isShowAppendedPhrase= nameDetailsConfig.isAppendedPhraseActivated();
195
            showAppendedPhrase.setText(Messages.NameDetailsViewComposite_Show_AppendedPhrase);
196
            showAppendedPhrase.setSelection(isShowAppendedPhrase);
197
            showAppendedPhrase.addSelectionListener(new SelectionAdapter(){
198
                 @Override
199
                 public void widgetSelected(SelectionEvent e) {
200
                     setApply(true);
201
                     isShowAppendedPhrase = showAppendedPhrase.getSelection();
202
                     nameDetailsConfig.setAppendedPhraseActivated(isShowAppendedPhrase);
203
                  }
204
             });
205

    
206
            final Button showRank = new Button(dbSettings, SWT.CHECK);
207
            isShowRank = nameDetailsConfig.isRankActivated();
208
            showRank.setText(Messages.NameDetailsViewComposite_Show_Rank);
209
            showRank.setSelection(isShowRank);
210
            showRank.addSelectionListener(new SelectionAdapter(){
211
                 @Override
212
                 public void widgetSelected(SelectionEvent e) {
213
                     setApply(true);
214
                     isShowRank = showRank.getSelection();
215
                     nameDetailsConfig.setRankActivated(isShowRank);
216
                  }
217
             });
218
            final Button showEpithets = new Button(dbSettings, SWT.CHECK);
219
            isShowEpithets = nameDetailsConfig.isAtomisedEpithetsActivated();
220
            showEpithets.setText(Messages.NameDetailsViewComposite_Show_AtomisedEpithets);
221
            showEpithets.setSelection(isShowEpithets);
222
            showEpithets.addSelectionListener(new SelectionAdapter(){
223
                 @Override
224
                 public void widgetSelected(SelectionEvent e) {
225
                     setApply(true);
226
                     isShowEpithets = showEpithets.getSelection();
227
                     nameDetailsConfig.setAtomisedEpithetsActivated(isShowEpithets);
228
                  }
229
             });
230

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

    
244
            final Button showAuthorship = new Button(dbSettings, SWT.CHECK);
245
            isShowAuthorship = nameDetailsConfig.isAuthorshipSectionActivated();
246
            showAuthorship.setText(Messages.NameDetailsViewComposite_Show_Author);
247
            showAuthorship.setSelection(isShowAuthorship);
248
            showAuthorship.addSelectionListener(new SelectionAdapter(){
249
                 @Override
250
                 public void widgetSelected(SelectionEvent e) {
251
                     setApply(true);
252
                     isShowAuthorship = showAuthorship.getSelection();
253
                     nameDetailsConfig.setAuthorshipSectionActivated(isShowAuthorship);
254
                  }
255
             });
256

    
257
            final Button showNomenclaturalRef = new Button(dbSettings, SWT.CHECK);
258
            isShowNomenclaturalRef = nameDetailsConfig.isNomenclaturalReferenceSectionActivated();
259
            showNomenclaturalRef.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalReference);
260
            showNomenclaturalRef.setSelection(isShowNomenclaturalRef);
261
            showNomenclaturalRef.addSelectionListener(new SelectionAdapter(){
262
                 @Override
263
                 public void widgetSelected(SelectionEvent e) {
264
                     setApply(true);
265
                     isShowNomenclaturalRef = showNomenclaturalRef.getSelection();
266
                     nameDetailsConfig.setNomenclaturalReferenceSectionActivated(isShowNomenclaturalRef);
267
                  }
268
             });
269

    
270
            final Button showNomenclaturalStatus = new Button(dbSettings, SWT.CHECK);
271
            isShowNomenclaturalStatus = nameDetailsConfig.isNomenclaturalStatusSectionActivated();
272
            showNomenclaturalStatus.setText(Messages.NameDetailsViewComposite_Show_NomenclaturalStatus);
273
            showNomenclaturalStatus.setSelection(isShowNomenclaturalStatus);
274
            showNomenclaturalStatus.addSelectionListener(new SelectionAdapter(){
275
                 @Override
276
                 public void widgetSelected(SelectionEvent e) {
277
                     setApply(true);
278
                     isShowNomenclaturalStatus = showNomenclaturalStatus.getSelection();
279
                     nameDetailsConfig.setNomenclaturalStatusSectionActivated(isShowNomenclaturalStatus);
280
                  }
281
             });
282

    
283
            final Button showProtologue = new Button(dbSettings, SWT.CHECK);
284
            isShowProtologue = nameDetailsConfig.isProtologueActivated();
285
            showProtologue.setText(Messages.NameDetailsViewComposite_Show_Protologue);
286
            showProtologue.setSelection(isShowProtologue);
287
            showProtologue.addSelectionListener(new SelectionAdapter(){
288
                 @Override
289
                 public void widgetSelected(SelectionEvent e) {
290
                     setApply(true);
291
                     isShowProtologue = showProtologue.getSelection();
292
                     nameDetailsConfig.setProtologueActivated(isShowProtologue);
293
                  }
294
             });
295

    
296
            final Button showTypeDesignation = new Button(dbSettings, SWT.CHECK);
297
            isShowTypeDesignation = nameDetailsConfig.isTypeDesignationSectionActivated();
298
            showTypeDesignation.setText(Messages.NameDetailsViewComposite_Show_TypeDesignation);
299
            showTypeDesignation.setSelection(isShowTypeDesignation);
300
            showTypeDesignation.addSelectionListener(new SelectionAdapter(){
301
                 @Override
302
                 public void widgetSelected(SelectionEvent e) {
303
                     setApply(true);
304
                     isShowTypeDesignation = showTypeDesignation.getSelection();
305
                     nameDetailsConfig.setTypeDesignationSectionActivated(isShowTypeDesignation);
306
                  }
307
             });
308

    
309

    
310
            final Button showNameRelationship = new Button(dbSettings, SWT.CHECK);
311
            isShowNameRelationship = nameDetailsConfig.isNameRelationsSectionActivated();
312
            showNameRelationship.setText(Messages.NameDetailsViewComposite_Show_Namerelationships);
313
            showNameRelationship.setSelection(isShowNameRelationship);
314
            showNameRelationship.addSelectionListener(new SelectionAdapter(){
315
                 @Override
316
                 public void widgetSelected(SelectionEvent e) {
317
                     setApply(true);
318
                     isShowNameRelationship = showNameRelationship.getSelection();
319
                     nameDetailsConfig.setNameRelationsSectionActivated(isShowNameRelationship);
320
                  }
321
             });
322

    
323
            final Button showHybrid = new Button(dbSettings, SWT.CHECK);
324
            isShowHybrid = nameDetailsConfig.isHybridActivated();
325
            showHybrid.setText(Messages.NameDetailsViewComposite_Show_Hybrid);
326
            showHybrid.setSelection(isShowHybrid);
327
            showHybrid.addSelectionListener(new SelectionAdapter(){
328
                 @Override
329
                 public void widgetSelected(SelectionEvent e) {
330
                     setApply(true);
331
                     isShowHybrid = showHybrid.getSelection();
332
                     nameDetailsConfig.setHybridActivated(isShowHybrid);
333
                  }
334
             });
335
            final Button showNameApprobiation = new Button(dbSettings, SWT.CHECK);
336
            isShowNameApprobiation = nameDetailsConfig.isNameApprobiationActivated();
337
            showNameApprobiation.setText(Messages.NameDetailsViewComposite_Show_NameApprobiation);
338
            showNameApprobiation.setSelection(isShowNameApprobiation);
339
            showNameApprobiation.addSelectionListener(new SelectionAdapter(){
340
                 @Override
341
                 public void widgetSelected(SelectionEvent e) {
342
                     setApply(true);
343
                     isShowNameApprobiation = showNameApprobiation.getSelection();
344
                     nameDetailsConfig.setNameApprobiationActivated(isShowNameApprobiation);
345
                  }
346
             });
347
            PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
348
            showSecDetail.setEnabled(isShowTaxon);
349
            secEnabled.setEnabled(isShowTaxon);
350
        }else{
351
            final CLabel description = new CLabel(parent, SWT.NULL);
352
            description.setText(Messages.NameDetailsViewConfiguration_description_not_available);
353
        }
354

    
355

    
356

    
357

    
358
        return parent;
359
	}
360

    
361
    @Override
362
    public boolean performOk() {
363
        if (nameDetailsConfig != null){
364
            PreferencesUtil.setStringValue(EditorPreferencePredicate.NameDetailsView.getKey(), nameDetailsConfig.toString());
365
            PreferencesUtil.setBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS, isOverride);
366
        }
367

    
368
        return true;
369

    
370
    }
371

    
372
    @Override
373
    public void init(){
374
        CdmPreference nameDetailsPref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.NameDetailsView);
375
        isAdminPreference = false;
376
        isAllowOverride = true;
377
        if (nameDetailsPref != null){
378
            isAllowOverride = nameDetailsPref.isAllowOverride();
379
        }
380
        isOverride = PreferencesUtil.getBooleanValue(IPreferenceKeys.OVERRIDE_NAME_DETAILS);
381
    }
382

    
383
}
(22-22/40)