Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/ComboAutoCompleter.java')
-rw-r--r--plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/ComboAutoCompleter.java184
1 files changed, 92 insertions, 92 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/ComboAutoCompleter.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/ComboAutoCompleter.java
index ce8940908c..9f3fde7eb2 100644
--- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/ComboAutoCompleter.java
+++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/ComboAutoCompleter.java
@@ -1,92 +1,92 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.ui;
-
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-
-/**
- * @author Eike Stepper
- */
-public class ComboAutoCompleter implements ModifyListener
-{
- private ComboViewer viewer;
-
- public ComboAutoCompleter(ComboViewer viewer)
- {
- this.viewer = viewer;
- }
-
- public final ComboViewer getViewer()
- {
- return viewer;
- }
-
- public final void modifyText(ModifyEvent e)
- {
- String text = getText();
- Object foundElement = findShortestLabel(text);
- if (foundElement != null)
- {
- setSelection(new StructuredSelection(foundElement));
- }
- else
- {
- // setSelection(StructuredSelection.EMPTY);
- }
- }
-
- protected void setSelection(StructuredSelection selection)
- {
- viewer.setSelection(selection);
- }
-
- private Object findShortestLabel(String prefix)
- {
- Object foundElement = null;
- String shortestLabel = null;
- ILabelProvider labelProvider = (ILabelProvider)viewer.getLabelProvider();
- IStructuredContentProvider contentProvider = (IStructuredContentProvider)viewer.getContentProvider();
- for (Object element : contentProvider.getElements(viewer.getInput()))
- {
- String label = labelProvider.getText(element);
- if (label.startsWith(prefix))
- {
- if (shortestLabel == null || label.length() < shortestLabel.length())
- {
- shortestLabel = label;
- foundElement = element;
- }
- }
- }
-
- return foundElement;
- }
-
- private String getText()
- {
- return viewer.getCombo().getText();
- }
-
- public static void attach(ComboViewer viewer, ComboAutoCompleter completer)
- {
- viewer.getCombo().addModifyListener(completer);
- }
-
- public static void attach(ComboViewer viewer)
- {
- viewer.getCombo().addModifyListener(new ComboAutoCompleter(viewer));
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.util.ui;
+
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+
+/**
+ * @author Eike Stepper
+ */
+public class ComboAutoCompleter implements ModifyListener
+{
+ private ComboViewer viewer;
+
+ public ComboAutoCompleter(ComboViewer viewer)
+ {
+ this.viewer = viewer;
+ }
+
+ public final ComboViewer getViewer()
+ {
+ return viewer;
+ }
+
+ public final void modifyText(ModifyEvent e)
+ {
+ String text = getText();
+ Object foundElement = findShortestLabel(text);
+ if (foundElement != null)
+ {
+ setSelection(new StructuredSelection(foundElement));
+ }
+ else
+ {
+ // setSelection(StructuredSelection.EMPTY);
+ }
+ }
+
+ protected void setSelection(StructuredSelection selection)
+ {
+ viewer.setSelection(selection);
+ }
+
+ private Object findShortestLabel(String prefix)
+ {
+ Object foundElement = null;
+ String shortestLabel = null;
+ ILabelProvider labelProvider = (ILabelProvider)viewer.getLabelProvider();
+ IStructuredContentProvider contentProvider = (IStructuredContentProvider)viewer.getContentProvider();
+ for (Object element : contentProvider.getElements(viewer.getInput()))
+ {
+ String label = labelProvider.getText(element);
+ if (label.startsWith(prefix))
+ {
+ if (shortestLabel == null || label.length() < shortestLabel.length())
+ {
+ shortestLabel = label;
+ foundElement = element;
+ }
+ }
+ }
+
+ return foundElement;
+ }
+
+ private String getText()
+ {
+ return viewer.getCombo().getText();
+ }
+
+ public static void attach(ComboViewer viewer, ComboAutoCompleter completer)
+ {
+ viewer.getCombo().addModifyListener(completer);
+ }
+
+ public static void attach(ComboViewer viewer)
+ {
+ viewer.getCombo().addModifyListener(new ComboAutoCompleter(viewer));
+ }
+}

Back to the top