ref #8385: fixes for preferences
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / TaxonomicEditorGeneralPreferences.java
index 08a1a367308c19c7c7334415fbdc312c69a4cb93..030fb145f2e7c704ae34df2273c075075d4bbdf4 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
  * Copyright (C) 2007 EDIT
  * European Distributed Institute of Taxonomy
 package eu.etaxonomy.taxeditor.preference;
 
 import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.RowLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.internal.IPreferenceConstants;
+import org.eclipse.ui.internal.Workbench;
+
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.menu.FieldEditorPreferencePageE4;
 
 /**
  * <p>
@@ -26,48 +30,87 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
  * @version 1.0
  */
 public class TaxonomicEditorGeneralPreferences extends
-               FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+               FieldEditorPreferencePageE4 {
+
+    private BooleanFieldEditor runInBackgroundEditor;
 
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors
-        * ()
-        */
        @Override
        protected void createFieldEditors() {
-               addField(new BooleanFieldEditor(IPreferenceKeys.SHOW_DEBUG_INFORMATION,
-                               "Show UUID and object ID in supplemental data view.",
-                               getFieldEditorParent()));
-               addField(new BooleanFieldEditor(
-                               IPreferenceKeys.SHOULD_EXPAND_SECTION_WHEN_DATA_AVAILABLE,
-                               "Should expand sections when data is available (Details View). This might make the Editor slow.",
-                               getFieldEditorParent()));
-               addField(new StringFieldEditor(
-                               IPreferenceKeys.EDIT_MAP_SERVICE_ACCES_POINT,
-                               "EDIT Map Service Access Point:", getFieldEditorParent()));
-               addField(new BooleanFieldEditor(
-                               IPreferenceKeys.SHOULD_CONNECT_AT_STARTUP,
-                               "Connect to last used datasource when launching",
+           runInBackgroundEditor = new BooleanFieldEditor(IPreferenceConstants.RUN_IN_BACKGROUND,
+                   Messages.TaxonomicEditorGeneralPreferences_background,
+                   getFieldEditorParent());
+        addField(runInBackgroundEditor);
+
+//             addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(IPreferenceKeys.SHOW_DEBUG_INFORMATION),
+//                             "Show UUID and object ID in supplemental data view",
+//                             getFieldEditorParent()));
+//             addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(IPreferenceKeys.SHOW_ID_IN_ENTITY_SELECTION_DIAOLOG),
+//                     "Show object id in entity selection dialogs",
+//                     getFieldEditorParent()));
+//             addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(
+//                             IPreferenceKeys.SHOULD_EXPAND_SECTION_WHEN_DATA_AVAILABLE),
+//                             "Should expand sections when data is available (Details View). This might make the Editor slow.",
+//                             getFieldEditorParent()));
+//             addField(new StringFieldEditor(PreferencesUtil.createPreferenceString(
+//                             IPreferenceKeys.EDIT_MAP_SERVICE_ACCES_POINT),
+//                             "EDIT Map Service Access Point:", getFieldEditorParent()));
+               addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(
+                               IPreferenceKeys.SHOULD_CONNECT_AT_STARTUP),
+                               Messages.TaxonomicEditorGeneralPreferences_connect,
                                getFieldEditorParent()));
-               addField(new BooleanFieldEditor(
-                               IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES,
-                               "Show experimental features", getFieldEditorParent()));
-               addField(new BooleanFieldEditor(IPreferenceKeys.SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS,
-                       "Open search results in separate windows",
-                       getFieldEditorParent()));
+//             addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(
+//                             IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES),
+//                             "Show experimental features", getFieldEditorParent()));
+//             addField(new BooleanFieldEditor(IPreferenceKeys.SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS,
+//                     "Open search results in separate windows",
+//                     getFieldEditorParent()));
+//             addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(IPreferenceKeys.SORT_TAXA_BY_RANK_AND_NAME),
+//                "In selection dialogs for taxa, sort by rank and name",
+//                getFieldEditorParent()));
+//             addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(
+//                IPreferenceKeys.FILTER_COMMON_NAME_REFERENCES),
+//                "Filter common name references", getFieldEditorParent()));
+
+               Composite composite = new Composite(getFieldEditorParent(), SWT.NULL);
+        composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
+        composite.setLayout(new RowLayout(1));
+
+//        final Label label = new Label(composite, SWT.NONE);
+//        label.setText("Choose the prefered match mode for searches.");
+//
+//        final Combo combo_MatchMode = new Combo(composite, SWT.NONE);
+//
+//        MatchMode[] matchModes = MatchMode.values();
+//        int currentSelectionIndex = 0;
+//        for(int i = 0; i < matchModes.length; i++){
+//            MatchMode mode = matchModes[i];
+//            combo_MatchMode.add(mode.name(),i);
+//            //TODO:the correct preselection is needed here!!
+//            if (mode.equals(PreferencesUtil.getSearchConfigurator().getMatchMode())){
+//                currentSelectionIndex = i;
+//            }
+//        }
+//
+//        combo_MatchMode.select(currentSelectionIndex);
+//
+//        combo_MatchMode.addSelectionListener(new SelectionAdapter() {
+//            /* (non-Javadoc)
+//             * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+//             */
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                int selectionIndex = combo_MatchMode.getSelectionIndex();
+//                PreferencesUtil.getSearchConfigurator().setMatchMode(MatchMode.valueOf(combo_MatchMode.getItem(selectionIndex)));
+//            }
+//        });
        }
 
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-        */
        @Override
-       public void init(IWorkbench workbench) {
-               setPreferenceStore(PreferencesUtil.getPreferenceStore());
+       protected void initialize() {
+           super.initialize();
+           //TODO this is a q&d hack to make the e3 preference work
+        runInBackgroundEditor.setPreferenceStore(Workbench.getInstance().getPreferenceStore());
+        runInBackgroundEditor.load();
        }
 
 }