package org.openlca.app.navigation.filters;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.openlca.app.navigation.ModelTypeElement;
import org.openlca.core.model.ModelType;
/**
* Show only categories with the model types that are passed to this filter.
*/
public class ModelTypeFilter extends ViewerFilter {
private ModelType[] types;
public ModelTypeFilter(ModelType... types) {
this.types = types;
}
@Override
public boolean select(Viewer viewer, Object parent, Object element) {
if (!(element instanceof ModelTypeElement))
return true;
if (types == null)
return false;
ModelTypeElement e = (ModelTypeElement) element;
for (ModelType type : types) {
if (e.getContent() == type)
return true;
}
return false;
}
}