126909a5b08d4a4c736738809721efd610d88cf6
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / NomenclaturalCodePreferences.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.preference;
10
11 import java.util.List;
12
13 import org.eclipse.jface.preference.BooleanFieldEditor;
14 import org.eclipse.jface.preference.ComboFieldEditor;
15 import org.eclipse.jface.preference.FieldEditorPreferencePage;
16 import org.eclipse.ui.IWorkbench;
17 import org.eclipse.ui.IWorkbenchPreferencePage;
18
19 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
20 import eu.etaxonomy.taxeditor.model.NomenclaturalCodeHelper;
21 import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
22
23 /**
24 * <p>
25 * NomenclaturalCodePreferences class.
26 * </p>
27 *
28 * @author p.ciardelli
29 * @created 16.09.2008
30 * @version 1.0
31 */
32 public class NomenclaturalCodePreferences extends FieldEditorPreferencePage
33 implements IWorkbenchPreferencePage {
34
35 /*
36 * (non-Javadoc)
37 *
38 * @see
39 * org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors
40 * ()
41 */
42 @Override
43 protected void createFieldEditors() {
44
45 addField(new ComboFieldEditor(
46 IPreferenceKeys.PREFERRED_NOMENCLATURAL_CODE_KEY,
47 "Available Codes", getLabelAndValues(),
48 getFieldEditorParent()));
49 addField(new BooleanFieldEditor(
50 IPreferenceKeys.OVERRIDE_NOMENCLATURAL_CODE_KEY,
51 "Use local nomenclatural code",
52 getFieldEditorParent()));
53
54 }
55
56 /**
57 * @return
58 */
59 private String[][] getLabelAndValues() {
60 List<NomenclaturalCode> supportedCodes = NomenclaturalCodeHelper
61 .getSupportedCodes();
62 String[][] labelAndValues = new String[supportedCodes.size()][2];
63 for (int i = 0; i < supportedCodes.size(); i++) {
64 labelAndValues[i][0] = NomenclaturalCodeHelper
65 .getDescription(supportedCodes.get(i));
66 labelAndValues[i][1] = PreferencesUtil
67 .getPreferenceKey(supportedCodes.get(i));
68 }
69 return labelAndValues;
70 }
71
72 /**
73 * {@inheritDoc}
74 *
75 * Initialize the preference page
76 */
77 @Override
78 public void init(IWorkbench workbench) {
79 setPreferenceStore(TaxeditorStorePlugin.getDefault()
80 .getPreferenceStore());
81 setDescription("Choose which nomenclatural code you would like to use in your local application for scientific names unless otherwise specified.");
82 //PreferencesUtil.setPreferredNomenclaturalCode(null, true);
83 }
84
85 @Override
86 public boolean performOk() {
87
88 boolean result = super.performOk();
89 // if (result){
90 // String value = getPreferenceStore().getString(IPreferenceKeys.PREFERRED_NOMENCLATURAL_CODE_KEY);
91 // CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, value);
92 // ICdmApplicationConfiguration controller = CdmStore.getCurrentApplicationConfiguration();
93 // if (controller == null){
94 // return false;
95 // }
96 // IPreferenceService service = controller.getPreferenceService();
97 // service.set(pref);
98 // }
99 return result;
100 }
101
102
103
104 }