package org.objectstyle.wolips.ruleeditor.listener;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
import org.objectstyle.wolips.ruleeditor.filter.*;
/**
* @author <a href="mailto:georg@moleque.com.br">Georg von Bülow</a>
*/
public class FilterListener implements ModifyListener {
TableViewer viewer;
public FilterListener(final TableViewer viewer) {
if (viewer == null) {
throw new IllegalArgumentException("The viewer cannot be null");
}
this.viewer = viewer;
}
public void modifyText(final ModifyEvent e) {
for (ViewerFilter filter : viewer.getFilters()) {
viewer.removeFilter(filter);
}
String regex = ((Text) e.widget).getText();
if (regex != null && !regex.equals("")) {
viewer.addFilter(new RulesFilter(regex));
}
}
}