add simple view preference to the general preferences page
authorKatja Luther <k.luther@bgbm.org>
Mon, 6 Jun 2016 10:55:48 +0000 (12:55 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 6 Jun 2016 10:55:48 +0000 (12:55 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java

index df1f5128cea951bdbc6d2ca62b2b6b5d5f002e90..1b68e53ad791c4edf1d57afe23fc52f1c1dea014 100644 (file)
@@ -13,9 +13,19 @@ 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.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.RowLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
+import eu.etaxonomy.cdm.persistence.query.MatchMode;
+
 /**
  * <p>
  * TaxonomicEditorGeneralPreferences class.
@@ -60,6 +70,44 @@ public class TaxonomicEditorGeneralPreferences extends
                addField(new BooleanFieldEditor(IPreferenceKeys.SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS,
                        "Open search results in separate windows",
                        getFieldEditorParent()));
+               addField(new BooleanFieldEditor(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION,
+                "Show only a simple name details view",
+                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)));
+            }
+        });
+
+
 
 
        }