📄 gtk-gtkfilefilter.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>GtkFileFilter</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GTK+ Reference Manual"><link rel="up" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)"><link rel="prev" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><link rel="next" href="GtkFontButton.html" title="GtkFontButton"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="gtk.html" title="Part I. GTK+ Overview"><link rel="part" href="gtkbase.html" title="Part II. GTK+ Core Reference"><link rel="part" href="gtkobjects.html" title="Part III. GTK+ Widgets and Objects"><link rel="chapter" href="ch01.html" title="Object Hierarchy"><link rel="chapter" href="ch02.html" title="Widget Gallery"><link rel="chapter" href="WindowWidgets.html" title="Windows"><link rel="chapter" href="DisplayWidgets.html" title="Display Widgets"><link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles"><link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry"><link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor"><link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"><link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar"><link rel="chapter" href="Actions.html" title="Action-based menus and toolbars"><link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)"><link rel="chapter" href="LayoutContainers.html" title="Layout Containers"><link rel="chapter" href="Ornaments.html" title="Ornaments"><link rel="chapter" href="ScrollingWidgets.html" title="Scrolling"><link rel="chapter" href="Printing.html" title="Printing"><link rel="chapter" href="MiscObjects.html" title="Miscellaneous"><link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes"><link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding"><link rel="chapter" href="SpecialObjects.html" title="Special-purpose features"><link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents"><link rel="chapter" href="Builder.html" title="Interface builder"><link rel="chapter" href="DeprecatedObjects.html" title="Deprecated"><link rel="part" href="migrating.html" title="Part IV. Migrating from Previous Versions of GTK+"><link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist"><link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser"><link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction"><link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry"><link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView"><link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog"><link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton"><link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant"><link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser"><link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton"><link rel="chapter" href="gtk-migrating-GtkBuilder.html" title="Migrating from libglade to GtkBuilder"><link rel="chapter" href="gtk-migrating-tooltips.html" title="Migrating from GtkTooltips to GtkTooltip"><link rel="part" href="pt05.html" title="Part V. GTK+ Tools"><link rel="glossary" href="glossary.html" title="Glossary"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="GtkFileChooserWidget.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="SelectorWidgets.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GTK+ Reference Manual</th><td><a accesskey="n" href="GtkFontButton.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id4040983" class="shortcut">Top</a>  |  <a href="#id4041366" class="shortcut">Description</a>  |  <a href="#id4041327" class="shortcut">Object Hierarchy</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="gtk-gtkfilefilter"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id4040983"></a><span class="refentrytitle">GtkFileFilter</span></h2><p>GtkFileFilter — A filter for selecting a file subset</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><a name="GtkFileFilter"></a><pre class="synopsis">#include <gtk/gtk.h> <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter-struct">GtkFileFilter</a>; <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterInfo">GtkFileFilterInfo</a>;enum <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterFlags">GtkFileFilterFlags</a>;<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterFunc">*GtkFileFilterFunc</a>) (const <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterInfo">GtkFileFilterInfo</a> *filter_info, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a>* <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-new">gtk_file_filter_new</a> (void);void <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-set-name">gtk_file_filter_set_name</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter, const <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar">gchar</a> *name);const <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar">gchar</a>* <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-get-name">gtk_file_filter_get_name</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);void <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-mime-type">gtk_file_filter_add_mime_type</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter, const <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar">gchar</a> *mime_type);void <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-pattern">gtk_file_filter_add_pattern</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter, const <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar">gchar</a> *pattern);void <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-pixbuf-formats">gtk_file_filter_add_pixbuf_formats</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);void <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-custom">gtk_file_filter_add_custom</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter, <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterFlags">GtkFileFilterFlags</a> needed, <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterFunc">GtkFileFilterFunc</a> func, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data, <ahref="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> notify);<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterFlags">GtkFileFilterFlags</a> <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-get-needed">gtk_file_filter_get_needed</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-filter">gtk_file_filter_filter</a> (<a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter, const <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterInfo">GtkFileFilterInfo</a> *filter_info);</pre></div><div class="refsect1" lang="en"><a name="id4041327"></a><h2>Object Hierarchy</h2><pre class="synopsis"> <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a> +----<ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> +----<a class="link" href="GtkObject.html" title="GtkObject">GtkObject</a> +----GtkFileFilter</pre></div><div class="refsect1" lang="en"><a name="id4041366"></a><h2>Description</h2><p>A GtkFileFilter can be used to restrict the files being shownin a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>. Files can be filtered based on their name(with <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-pattern"><code class="function">gtk_file_filter_add_pattern()</code></a>), on their mime type (with<a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-mime-type"><code class="function">gtk_file_filter_add_mime_type()</code></a>), or by a custom filter function(with <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-add-custom"><code class="function">gtk_file_filter_add_custom()</code></a>). </p><p>Filtering by mime types handles aliasing and subclassing of mimetypes; 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 <a class="link" href="gtk-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a> allows wildcards for the subtype of a mime type, so you can e.g. filter for image/*.</p><p>Normally, filters are used by adding them to a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>,see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-filter"><code class="function">gtk_file_chooser_add_filter()</code></a>, but it is also possibleto manually use a filter on a file with <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-filter"><code class="function">gtk_file_filter_filter()</code></a>.</p></div><div class="refsect1" lang="en"><a name="id4041478"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id4041488"></a><h3><a name="GtkFileFilter-struct"></a>GtkFileFilter</h3><a class="indexterm" name="id4041502"></a><pre class="programlisting">typedef struct _GtkFileFilter GtkFileFilter;</pre><p>The <span class="structname">GtkFileFilter</span> struct containsonly private fields and should not be directly accessed.</p></div><hr><div class="refsect2" lang="en"><a name="id4041522"></a><h3><a name="GtkFileFilterInfo"></a>GtkFileFilterInfo</h3><a class="indexterm" name="id4041534"></a><pre class="programlisting">typedef struct { GtkFileFilterFlags contains; const gchar *filename; const gchar *uri; const gchar *display_name; const gchar *mime_type;} GtkFileFilterInfo;</pre><p>A <span class="structname">GtkFileFilterInfo</span> struct is usedto pass information about the tested file to <a class="link" href="gtk-gtkfilefilter.html#gtk-file-filter-filter"><code class="function">gtk_file_filter_filter()</code></a>. </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><a class="link" href="gtk-gtkfilefilter.html#GtkFileFilterFlags">GtkFileFilterFlags</a> <em class="structfield"><code>contains</code></em>;</span></p></td><td>Flags indicating which of the following fields need are filled</td></tr><tr><td><p><span class="term">const <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar">gchar</a> *<em class="structfield"><code>filename</code></em>;</span></p></td><td>the filename of the file being tested</td></tr><tr><td><p><span class="term">const <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar">gchar</a> *<em class="structfield"><code>uri</code></em>;</span></p></td><td>the URI for the file being tested</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -