Spec-Zone.ru › GTK 3.24

GtkRecentFilter

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

Функции

gboolean (*GtkRecentFilterFunc) ()
GtkRecentFilter * gtk_recent_filter_new ()
const gchar * gtk_recent_filter_get_name ()
void gtk_recent_filter_set_name ()
void gtk_recent_filter_add_mime_type ()
void gtk_recent_filter_add_pattern ()
void gtk_recent_filter_add_pixbuf_formats ()
void gtk_recent_filter_add_application ()
void gtk_recent_filter_add_group ()
void gtk_recent_filter_add_age ()
void gtk_recent_filter_add_custom ()
GtkRecentFilterFlags gtk_recent_filter_get_needed ()
gboolean gtk_recent_filter_filter ()

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

GtkRecentFilter
struct GtkRecentFilterInfo
enum GtkRecentFilterFlags

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkRecentFilter

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

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

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

#include <gtk/gtk.h>

Описание

Класс GtkRecentFilter может использоваться для ограничения файлов, отображаемых в GtkRecentChooser. Файлы можно отфильтровать по имени (с помощью gtk_recent_filter_add_pattern()), по MIME-типу (с помощью gtk_file_filter_add_mime_type()), по приложению, которое их зарегистрировало (с помощью gtk_recent_filter_add_application()) или с помощью пользовательской функции фильтрации (с помощью gtk_recent_filter_add_custom()).

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

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

Недавно используемые файлы поддерживаются с GTK+ 2.10.

GtkRecentFilter как GtkBuildable

Реализация GtkRecentFilter интерфейса GtkBuildable поддерживает добавление правил с использованием элементов <mime-types>, <patterns> и <applications> и перечисления правил внутри. Указание <mime-type>, <pattern> или <application> имеет тот же эффект, что и вызов gtk_recent_filter_add_mime_type(), gtk_recent_filter_add_pattern() или gtk_recent_filter_add_application().

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

Функции

GtkRecentFilterFunc ()

gboolean
(*GtkRecentFilterFunc) (const GtkRecentFilterInfo *filter_info,
                        gpointer user_data);

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

Параметры

filter_info

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

user_data

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

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

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

gtk_recent_filter_new ()

GtkRecentFilter *
gtk_recent_filter_new (void);

Создаёт новый GtkRecentFilter без добавленных правил. Такой фильтр не принимает какие-либо недавно использованные ресурсы, поэтому он не особо полезен, пока вы не добавите правила с помощью gtk_recent_filter_add_pattern(), gtk_recent_filter_add_mime_type(), gtk_recent_filter_add_application(), gtk_recent_filter_add_age(). Чтобы создать фильтр, принимающий любые недавно использованные ресурсы, используйте:

<object class="GtkRecentFilter">
  <mime-types>
    <mime-type>text/plain</mime-type>
    <mime-type>image/png</mime-type>
  </mime-types>
  <patterns>
    <pattern>*.txt</pattern>
    <pattern>*.png</pattern>
  </patterns>
  <applications>
    <application>gimp</application>
    <application>gedit</application>
    <application>glade</application>
  </applications>
</object>

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

новый GtkRecentFilter

С: 2.10

gtk_recent_filter_get_name ()

const gchar *
gtk_recent_filter_get_name (GtkRecentFilter *filter);

Возвращает удобочитаемое имя фильтра. См. gtk_recent_filter_set_name().

Параметры

filter

объект GtkRecentFilter

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

имя фильтра или NULL. Возвращаемая строка принадлежит объекту фильтра и не должна освобождаться.

[nullable]

С: 2.10

gtk_recent_filter_set_name ()

void
gtk_recent_filter_set_name (GtkRecentFilter *filter,
                            const gchar *name);

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

Параметры

filter

объект GtkRecentFilter

name

удобочитаемое имя filter

С: 2.10

gtk_recent_filter_add_mime_type ()

void
gtk_recent_filter_add_mime_type (GtkRecentFilter *filter,
                                 const gchar *mime_type);

Добавляет правило, позволяющее ресурсам на основе их зарегистрированного MIME-типа.

Параметры

filter

объект GtkRecentFilter

mime_type

MIME-тип

С: 2.10

gtk_recent_filter_add_pattern ()

void
gtk_recent_filter_add_pattern (GtkRecentFilter *filter,
                               const gchar *pattern);

