Graphics.UI.Gtk.Selectors.FileFilter

gtk3-0.14.2: Binding to the Gtk+ 3 graphical user interface library

Maintainer | gtk2hs-users@lists.sourceforge.net
Stability | provisional
Portability | portable (depends on GHC)
Safe Haskell | None
Language | Haskell98

Graphics.UI.Gtk.Selectors.FileFilter

Contents

- Detail
- Class Hierarchy
- Types
- Constructors
- Methods
- Attributes

Description

A filter for selecting a file subset

- Module available since Gtk+ version 2.4

Synopsis

- data FileFilter
- class GObjectClass o => FileFilterClass o
- castToFileFilter :: GObjectClass obj => obj -> FileFilter
- gTypeFileFilter :: GType
- toFileFilter :: FileFilterClass o => o -> FileFilter
- data FileFilterFlags
  - = FileFilterFilename
  - | FileFilterUri
  - | FileFilterDisplayName
  - | FileFilterMimeType
- fileFilterNew :: IO FileFilter
- fileFilterSetName :: GlibString string => FileFilter -> string -> IO ()
- fileFilterGetName :: GlibString string => FileFilter -> IO string
- fileFilterAddMimeType :: GlibString string => FileFilter -> string -> IO ()
- fileFilterAddPattern :: GlibString string => FileFilter -> string -> IO ()
- fileFilterAddCustom :: GlibString string => FileFilter -> [FileFilterFlags] -> (Maybe string -> Maybe string -> Maybe string -> Maybe string -> IO Bool) -> IO ()
- fileFilterAddPixbufFormats :: FileFilter -> IO ()
- fileFilterName :: GlibString string => Attr FileFilter string

# Detail

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

# Types

data FileFilter

Instances

Eq FileFilter |
Ord FileFilter |
GObjectClass FileFilter |
FileFilterClass FileFilter |

class GObjectClass o => FileFilterClass o

Instances

FileFilterClass FileFilter |

castToFileFilter :: GObjectClass obj => obj -> FileFilter

gTypeFileFilter :: GType

toFileFilter :: FileFilterClass o => o -> FileFilter

data FileFilterFlags

Constructors

FileFilterFilename |
FileFilterUri |
FileFilterDisplayName |
FileFilterMimeType |

Instances

Bounded FileFilterFlags |
Enum FileFilterFlags |
Eq FileFilterFlags |
Show FileFilterFlags |
Flags FileFilterFlags |

# Constructors

fileFilterNew :: IO FileFilter

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`.

# Methods

fileFilterSetName

Arguments

:: 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

Arguments

:: GlibString string |
=> FileFilter |
-> IO string | returns The human-readable name of the filter

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

fileFilterAddMimeType

Arguments

:: GlibString string |
=> FileFilter |
-> string | `mimeType` - name of a MIME type
-> IO () |

Adds a rule allowing a given mime type to `filter`.

fileFilterAddPattern

Arguments

:: GlibString string |
=> FileFilter |
-> string | `pattern` - a shell style glob
-> IO () |

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

fileFilterAddCustom

Arguments

:: 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 ()

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

- Available since Gtk+ version 2.6

# Attributes

fileFilterName :: GlibString string => Attr FileFilter string

'name' property. See `fileFilterGetName` and `fileFilterSetName`