Spec-Zone.ru › GTK 4.0

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 Чтение/Запись

Типы и значения

GtkFileFilter

Иерархия объектов

    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

удобочитаемое имя фильтра, или NULL для удаления существующего имени.

[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

Возвращает

новый объект GtkFileFilter.

[transfer full]

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

См. также

GtkFileChooser

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API