1 package eu
.etaxonomy
.taxeditor
.preference
;
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
.model
.metadata
.CdmPreference
;
16 import eu
.etaxonomy
.cdm
.model
.metadata
.PreferencePredicate
;
17 import eu
.etaxonomy
.taxeditor
.l10n
.Messages
;
18 import eu
.etaxonomy
.taxeditor
.preference
.menu
.CdmPreferencePage
;
21 public class NameDetailsViewConfiguration
extends CdmPreferencePage
{
23 protected boolean isSimpleDetailsViewActivated
;
24 boolean isUseLocalSettings
;
25 protected NameDetailsConfigurator nameDetailsConfig
;
26 Composite localSettings
;
29 protected boolean isShowTaxon
;
30 protected boolean isShowNameApprobiation
;
31 protected boolean isShowHybrid
;
32 protected boolean isShowNameRelationship
;
33 protected boolean isShowTypeDesignation
;
34 protected boolean isShowProtologue
;
35 protected boolean isShowNomenclaturalStatus
;
36 protected boolean isShowNomenclaturalRef
;
37 protected boolean isShowAuthorship
;
38 protected boolean isShowAuthorCache
;
39 protected boolean isShowEpithets
;
40 protected boolean isShowRank
;
41 protected boolean isShowAppendedPhrase
;
42 protected boolean isShowNameCache
;
43 protected boolean isShowNomenclaturalCode
;
44 protected boolean isShowLSID
;
45 protected boolean isSecEnabled
;
46 protected boolean isSecDetailsActivated
;
48 protected boolean isAllowOverride
;
49 private boolean isOverride
;
52 protected Control
createContents(Composite parent
) {
54 if (isAllowOverride
|| isAdminPreference
){
56 final CLabel description
= new CLabel(parent
, SWT
.NULL
);
57 description
.setText(Messages
.NameDetailsViewConfiguration_description
);
59 Composite title
= createComposite(parent
);
60 nameDetailsConfig
= PreferencesUtil
.getPreferredNameDetailsConfiguration(false);
61 if (nameDetailsConfig
== null){
62 nameDetailsConfig
= new NameDetailsConfigurator(false);
65 final Button activateCheckButton
= new Button(title
, SWT
.CHECK
);
66 final Button allowLocalPreference
= createAllowOverrideButton(title
);
67 Composite dbSettings
= new Composite(parent
, SWT
.NONE
);
69 activateCheckButton
.setLayoutData(new GridData(SWT
.LEFT
, SWT
.CENTER
, true, true, 1, 1));
70 activateCheckButton
.setText(Messages
.NameDetailsViewConfiguration_activateSimpleDetailsView
);
71 isSimpleDetailsViewActivated
= nameDetailsConfig
.isSimpleDetailsViewActivated();
72 activateCheckButton
.setSelection(isSimpleDetailsViewActivated
);
73 activateCheckButton
.addSelectionListener(new SelectionAdapter(){
75 public void widgetSelected(SelectionEvent e
) {
76 isSimpleDetailsViewActivated
= activateCheckButton
.getSelection();
78 dbSettings
.setEnabled(isSimpleDetailsViewActivated
);
79 PreferencesUtil
.recursiveSetEnabled(dbSettings
, isSimpleDetailsViewActivated
);
83 if (isAdminPreference
){
84 allowLocalPreference
.setSelection(isAllowOverride
);
86 allowLocalPreference
.setSelection(isOverride
);
88 allowLocalPreference
.addSelectionListener(new SelectionAdapter(){
90 public void widgetSelected(SelectionEvent e
) {
91 if (isAdminPreference
){
92 isAllowOverride
= allowLocalPreference
.getSelection();
94 isOverride
= allowLocalPreference
.getSelection();
100 dbSettings
.setLayout(new GridLayout());
101 dbSettings
.setEnabled(isSimpleDetailsViewActivated
);
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(){
112 public void widgetSelected(SelectionEvent e
) {
113 isShowTaxon
= showTaxon
.getSelection();
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(){
124 public void widgetSelected(SelectionEvent e
) {
125 isSecDetailsActivated
= showSecDetail
.getSelection();
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(){
136 public void widgetSelected(SelectionEvent e
) {
137 isSecEnabled
= secEnabled
.getSelection();
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(){
149 public void widgetSelected(SelectionEvent e
) {
150 isShowLSID
= showLsid
.getSelection();
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(){
161 public void widgetSelected(SelectionEvent e
) {
162 isShowNomenclaturalCode
= showNomenclaturalCode
.getSelection();
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(){
173 public void widgetSelected(SelectionEvent e
) {
174 isShowNameCache
= showNameCache
.getSelection();
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(){
184 public void widgetSelected(SelectionEvent e
) {
185 isShowAppendedPhrase
= showAppendedPhrase
.getSelection();
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(){
196 public void widgetSelected(SelectionEvent e
) {
197 isShowRank
= showRank
.getSelection();
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(){
207 public void widgetSelected(SelectionEvent e
) {
208 isShowEpithets
= showEpithets
.getSelection();
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(){
219 public void widgetSelected(SelectionEvent e
) {
220 isShowAuthorCache
= showAuthorCache
.getSelection();
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(){
231 public void widgetSelected(SelectionEvent e
) {
232 isShowAuthorship
= showAuthorship
.getSelection();
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(){
243 public void widgetSelected(SelectionEvent e
) {
244 isShowNomenclaturalRef
= showNomenclaturalRef
.getSelection();
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(){
255 public void widgetSelected(SelectionEvent e
) {
256 isShowNomenclaturalStatus
= showNomenclaturalStatus
.getSelection();
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(){
267 public void widgetSelected(SelectionEvent e
) {
268 isShowProtologue
= showProtologue
.getSelection();
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(){
279 public void widgetSelected(SelectionEvent e
) {
280 isShowTypeDesignation
= showTypeDesignation
.getSelection();
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(){
292 public void widgetSelected(SelectionEvent e
) {
293 isShowNameRelationship
= showNameRelationship
.getSelection();
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(){
304 public void widgetSelected(SelectionEvent e
) {
305 isShowHybrid
= showHybrid
.getSelection();
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(){
315 public void widgetSelected(SelectionEvent e
) {
316 isShowNameApprobiation
= showNameApprobiation
.getSelection();
317 //PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
320 PreferencesUtil
.recursiveSetEnabled(dbSettings
, isSimpleDetailsViewActivated
);
322 final CLabel description
= new CLabel(parent
, SWT
.NULL
);
323 description
.setText(Messages
.NameDetailsViewConfiguration_description_not_available
);
333 public boolean performOk() {
334 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_TAXON
, isShowTaxon
);
335 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_SEC_DETAILS
, isSecDetailsActivated
);
336 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.DISABLE_SEC
, isSecEnabled
);
337 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
, isSimpleDetailsViewActivated
);
338 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION
, isShowNameApprobiation
);
339 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_HYBRID
, isShowHybrid
);
340 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP
, isShowNameRelationship
);
341 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION
, isShowTypeDesignation
);
342 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE
, isShowProtologue
);
343 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS
, isShowNomenclaturalStatus
);
344 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE
, isShowNomenclaturalRef
);
345 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP
, isShowAuthorship
);
346 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP_CACHE
, isShowAuthorCache
);
347 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS
, isShowEpithets
);
348 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_RANK
, isShowRank
);
349 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE
, isShowAppendedPhrase
);
350 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAMECACHE
, isShowNameCache
);
351 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE
, isShowNomenclaturalCode
);
352 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_LSID
, isShowLSID
);
354 PreferencesUtil
.setBooleanValue(IPreferenceKeys
.OVERRIDE_NAME_DETAILS
, isOverride
);
361 CdmPreference nameDetailsPref
= PreferencesUtil
.getPreferenceFromDB(PreferencePredicate
.NameDetailsView
);
362 isAdminPreference
= false;
363 isAllowOverride
= false;
364 if (nameDetailsPref
!= null){
365 isAllowOverride
= nameDetailsPref
.isAllowOverride();
367 isOverride
= PreferencesUtil
.getBooleanValue(IPreferenceKeys
.OVERRIDE_NAME_DETAILS
);