//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QtSupport;
import java.util.ArrayList;

/**

 A simple file filter that can filter hidden dot files, by name, 
 by mime type and by mode.
		@short A simple file filter.

*/
public class KSimpleFileFilter extends KFileFilter  {
	protected KSimpleFileFilter(Class dummy){super((Class) null);}
	/**	
		 Creates a new filter. By default, it filters only hidden dot files
		 and "." and "..".
		     		@short    Creates a new filter.
	*/
	public KSimpleFileFilter() {
		super((Class) null);
		newKSimpleFileFilter();
	}
	private native void newKSimpleFileFilter();
	/**	
		 Enable or disable filtering hidden dot files.
		 This option is enabled by default.
			@param filter true to enable filtering dot files, false to 
		        disable
				@short    Enable or disable filtering hidden dot files.
		@see #filterDotFiles
	*/
	public native void setFilterDotFiles(boolean filter);
	/**	
		 Checks whether filtering dot files is enabled.
		 This option is enabled by default.
				@return true if filtering is enabled, false otherwise

		@short    Checks whether filtering dot files is enabled.
		@see #setFilterDotFiles
	*/
	public native boolean filterDotFiles();
	/**	
		 Filters "." and "..", default is true.
			@param filter true to enable, false otherwise
		     		@short    Filters ".
	*/
	public native void setFilterSpecials(boolean filter);
	/**	
		 Checks whether it filters "." and "..", default is true.
				@return true if enabled, false otherwise
     
		@short    Checks whether it filters ".
	*/
	public native boolean filterSpecials();
	/**	
		 Sets a list of regular expressions to filter by name.
		 The file will only pass if its name matches one of the regular
		 expressions.
			@param nameFilters a list of regular expressions, separated by
		                    the character <code>separator</code>
			@param caseSensitive if true, matches case sensitive. False 
		                      otherwise
			@param separator the separator in the <code>nameFilter</code>
				@short    Sets a list of regular expressions to filter by name.
	*/
	public native void setNameFilters(String nameFilters, boolean caseSensitive, char separator);
	public native void setNameFilters(String nameFilters, boolean caseSensitive);
	/**	
		 Sets a list of regular expressions to filter by name.
		 The file will only pass if its name matches one of the regular
		 expressions.
			@param nameFilters a list of regular expressions, separated by
		                    space (' ')
		     		@short    Sets a list of regular expressions to filter by name.
	*/
	public native void setNameFilters(String nameFilters);
	/**	
		 Sets a list of mime filters. A file can only pass if its
		 mime type is contained in this list.
			@param mimeFilters the list of mime types
				@short    Sets a list of mime filters.
		@see #setMimeFilter
	*/
	public native void setMimeFilters(String[] mimeFilters);
	/**	
		 Returns the list of mime types.
				@return the list of mime types

		@short    Returns the list of mime types.
		@see #mimeFilter
	*/
	public native ArrayList mimeFilters();
	/**	
		 Sets the mode filter. If the <code>mode</code> is 0, the filter is
		 disabled. 
		 When enabled, a file will only pass if the files mode
		 ANDed with <code>mode</code> is not zero.
			@param mode the new mode. 0 to disable
				@short    Sets the mode filter.
		@see #modeFilter
	*/
	public native void setModeFilter(long mode);
	/**	
		 Returns the mode filter, as set by setModeFilter().
				@return the mode filter, 0 if disabled

		@short    Returns the mode filter, as set by setModeFilter().
		@see #setModeFilter
	*/
	public native long modeFilter();
	/**	
		 Checks the given <code>item.</code>
			@param item the item to filter
				@return true if the <code>item</code> passes the filter, false otherwise
     
		@short    Checks the given <code>item.</code>
	*/
	public native boolean passesFilter(KFileItem item);
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
