Spec-Zone.ru › GTK 3.24

GtkFileFilter

GtkFileFilter — Фильтр для выбора подмножества файлов

Функции

gboolean (*GtkFileFilterFunc) ()
GtkFileFilter * gtk_file_filter_new ()
void gtk_file_filter_set_name ()
const gchar * 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 ()
void gtk_file_filter_add_custom ()
GtkFileFilterFlags gtk_file_filter_get_needed ()
gboolean gtk_file_filter_filter ()
GtkFileFilter * gtk_file_filter_new_from_gvariant ()
GVariant * gtk_file_filter_to_gvariant ()

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

GtkFileFilter
struct GtkFileFilterInfo
перечисление GtkFileFilterFlags

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkFileFilter

Реализованные интерфейсы

GtkFileFilter реализует GtkBuildable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkFileFilter может использоваться для ограничения файлов, отображаемых в GtkFileChooser. Файлы могут быть отфильтрованы по имени (с помощью gtk_file_filter_add_pattern()), по типу MIME (с помощью gtk_file_filter_add_mime_type()) или с помощью пользовательской функции фильтра (с помощью gtk_file_filter_add_custom()).

Фильтрование по типам MIME обрабатывает алиасы и подклассы типов MIME; например, фильтр для text/plain также соответствует файлу с типом MIME application/rtf, так как application/rtf является подклассом text/plain. Обратите внимание, что GtkFileFilter допускает использование символов подстановки для подтипа типа MIME, поэтому вы можете, например, фильтровать по image/*.

Обычно фильтры используются путем добавления их в GtkFileChooser, см. gtk_file_chooser_add_filter(), но также возможно использовать фильтр вручную для файла с помощью gtk_file_filter_filter().

GtkFileFilter как GtkBuildable

Реализация GtkFileFilter интерфейса GtkBuildable поддерживает добавление правил с помощью элементов <mime-types>, <patterns> и <applications> и перечисление правил в них. Указание <mime-type> или <pattern> имеет тот же эффект, что и вызов gtk_file_filter_add_mime_type() или gtk_file_filter_add_pattern().

Пример фрагмента определения пользовательского интерфейса, указывающего правила GtkFileFilter:

Функции

GtkFileFilterFunc ()

gboolean
(*GtkFileFilterFunc) (const GtkFileFilterInfo *filter_info,
                      gpointer data);

Тип функции, используемой с пользовательскими фильтрами, см. gtk_file_filter_add_custom().

Параметры

filter_info

структура GtkFileFilterInfo, заполняемая в соответствии с флагами needed, переданными в gtk_file_filter_add_custom()

data

пользовательские данные, переданные в gtk_file_filter_add_custom().

[closure]

Возвращает

TRUE если файл должен быть отображен

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_custom(). Чтобы создать фильтр, принимающий любые файлы, используйте:

<object class="GtkFileFilter">
  <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

С: 2.4

gtk_file_filter_set_name ()

void
gtk_file_filter_set_name (GtkFileFilter *filter,
                          const gchar *name);

Устанавливает удобочитаемое имя фильтра; это строка, которая будет отображена в пользовательском интерфейсе выбора файлов, если есть список фильтров для выбора.

Параметры

filter

a GtkFileFilter

name

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

[allow-none]

С: 2.4

gtk_file_filter_get_name ()

const gchar *
gtk_file_filter_get_name (GtkFileFilter *filter);

Получает удобочитаемое имя фильтра. См. gtk_file_filter_set_name().

Параметры

filter

a GtkFileFilter

Возвращает

Удобочитаемое имя фильтра или NULL. Это значение принадлежит GTK+ и его нельзя изменять или освобождать.

[nullable]

С: 2.4

gtk_file_filter_add_mime_type ()

void
gtk_file_filter_add_mime_type (GtkFileFilter *filter,
                               const gchar *mime_type);

Добавляет правило, разрешающее указанный тип MIME для filter .

Параметры

filter

A GtkFileFilter

mime_type

имя типа MIME

С: 2.4

gtk_file_filter_add_pattern ()

void
gtk_file_filter_add_pattern (GtkFileFilter *filter,
                             const gchar *pattern);

Добавляет правило, разрешающее шаблон в стиле оболочки для фильтра.

Параметры

filter

a GtkFileFilter

pattern

шаблон в стиле оболочки

С: 2.4

gtk_file_filter_add_pixbuf_formats ()

void
gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter);

Добавляет правило, разрешающее файлы изображений в форматах, поддерживаемых GdkPixbuf.

Параметры

filter

a GtkFileFilter

С: 2.6

gtk_file_filter_add_custom ()

void
gtk_file_filter_add_custom (GtkFileFilter *filter,
                            GtkFileFilterFlags needed,
                            GtkFileFilterFunc func,
                            gpointer data,
                            GDestroyNotify notify);

Добавляет правило в фильтр, разрешающее файлы на основе пользовательской функции обратного вызова. Битовая маска needed, которая передаётся, предоставляет информацию о том, какие типы информации функция фильтра нуждается; это позволяет GTK+ избегать получения дорогостоящей информации, когда она не нужна фильтру.

Параметры

filter

a GtkFileFilter

needed

битовая маска флагов, указывающих информацию, необходимую пользовательской функции фильтра.

func

функция обратного вызова; если функция возвращает TRUE, то файл будет отображен.

data

данные для передачи в func

notify

функция для вызова, чтобы освободить data, когда она больше не нужна.

С: 2.4

gtk_file_filter_get_needed ()

GtkFileFilterFlags
gtk_file_filter_get_needed (GtkFileFilter *filter);

Получает поля, которые нужно заполнить в GtkFileFilterInfo, передаваемой в gtk_file_filter_filter()

Обычно приложения не используют эту функцию; она предназначена главным образом для использования в реализации GtkFileChooser.

Параметры

filter

a GtkFileFilter

Возвращает

битовая маска флагов, указывающих необходимые поля при вызове gtk_file_filter_filter()

С: 2.4

gtk_file_filter_filter ()

gboolean
gtk_file_filter_filter (GtkFileFilter *filter,
                        const GtkFileFilterInfo *filter_info);

Проверяет, следует ли отображать файл в соответствии с filter. Структура GtkFileFilterInfo filter_info должна содержать поля, возвращаемые функцией gtk_file_filter_get_needed().

Как правило, эта функция не используется приложениями; она предназначена в основном для использования в реализации GtkFileChooser.

Параметры

filter

a GtkFileFilter

filter_info

a GtkFileFilterInfo, содержащая информацию о файле.

Возвращаемое значение

TRUE если файл следует отобразить

Since: 2.4

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]

Since: 3.22

gtk_file_filter_to_gvariant ()

GVariant *
gtk_file_filter_to_gvariant (GtkFileFilter *filter);

Сериализация фильтра файлов в a{sv} вариант.

Параметры

filter

a GtkFileFilter

Возвращаемое значение

новый, плавающий, GVariant.

[transfer none]

Since: 3.22

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

GtkFileFilter

typedef struct _GtkFileFilter GtkFileFilter;

struct GtkFileFilterInfo

struct GtkFileFilterInfo {
  GtkFileFilterFlags contains;

  const gchar *filename;
  const gchar *uri;
  const gchar *display_name;
  const gchar *mime_type;
};

Структура GtkFileFilterInfo используется для передачи информации о тестируемом файле функции gtk_file_filter_filter().

Члены

GtkFileFilterFlags contains;

Флаги, указывающие, какие из следующих полей необходимо заполнить

const gchar *filename;

имя файла, который тестируется

const gchar *uri;

URI файла, который тестируется

const gchar *display_name;

строка, которая будет использоваться для отображения файла в файловом менеджере

const gchar *mime_type;

тип MIME файла

enum GtkFileFilterFlags

Эти флаги указывают, какие части структуры GtkFileFilterInfo заполнены или должны быть заполнены.

Члены

GTK_FILE_FILTER_FILENAME

имя файла, который тестируется

GTK_FILE_FILTER_URI

URI файла, который тестируется

GTK_FILE_FILTER_DISPLAY_NAME

строка, которая будет использоваться для отображения файла в файловом менеджере

GTK_FILE_FILTER_MIME_TYPE

тип MIME файла

См. также

GtkFileChooser

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkFileFilter.html

Spec-Zone.ru

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