FileFilter
open class FileFilter : Filter, FileFilterProtocol
GtkFileFilter
filters files by name or mime type.
GtkFileFilter
can be used to restrict the files being shown in a
GtkFileChooser
. Files can be filtered based on their name (with
[methodGtk.FileFilter.add_pattern
] or [methodGtk.FileFilter.add_suffix
])
or on their mime type (with [methodGtk.FileFilter.add_mime_type
]).
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 GtkFileFilter
allows wildcards for the
subtype of a mime type, so you can e.g. filter for image/*.
Normally, file filters are used by adding them to a GtkFileChooser
(see [methodGtk.FileChooser.add_filter
]), but it is also possible to
manually use a file filter on any [classGtk.FilterListModel
] containing
GFileInfo
objects.
GtkFileFilter as GtkBuildable
The GtkFileFilter
implementation of the GtkBuildable
interface
supports adding rules using the <mime-types>
and <patterns>
and
<suffixes>
elements and listing the rules within. Specifying a
<mime-type>
or <pattern>
or <suffix>
has the same effect as
as calling
[methodGtk.FileFilter.add_mime_type
] or
[methodGtk.FileFilter.add_pattern
] or
[methodGtk.FileFilter.add_suffix
].
An example of a UI definition fragment specifying GtkFileFilter
rules:
<object class="GtkFileFilter">
<property name="name" translatable="yes">Text and Images</property>
<mime-types>
<mime-type>text/plain</mime-type>
<mime-type>image/ *</mime-type>
</mime-types>
<patterns>
<pattern>*.txt</pattern>
</patterns>
<suffixes>
<suffix>png</suffix>
</suffixes>
</object>
The FileFilter
type acts as a reference-counted owner of an underlying GtkFileFilter
instance.
It provides the methods that can operate on this data type through FileFilterProtocol
conformance.
Use FileFilter
as a strong reference or owner of a GtkFileFilter
instance.
-
Designated initialiser from the underlying `C` data type.
This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
FileFilter
instance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkFileFilter>)
Parameters
op
pointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theFileFilter
instance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkFileFilter>)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a non-mutating
gpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theFileFilter
instance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)
Parameters
op
gpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theFileFilter
instance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theFileFilter
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkFileFilter>?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theFileFilter
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkFileFilter>?)
Parameters
op
pointer to the underlying object
-
Designated initialiser from the underlying
C
data type. Will retainGtkFileFilter
. i.e., ownership is transferred to theFileFilter
instance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkFileFilter>)
Parameters
op
pointer to the underlying object
-
Reference intialiser for a related type that implements
FileFilterProtocol
Will retainGtkFileFilter
.Declaration
Swift
@inlinable public init<T>(fileFilter other: T) where T : FileFilterProtocol
Parameters
other
an instance of a related type that implements
FileFilterProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)
Parameters
p
raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)
Parameters
p
mutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)
Parameters
raw
mutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
FileFilterProtocol
.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Creates a new
GtkFileFilter
with no rules added to it.Such a filter doesn’t accept any files, so is not particularly useful until you add rules with [method
Gtk.FileFilter.add_mime_type
], [methodGtk.FileFilter.add_pattern
], [methodGtk.FileFilter.add_suffix
] or [methodGtk.FileFilter.add_pixbuf_formats
].To create a filter that accepts any file, use:
GtkFileFilter *filter = gtk_file_filter_new (); gtk_file_filter_add_pattern (filter, "*");
Declaration
Swift
@inlinable public init()
-
Deserialize a file filter from a
GVariant
.The variant must be in the format produced by [method
Gtk.FileFilter.to_gvariant
].Declaration
Swift
@inlinable public init<VariantT>(gvariant variant: VariantT) where VariantT : VariantProtocol
-
Deserialize a file filter from a
GVariant
.The variant must be in the format produced by [method
Gtk.FileFilter.to_gvariant
].Declaration
Swift
@inlinable public static func newFromG<VariantT>(gvariant variant: VariantT) -> FileFilter! where VariantT : VariantProtocol