Project

General

Profile

Download (2.99 KB) Statistics
| Branch: | Tag: | Revision:
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
}
(19-19/28)