Добавляет правило, позволяющее ресурсам на основе шаблона соответствия их имени для отображения.

Параметры

filter

объект GtkRecentFilter

pattern

шаблон файла

С: 2.10

gtk_recent_filter_add_pixbuf_formats ()

void
gtk_recent_filter_add_pixbuf_formats (GtkRecentFilter *filter);

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

Параметры

filter

объект GtkRecentFilter

С: 2.10

gtk_recent_filter_add_application ()

void
gtk_recent_filter_add_application (GtkRecentFilter *filter,
                                   const gchar *application);

Добавляет правило, позволяющее ресурсам на основе имени приложения, которое их зарегистрировало.

Параметры

filter

объект GtkRecentFilter

application

имя приложения

С: 2.10

gtk_recent_filter_add_group ()

void
gtk_recent_filter_add_group (GtkRecentFilter *filter,
                             const gchar *group);

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

Параметры

filter

объект GtkRecentFilter

group

имя группы

С: 2.10

gtk_recent_filter_add_age ()

void
gtk_recent_filter_add_age (GtkRecentFilter *filter,
                           gint days);

Добавляет правило, позволяющее ресурсам на основе их возраста — то есть числа прошедших дней с момента последнего изменения.

Параметры

filter

объект GtkRecentFilter

days

количество дней

С: 2.10

gtk_recent_filter_add_custom ()

void
gtk_recent_filter_add_custom (GtkRecentFilter *filter,
                              GtkRecentFilterFlags needed,
                              GtkRecentFilterFunc func,
                              gpointer data,
                              GDestroyNotify data_destroy);

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

Параметры

filter

объект GtkRecentFilter

needed

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

func

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

data

данные, передаваемые в func

data_destroy

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

С: 2.10

gtk_recent_filter_get_needed ()

GtkRecentFilterFlags
gtk_recent_filter_get_needed (GtkRecentFilter *filter);

Получает поля, которые необходимо заполнить для GtkRecentFilterInfo, передаваемого в gtk_recent_filter_filter()

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

Параметры

filter

a GtkRecentFilter

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

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

С: 2.10

gtk_recent_filter_filter ()

gboolean
gtk_recent_filter_filter (GtkRecentFilter *filter,
                          const GtkRecentFilterInfo *filter_info);

Проверяет, следует ли отображать файл в соответствии с filter. GtkRecentFilterInfo filter_info должен содержать поля, возвращённые функцией gtk_recent_filter_get_needed(), и должен установить поле GtkRecentFilterInfo.contains filter_info, чтобы указать, какие поля установлены.

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

Параметры

filter

a GtkRecentFilter

filter_info

a GtkRecentFilterInfo содержащий информацию о недавно использованном ресурсе

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

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

С: 2.10

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

GtkRecentFilter

typedef struct _GtkRecentFilter GtkRecentFilter;

struct GtkRecentFilterInfo

struct GtkRecentFilterInfo {
  GtkRecentFilterFlags contains;

  const gchar *uri;
  const gchar *display_name;
  const gchar *mime_type;
  const gchar **applications;
  const gchar **groups;

  gint age;
};

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

Члены

GtkRecentFilterFlags contains;

GtkRecentFilterFlags для указания, какие поля установлены.

const gchar *uri;

URI тестируемого файла.

[nullable]

const gchar *display_name;

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

[nullable]

const gchar *mime_type;

MIME-тип файла.

[nullable]

const gchar **applications;

Список приложений, зарегистрировавших файл.

[nullable][array zero-terminated=1]

const gchar **groups;

Группы, к которым принадлежит файл.

[nullable][array zero-terminated=1]

gint age;

Количество прошедших дней с момента регистрации файла.

enum GtkRecentFilterFlags

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

Члены

GTK_RECENT_FILTER_URI

URI тестируемого файла

GTK_RECENT_FILTER_DISPLAY_NAME

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

GTK_RECENT_FILTER_MIME_TYPE

MIME-тип файла

GTK_RECENT_FILTER_APPLICATION

Список приложений, зарегистрировавших файл

GTK_RECENT_FILTER_GROUP

Группы, к которым принадлежит файл

GTK_RECENT_FILTER_AGE

Количество прошедших дней с момента регистрации файла

© 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/GtkRecentFilter.html

Spec-Zone.ru

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