1 package eu
.etaxonomy
.taxeditor
.databaseAdmin
.preferencePage
;
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
;
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
.IPreferenceKeys
;
21 import eu
.etaxonomy
.taxeditor
.preference
.NameDetailsConfigurator
;
22 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
23 import eu
.etaxonomy
.taxeditor
.preference
.menu
.CdmPreferencePage
;
24 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
27 public class NameDetailsViewConfiguration
extends CdmPreferencePage
implements IE4AdminPreferencePage
{
29 boolean isSimpleDetailsViewActivated
;
31 Composite dbSettings
;
32 boolean isAllowOverride
;
35 boolean isShowNomenclaturalCode
;
36 boolean isShowNameCache
;
37 boolean isShowAppendedPhrase
;
39 boolean isShowEpithets
;
40 boolean isShowAuthorCache
;
41 boolean isShowAuthorship
;
42 boolean isShowNomenclaturalRef
;
43 boolean isShowNomenclaturalStatus
;
44 boolean isShowProtologue
;
45 boolean isShowTypeDesignation
;
46 boolean isShowNameRelationship
;
48 boolean isShowNameApprobiation
;
52 protected Control
createContents(Composite parent
) {
53 final CLabel description
= new CLabel(parent
, SWT
.NULL
);
54 description
.setText(Messages
.NameDetailsViewConfiguration_description
);
55 NameDetailsConfigurator nameDetailsConfig
= PreferencesUtil
.setPreferredNameDetailsConfiguration(false);
58 final Button activateCheckButton
= new Button(parent
, SWT
.CHECK
);
59 activateCheckButton
.setLayoutData(new GridData(SWT
.LEFT
, SWT
.CENTER
, true, true, 1, 1));
60 activateCheckButton
.setText(Messages
.NameDetailsViewConfiguration_activateSimpleDetailsView
);
61 isSimpleDetailsViewActivated
= nameDetailsConfig
.isSimpleDetailsViewActivated();
62 activateCheckButton
.setSelection(isSimpleDetailsViewActivated
);
63 activateCheckButton
.addSelectionListener(new SelectionAdapter(){
65 public void widgetSelected(SelectionEvent e
) {
66 isSimpleDetailsViewActivated
= activateCheckButton
.getSelection();
68 if(isSimpleDetailsViewActivated
){
69 dbSettings
.setVisible(true);
70 dbSettings
.setEnabled(true);
72 dbSettings
.setVisible(false);
73 dbSettings
.setEnabled(false);
80 dbSettings
= new Composite(parent
, SWT
.NONE
);
81 dbSettings
.setLayout(new GridLayout());
82 dbSettings
.setVisible(isSimpleDetailsViewActivated
);
83 // Table table = new Table(dbSettings,SWT.BORDER | SWT.CHECK);
84 // TableColumn tableColumnValue = new TableColumn(table, SWT.CENTER);
86 // TableColumn tableColumnAllowOverride = new TableColumn(table, SWT.CENTER);
90 final Button allowLocalPreference
= new Button(dbSettings
, SWT
.CHECK
);
91 // boolean isUseLocalPreference = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS);
92 allowLocalPreference
.setText(Messages
.DatabasePreferencesPage_UseLocalPreferences
);
93 isAllowOverride
= nameDetailsConfig
.isAllowOverride();
94 allowLocalPreference
.setSelection(isAllowOverride
);
95 allowLocalPreference
.addSelectionListener(new SelectionAdapter(){
97 public void widgetSelected(SelectionEvent e
) {
98 isAllowOverride
= allowLocalPreference
.getSelection();
102 Label separator
= new Label(dbSettings
, SWT
.HORIZONTAL
| SWT
.SEPARATOR
);
103 separator
.setLayoutData(new GridData(GridData
.FILL_HORIZONTAL
));
104 final Button showTaxon
= new Button(dbSettings
, SWT
.CHECK
);
105 showTaxon
.setText(Messages
.NameDetailsViewComposite_Show_Taxon
);
106 isShowTaxon
= nameDetailsConfig
.isTaxonSectionActivated();
107 showTaxon
.setSelection(isShowTaxon
);
108 showTaxon
.addSelectionListener(new SelectionAdapter(){
110 public void widgetSelected(SelectionEvent e
) {
111 isShowTaxon
= showTaxon
.getSelection();
116 final Button showLsid
= new Button(dbSettings
, SWT
.CHECK
);
117 showLsid
.setText(Messages
.NameDetailsViewComposite_Show_LSID
);
118 isShowLSID
= nameDetailsConfig
.isLSIDActivated();
119 showLsid
.setSelection(isShowLSID
);
120 showLsid
.addSelectionListener(new SelectionAdapter(){
122 public void widgetSelected(SelectionEvent e
) {
123 isShowLSID
= showLsid
.getSelection();
128 final Button showNomenclaturalCode
= new Button(dbSettings
, SWT
.CHECK
);
129 showNomenclaturalCode
.setText(Messages
.NameDetailsViewComposite_Show_NomenclaturalCode
);
130 isShowNomenclaturalCode
= nameDetailsConfig
.isNomenclaturalCodeActived();
131 showNomenclaturalCode
.setSelection(isShowNomenclaturalCode
);
132 showNomenclaturalCode
.addSelectionListener(new SelectionAdapter(){
134 public void widgetSelected(SelectionEvent e
) {
135 isShowNomenclaturalCode
= showNomenclaturalCode
.getSelection();
140 final Button showNameCache
= new Button(dbSettings
, SWT
.CHECK
);
141 showNameCache
.setText(Messages
.NameDetailsViewComposite_Show_NameCache
);
142 isShowNameCache
= nameDetailsConfig
.isNameCacheActivated();
143 showNameCache
.setSelection(isShowNameCache
);
144 showNameCache
.addSelectionListener(new SelectionAdapter(){
146 public void widgetSelected(SelectionEvent e
) {
147 isShowNameCache
= showNameCache
.getSelection();
151 final Button showAppendedPhrase
= new Button(dbSettings
, SWT
.CHECK
);
152 isShowAppendedPhrase
= nameDetailsConfig
.isAppendedPhraseActivated();
153 showAppendedPhrase
.setText(Messages
.NameDetailsViewComposite_Show_AppendedPhrase
);
154 showAppendedPhrase
.setSelection(isShowAppendedPhrase
);
155 showAppendedPhrase
.addSelectionListener(new SelectionAdapter(){
157 public void widgetSelected(SelectionEvent e
) {
158 isShowAppendedPhrase
= showAppendedPhrase
.getSelection();
163 final Button showRank
= new Button(dbSettings
, SWT
.CHECK
);
164 isShowRank
= nameDetailsConfig
.isRankActivated();
165 showRank
.setText(Messages
.NameDetailsViewComposite_Show_Rank
);
166 showRank
.setSelection(isShowRank
);
167 showRank
.addSelectionListener(new SelectionAdapter(){
169 public void widgetSelected(SelectionEvent e
) {
170 isShowRank
= showRank
.getSelection();
174 final Button showEpithets
= new Button(dbSettings
, SWT
.CHECK
);
175 isShowEpithets
= nameDetailsConfig
.isAtomisedEpithetsActivated();
176 showEpithets
.setText(Messages
.NameDetailsViewComposite_Show_AtomisedEpithets
);
177 showEpithets
.setSelection(isShowEpithets
);
178 showEpithets
.addSelectionListener(new SelectionAdapter(){
180 public void widgetSelected(SelectionEvent e
) {
181 isShowEpithets
= showEpithets
.getSelection();
186 final Button showAuthorCache
= new Button(dbSettings
, SWT
.CHECK
);
187 isShowAuthorCache
= nameDetailsConfig
.isAuthorCacheActivated();
188 showAuthorCache
.setText(Messages
.NameDetailsViewComposite_Show_AuthorCache
);
189 showAuthorCache
.setSelection(isShowAuthorCache
);
190 showAuthorCache
.addSelectionListener(new SelectionAdapter(){
192 public void widgetSelected(SelectionEvent e
) {
193 isShowAuthorCache
= showAuthorCache
.getSelection();
198 final Button showAuthorship
= new Button(dbSettings
, SWT
.CHECK
);
199 isShowAuthorship
= nameDetailsConfig
.isAuthorshipSectionActivated();
200 showAuthorship
.setText(Messages
.NameDetailsViewComposite_Show_Author
);
201 showAuthorship
.setSelection(isShowAuthorship
);
202 showAuthorship
.addSelectionListener(new SelectionAdapter(){
204 public void widgetSelected(SelectionEvent e
) {
205 isShowAuthorship
= showAuthorship
.getSelection();
210 final Button showNomenclaturalRef
= new Button(dbSettings
, SWT
.CHECK
);
211 isShowNomenclaturalRef
= nameDetailsConfig
.isNomenclaturalReferenceSectionActivated();
212 showNomenclaturalRef
.setText(Messages
.NameDetailsViewComposite_Show_NomenclaturalReference
);
213 showNomenclaturalRef
.setSelection(isShowNomenclaturalRef
);
214 showNomenclaturalRef
.addSelectionListener(new SelectionAdapter(){
216 public void widgetSelected(SelectionEvent e
) {
217 isShowNomenclaturalRef
= showNomenclaturalRef
.getSelection();
222 final Button showNomenclaturalStatus
= new Button(dbSettings
, SWT
.CHECK
);
223 isShowNomenclaturalStatus
= nameDetailsConfig
.isNomenclaturalStatusSectionActivated();
224 showNomenclaturalStatus
.setText(Messages
.NameDetailsViewComposite_Show_NomenclaturalStatus
);
225 showNomenclaturalStatus
.setSelection(isShowNomenclaturalStatus
);
226 showNomenclaturalStatus
.addSelectionListener(new SelectionAdapter(){
228 public void widgetSelected(SelectionEvent e
) {
229 isShowNomenclaturalStatus
= showNomenclaturalStatus
.getSelection();
234 final Button showProtologue
= new Button(dbSettings
, SWT
.CHECK
);
235 isShowProtologue
= nameDetailsConfig
.isProtologueActivated();
236 showProtologue
.setText(Messages
.NameDetailsViewComposite_Show_Protologue
);
237 showProtologue
.setSelection(isShowProtologue
);
238 showProtologue
.addSelectionListener(new SelectionAdapter(){
240 public void widgetSelected(SelectionEvent e
) {
241 isShowProtologue
= showProtologue
.getSelection();
246 final Button showTypeDesignation
= new Button(dbSettings
, SWT
.CHECK
);
247 isShowTypeDesignation
= nameDetailsConfig
.isTypeDesignationSectionActivated();
248 showTypeDesignation
.setText(Messages
.NameDetailsViewComposite_Show_TypeDesignation
);
249 showTypeDesignation
.setSelection(isShowTypeDesignation
);
250 showTypeDesignation
.addSelectionListener(new SelectionAdapter(){
252 public void widgetSelected(SelectionEvent e
) {
253 isShowTypeDesignation
= showTypeDesignation
.getSelection();
259 final Button showNameRelationship
= new Button(dbSettings
, SWT
.CHECK
);
260 isShowNameRelationship
= nameDetailsConfig
.isNameRelationsSectionActivated();
261 showNameRelationship
.setText(Messages
.NameDetailsViewComposite_Show_Namerelationships
);
262 showNameRelationship
.setSelection(isShowNameRelationship
);
263 showNameRelationship
.addSelectionListener(new SelectionAdapter(){
265 public void widgetSelected(SelectionEvent e
) {
266 isShowNameRelationship
= showNameRelationship
.getSelection();
271 final Button showHybrid
= new Button(dbSettings
, SWT
.CHECK
);
272 isShowHybrid
= nameDetailsConfig
.isHybridActivated();
273 showHybrid
.setText(Messages
.NameDetailsViewComposite_Show_Hybrid
);
274 showHybrid
.setSelection(isShowHybrid
);
275 showHybrid
.addSelectionListener(new SelectionAdapter(){
277 public void widgetSelected(SelectionEvent e
) {
278 isShowHybrid
= showHybrid
.getSelection();
282 final Button showNameApprobiation
= new Button(dbSettings
, SWT
.CHECK
);
283 isShowNameApprobiation
= nameDetailsConfig
.isNameApprobiationActivated();
284 showNameApprobiation
.setText(Messages
.NameDetailsViewComposite_Show_NameApprobiation
);
285 showNameApprobiation
.setSelection(isShowNameApprobiation
);
286 showNameApprobiation
.addSelectionListener(new SelectionAdapter(){
288 public void widgetSelected(SelectionEvent e
) {
289 isShowNameApprobiation
= showNameApprobiation
.getSelection();
290 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION
, isShowNameApprobiation
);
303 protected NameDetailsConfigurator
createNameDetailsViewConfig() {
304 NameDetailsConfigurator config
= new NameDetailsConfigurator(isSimpleDetailsViewActivated
);
306 config
.setAppendedPhraseActivated(isShowAppendedPhrase
);
307 config
.setAtomisedEpithetsActivated(isShowEpithets
);
308 config
.setAuthorshipSectionActivated(isShowAuthorship
);
309 config
.setAuthorCacheActivated(isShowAuthorCache
);
310 config
.setLSIDActivated(isShowLSID
);
311 config
.setNameApprobiationActivated(isShowNameApprobiation
);
312 config
.setNameCacheActivated(isShowNameCache
);
313 config
.setNameRelationsSectionActivated(isShowNameRelationship
);
314 config
.setNomenclaturalCodeActived(isShowNomenclaturalCode
);
315 config
.setNomenclaturalStatusSectionActivated(isShowNomenclaturalStatus
);
316 config
.setNomenclaturalReferenceSectionActivated(isShowNomenclaturalRef
);
317 config
.setProtologueActivated(isShowProtologue
);
318 config
.setRankActivated(isShowRank
);
319 config
.setTaxonSectionActivated(isShowTaxon
);
320 config
.setTypeDesignationSectionActivated(isShowTypeDesignation
);
321 config
.setHybridActivated(isShowHybrid
);
329 public boolean performOk() {
330 ICdmRepository controller
= CdmStore
.getCurrentApplicationConfiguration();
331 if (controller
== null){
334 IPreferenceService service
= controller
.getPreferenceService();
335 NameDetailsConfigurator config
= createNameDetailsViewConfig();
336 String value
= config
.toString();
337 // boolean allowOverride = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS);
339 CdmPreference pref
= CdmPreference
.NewDatabaseInstance( PreferencePredicate
.NameDetailsView
, value
);
340 pref
.setAllowOverride(isAllowOverride
);
342 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_TAXON
, isShowTaxon
);
343 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_LSID
, isShowLSID
);
344 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE
, isShowNomenclaturalCode
);
345 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAMECACHE
, isShowNameCache
);
346 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE
, isShowAppendedPhrase
);
347 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_RANK
, isShowRank
);
348 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS
, isShowEpithets
);
349 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP
, isShowAuthorship
);
350 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP_CACHE
, isShowAuthorCache
);
351 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE
, isShowNomenclaturalRef
);
352 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS
, isShowNomenclaturalStatus
);
353 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE
, isShowProtologue
);
354 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION
, isShowTypeDesignation
);
355 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP
, isShowNameRelationship
);
356 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_HYBRID
, isShowHybrid
);
357 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.ALLOW_OVERRIDE_NAME_DETAILS
, isAllowOverride
);
358 PreferencesUtil
.getPreferenceStore().setValue(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
, isSimpleDetailsViewActivated
);