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.
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)));
+ }
+ });
+
+
}