/******************************************************************************* * Copyright (C) 2003-2005, 2013 Guillaume Brocker * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Guillaume Brocker - Initial API and implementation * ******************************************************************************/ package eclox.ui.editor.advanced.filters; import org.eclipse.jface.viewers.StructuredViewer; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.IManagedForm; import eclox.core.doxyfiles.Doxyfile; /** * Defines the interface for setting filters. * * @author gbrocker */ public interface IFilter { /** * Tells the filter which doxyfile is to filter. * * @param doxyfile a doxyfile instance */ void setDoxyfile( Doxyfile doxyfile ); /** * Asks the filter to create its user interface controls. * * @param managedForm a managed form to use for the widget creation * @param parent a composite being the parent of all widgets */ void createControls( IManagedForm managedForm, Composite parent ); /** * Asks the filter to create viewer filter and add them in a given viewer * * @param viewer a viewer where filter must be added */ void createViewerFilters( StructuredViewer viewer ); /** * Asks the filter to dispose its controls. */ void disposeControls(); /** * Asks the filter to dispose created viewer filter given a viewer * * @param viewer a structured view from which created viewer filter must be removed */ void disposeViewerFilers( StructuredViewer viewer ); /** * Retrieves the filter name. * * This name must by human readable sinci it is used in the graphical * user interface. * * @return a string containing the filter name */ String getName(); }