package de.tobject.findbugs.actions;
import org.eclipse.jface.action.Action;
import de.tobject.findbugs.reporter.MarkerUtil;
import de.tobject.findbugs.view.explorer.IFilterGui;
/**
* GUI Action used to toggle whether a filter is active or not.
*/
public class ToggleExtensionFilterAction extends Action implements IFilterGui {
private boolean filterEnabled = false;
private final String mFilterID;
/**
* cTor
* @param xiFilterID
*/
public ToggleExtensionFilterAction(String xiFilterID) {
super(MarkerUtil.getFilterName(xiFilterID), AS_CHECK_BOX);
MarkerUtil.setFilterGui(xiFilterID, this);
setChecked(MarkerUtil.isFilterEnabled(xiFilterID));
mFilterID = xiFilterID;
}
@Override
public void run() {
filterEnabled = isChecked();
if (filterEnabled) {
MarkerUtil.enableFilters(new String[] {mFilterID});
} else {
MarkerUtil.disableFilters(new String[] {mFilterID});
}
MarkerUtil.redisplayAllMarkers();
}
}