blob: d9883c20b78463f174aa23d630dfb30c705706c4 [file] [log] [blame]
/*******************************************************************************
* 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?");
}
};
}