package ch.elexis.core.ui.laboratory.dialogs; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerFilter; public class LabItemViewerFilter extends ViewerFilter { protected String searchString; protected LabItemLabelProvider labelProvider; public LabItemViewerFilter(LabItemLabelProvider labelProvider){ this.labelProvider = labelProvider; } public void setSearchText(String s){ // Search must be a substring of the existing value this.searchString = ".*" + s + ".*"; //$NON-NLS-1$ //$NON-NLS-2$ } @Override public boolean select(Viewer viewer, Object parentElement, Object element){ if (searchString == null || searchString.length() == 0) { return true; } String label = labelProvider.getText(element); if (label != null && label.matches(searchString)) { return true; } return false; } }