package com.hangum.tadpole.rdb.core.editors.dbinfos.composites;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.widgets.TableColumn;
import com.hangum.tadpole.engine.query.dao.rdb.AbstractDAO;
public class DefaultTableColumnFilter extends ViewerFilter {
protected String searchString;
protected AbstractDAO dao = null;
public void setSearchString(String s) {
this.searchString = ".*" + s.toLowerCase() + ".*"; //$NON-NLS-1$ //$NON-NLS-2$
}
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
if (searchString == null || searchString.length() == 0) {
return true;
} else {
dao = (AbstractDAO) element;
String targetString = "";
for (TableColumn tc : ((TableViewer) viewer).getTable().getColumns()) {
targetString = dao.getvalue((String) tc.getData("column")).toLowerCase();
if (targetString.matches(searchString)) {
return true;
}
}
}
return false;
}
}