Bug 291755 [Filters] Filters implementation and API cleanup
This bug is raised to track reviewing and cleanup of filters API and implementation.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceFilterGroup.java
import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
import org.eclipse.ui.internal.ide.misc.CompoundResourceFilter;
import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
 * A widget group that displays resource filters. Includes buttons to edit,
 * remove existing filters and create new ones.
 */
public class ResourceFilterGroup {
	private Button addButton = null;
	private Button removeButton = null;
	private Button upButton = null;
	private Button downButton = null;
	private Button editButton = null;
	private TreeViewer filterView;
	private Filters filters;
	private IResourceFilter[] initialFilters = new IResourceFilter[0];
	private LabelProvider labelProvider;
	private Image checkIcon = null;
	private boolean tableViewCellEditorAdequatlyUsable = false;
	private boolean allowReordering = false;
	
	private Shell shell;
	private IContainer nonExistantResource = getNonExistantResource();
	private IContainer resource = nonExistantResource;
	/**
	 *