GtkFileFilter
GtkFileFilter — Фильтрование файлов
Функции
| GtkFileFilter * | gtk_file_filter_new () |
| void | gtk_file_filter_set_name () |
| const char * | gtk_file_filter_get_name () |
| void | gtk_file_filter_add_mime_type () |
| void | gtk_file_filter_add_pattern () |
| void | gtk_file_filter_add_pixbuf_formats () |
| const char ** | gtk_file_filter_get_attributes () |
| GtkFileFilter * | gtk_file_filter_new_from_gvariant () |
| GVariant * | gtk_file_filter_to_gvariant () |
Свойства
| char * | name | Чтение/Запись |
Типы и значения
Иерархия объектов
GObject
╰── GtkFilter
╰── GtkFileFilter
Реализованные интерфейсы
GtkFileFilter реализует GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkFileFilter используется для ограничения файлов, отображаемых в GtkFileChooser. Файлы могут быть отфильтрованы по имени (с помощью gtk_file_filter_add_pattern()) или по типу MIME (с помощью gtk_file_filter_add_mime_type()).
Фильтрование по типам MIME обрабатывает алиасы и подклассы типов MIME; например, фильтр для text/plain также соответствует файлу с типом MIME application/rtf, так как application/rtf является подклассом text/plain. Обратите внимание, что GtkFileFilter допускает подстановочные знаки для подтипа типа MIME, поэтому можно, например, отфильтровать по image/*.
Обычно фильтры файлов добавляются в GtkFileChooser (см. gtk_file_chooser_add_filter()), но также можно вручную использовать фильтр файлов для любого GtkFilterListModel, содержащего объекты GFileInfo.
GtkFileFilter как GtkBuildable
Реализация GtkFileFilter интерфейса GtkBuildable поддерживает добавление правил с помощью элементов <mime-types> и <patterns> и перечисление правил внутри. Указание <mime-type> или <pattern> имеет тот же эффект, что и вызов gtk_file_filter_add_mime_type() или gtk_file_filter_add_pattern().
Пример фрагмента определения пользовательского интерфейса, определяющего правила GtkFileFilter:
Функции
gtk_file_filter_new ()
GtkFileFilter *
gtk_file_filter_new (void); Создаёт новый объект GtkFileFilter без добавленных правил.
Такой фильтр не принимает никакие файлы, поэтому он не особенно полезен, пока вы не добавите правила с помощью gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern() или gtk_file_filter_add_pixbuf_formats().
Чтобы создать фильтр, принимающий любые файлы, используйте:
<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>
<pattern>*.png</pattern>
</patterns>
</object>Возвращает
новый объект GtkFileFilter
gtk_file_filter_set_name ()
void gtk_file_filter_set_name (GtkFileFilter *filter,const char *name);
Устанавливает удобочитаемое имя фильтра; это строка, которая будет отображаться в файловом диалоге, если есть список выбираемых фильтров.
Параметры
filter | объект GtkFileFilter | |
name | удобочитаемое имя фильтра, или | [allow-none] |
gtk_file_filter_get_name ()
const char *
gtk_file_filter_get_name (GtkFileFilter *filter); Возвращает удобочитаемое имя фильтра. Смотрите gtk_file_filter_set_name().
Параметры
filter | объект GtkFileFilter |
Возвращает
Удобочитаемое имя фильтра, или NULL. Это значение принадлежит GTK и его нельзя изменять или освобождать.
[nullable]
gtk_file_filter_add_mime_type ()
void gtk_file_filter_add_mime_type (GtkFileFilter *filter,const char *mime_type);
Добавляет правило, разрешающее заданный тип MIME для filter .
Параметры
filter | Объект GtkFileFilter | |
mime_type | Имя типа MIME |
gtk_file_filter_add_pattern ()
void gtk_file_filter_add_pattern (GtkFileFilter *filter,const char *pattern);
Добавляет правило, разрешающее шаблон в стиле оболочки к фильтру.
Параметры
filter | объект GtkFileFilter | |
pattern | шаблон в стиле оболочки |
gtk_file_filter_add_pixbuf_formats ()
void
gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter); Добавляет правило, разрешающее файлы изображений в форматах, поддерживаемых GdkPixbuf.
Это эквивалентно вызову gtk_file_filter_add_mime_type() для всех поддерживаемых типов MIME.
Параметры
filter | объект GtkFileFilter |
gtk_file_filter_get_attributes ()
const char **
gtk_file_filter_get_attributes (GtkFileFilter *filter); Получает атрибуты, которые нужно заполнить для GFileInfo, передаваемого в этот фильтр.
В приложениях обычно эта функция не используется; она предназначена главным образом для использования при реализации GtkFileChooser.
Параметры
filter | объект GtkFileFilter |
Возвращает
атрибуты.
[transfer none]
gtk_file_filter_new_from_gvariant ()
GtkFileFilter *
gtk_file_filter_new_from_gvariant (GVariant *variant); Десериализует фильтр файлов из варианта a{sv} в формате, созданном gtk_file_filter_to_gvariant().
Параметры
variant | вариант a{sv} GVariant |
gtk_file_filter_to_gvariant ()
GVariant *
gtk_file_filter_to_gvariant (GtkFileFilter *filter); Сериализует фильтр файлов в вариант a{sv}.
Параметры
filter | объект GtkFileFilter |
Возвращает
новый, плавающий, GVariant.
[transfer none]
Типы и значения
GtkFileFilter
typedef struct _GtkFileFilter GtkFileFilter;
Подробные сведения о свойствах
Свойство “name”
“name” char *
Удобочитаемое имя фильтра.
Это строка, которая будет отображаться в интерфейсе выбора файла, если есть переключаемый список фильтров.
Владелец: GtkFileFilter
Флаги: Чтение / Запись
Значение по умолчанию: NULL
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkFileFilter.html