blob: 69535f2513d8d39f081a2bbbe935924d2d0e9802 [file] [log] [blame]
package org.eclipse.search.internal.ui;
/*
* Licensed Materials - Property of IBM,
* WebSphere Studio Workbench
* (c) Copyright IBM Corp 2000
*/
import org.eclipse.swt.graphics.Image;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.core.resources.IResource;
import org.eclipse.search.ui.ISearchResultViewEntry;
class SearchResultLabelProvider extends LabelProvider implements ILabelProvider {
private static class FileLabelProvider extends LabelProvider {
private Image fImage= SearchPluginImages.get(SearchPluginImages.IMG_OBJS_TSEARCH);
public String getText(Object element) {
if (!(element instanceof ISearchResultViewEntry))
return "";
IResource resource= ((ISearchResultViewEntry) element).getResource();
// PR 1G47GDO
if (resource == null)
return SearchPlugin.getResourceString("SearchResultView.removed_resource");
return ((IResource)resource).getLocation().lastSegment();
}
public Image getImage(Object element) {
return fImage;
}
}
private static final FileLabelProvider DEFAULT_LABEL_PROVIDER= new FileLabelProvider();
private ILabelProvider fLabelProvider;
public SearchResultLabelProvider() {
fLabelProvider= DEFAULT_LABEL_PROVIDER;
}
public ILabelProvider getLabelProvider() {
return fLabelProvider;
}
public void setLabelProvider(ILabelProvider provider) {
if (provider == null)
provider= DEFAULT_LABEL_PROVIDER;
fLabelProvider= provider;
}
public String getText(Object rowElement) {
StringBuffer text= new StringBuffer(fLabelProvider.getText(rowElement));
int count= ((ISearchResultViewEntry)rowElement).getMatchCount();
if (count > 1) {
text.append(" (");
text.append(count);
text.append(" matches)");
}
return text.toString();
}
public Image getImage(Object rowElement) {
return fLabelProvider.getImage(rowElement);
}
public void dispose() {
if (fLabelProvider != DEFAULT_LABEL_PROVIDER) {
fLabelProvider.dispose();
setLabelProvider(null);
}
super.dispose();
}
}