gtk-0.15.0: Binding to the Gtk+ graphical user interface library.
Portabilityportable (depends on GHC)
Safe HaskellNone




A filter for selecting a file subset

  • Module available since Gtk+ version 2.4


A FileFilter can be used to restrict the files being shown in a FileChooser. Files can be filtered based on their name (with fileFilterAddPattern), on their mime type (with fileFilterAddMimeType), or by a custom filter function (with fileFilterAddCustom).

Filtering by mime types handles aliasing and subclassing of mime types; e.g. a filter for "text/plain" also matches a file with mime type "application/rtf", since "application/rtf" is a subclass of "text/plain". Note that FileFilter allows wildcards for the subtype of a mime type, so you can e.g. filter for "image/*".

Normally, filters are used by adding them to a FileChooser, see fileChooserAddFilter.

Class Hierarchy

| GObject
| +----Object
| +----FileFilter


class ObjectClass o => FileFilterClass o Source #

FileFilterClass FileFilter Source # 
Instance details

Defined in Graphics.UI.Gtk.Types


fileFilterNew :: IO FileFilter Source #

Creates a new FileFilter with no rules added to it. Such a filter doesn't accept any files, so is not particularly useful until you add rules with fileFilterAddMimeType, fileFilterAddPattern, or fileFilterAddCustom.


fileFilterSetName Source #


:: GlibString string 
=> FileFilter 
-> string

name - the human-readable-name for the filter

-> IO () 

Sets the human-readable name of the filter; this is the string that will be displayed in the file selector user interface if there is a selectable list of filters.

fileFilterGetName Source #


:: GlibString string 
=> FileFilter 
-> IO string

returns The human-readable name of the filter

Gets the human-readable name for the filter. See fileFilterSetName.

fileFilterAddMimeType Source #


:: GlibString string 
=> FileFilter 
-> string

mimeType - name of a MIME type

-> IO () 

Adds a rule allowing a given mime type to filter.

fileFilterAddPattern Source #


:: GlibString string 
=> FileFilter 
-> string

pattern - a shell style glob

-> IO () 

Adds a rule allowing a shell style glob to a filter.

fileFilterAddCustom Source #


:: GlibString string 
=> FileFilter 
-> [FileFilterFlags]

needed - list of flags indicating the information that the custom filter function needs.

-> (Maybe string -> Maybe string -> Maybe string -> Maybe string -> IO Bool)

(filename uri displayName mimeType -> ...) - filter function; if the function returns True, then the file will be displayed.

-> IO () 

Adds rule to a filter that allows files based on a custom callback function. The list of flags needed which is passed in provides information about what sorts of information that the filter function needs; this allows Gtk+ to avoid retrieving expensive information when it isn't needed by the filter.

fileFilterAddPixbufFormats :: FileFilter -> IO () Source #

Adds a rule allowing image files in the formats supported by Pixbuf.

  • Available since Gtk+ version 2.6