/******************************************************************************* * Copyright (c) 2006 IBM Corporation 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: IBM Corporation - initial API and * implementation *******************************************************************************/ package org.eclipse.wst.common.ui.internal.search.dialogs; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.actions.ActionDelegate; import org.eclipse.wst.common.core.search.scope.SearchScope; public class Test extends ActionDelegate { public void run(IAction action) { try { ComponentSearchListDialogConfiguration configuration = new ComponentSearchListDialogConfiguration(); configuration.setListLabelText("List:"); configuration.setFilterLabelText("Filter:"); configuration.setSearchListProvider(searchListProvider); configuration.setDescriptionProvider(new BaseComponentDescriptionProvider("foo")); Shell shell = Display.getCurrent().getActiveShell(); ComponentSearchListDialog dialog = new ComponentSearchListDialog(shell, "test", configuration); dialog.setBlockOnOpen(true); dialog.create(); dialog.open(); } catch (Exception e) { e.printStackTrace(); } } class BaseComponentDescriptionProvider extends LabelProvider implements IComponentDescriptionProvider { String prefix; BaseComponentDescriptionProvider(String prefix) { this.prefix = prefix; } public IFile getFile(Object component) { return null; } public ILabelProvider getLabelProvider() { return this; } public String getName(Object component) { String string = (String) component; return string.substring(prefix.length() + 1); } public String getQualifier(Object component) { return prefix; } public String getText(Object element) { return getName(element); } public boolean isApplicable(Object component) { if (component instanceof String) { return ((String) component).startsWith(prefix); } return false; } public Image getFileIcon(Object component) { return null; } } IComponentSearchListProvider searchListProvider = new IComponentSearchListProvider() { public void populateComponentList(IComponentList list, SearchScope scope, IProgressMonitor pm) { list.add("foo:" + "Hello!"); list.add("foo:" + "Hey!"); list.add("foo:" + "How-are-you?"); list.add("foo:" + "What-is-that-smell?"); } }; }