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 |
| перечисление | 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, заполненная в соответствии с флагами | |
user_data | пользовательские данные, переданные в |
Возвращаемое значение
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 |
Возвращаемое значение
имя фильтра или NULL. Возвращаемая строка принадлежит объекту фильтра и не должна освобождаться.
[nullable]
С: 2.10
gtk_recent_filter_set_name ()
void gtk_recent_filter_set_name (GtkRecentFilter *filter,const gchar *name);
Устанавливает удобочитаемое имя фильтра; эта строка будет отображаться в пользовательском интерфейсе выбора недавно использованных ресурсов, если есть выбор списка фильтров.
Параметры
filter | ||
name | удобочитаемое имя |
С: 2.10
gtk_recent_filter_add_mime_type ()
void gtk_recent_filter_add_mime_type (GtkRecentFilter *filter,const gchar *mime_type);
Добавляет правило, позволяющее ресурсам на основе их зарегистрированного MIME-типа.
Параметры
filter | ||
mime_type | MIME-тип |
С: 2.10
gtk_recent_filter_add_pattern ()
void gtk_recent_filter_add_pattern (GtkRecentFilter *filter,const gchar *pattern);
Добавляет правило, разрешающее ресурсы на основе соответствия шаблону их имени отображения.
Параметры
filter | ||
pattern | шаблон файла |
С: 2.10
gtk_recent_filter_add_pixbuf_formats ()
void
gtk_recent_filter_add_pixbuf_formats (GtkRecentFilter *filter); Добавляет правило, разрешающее изображения в форматах, поддерживаемых GdkPixbuf.
Параметры
filter |
С: 2.10
gtk_recent_filter_add_application ()
void gtk_recent_filter_add_application (GtkRecentFilter *filter,const gchar *application);
Добавляет правило, позволяющее ресурсы на основе имени приложения, которое их зарегистрировало.
Параметры
filter | ||
application | имя приложения |
С: 2.10
gtk_recent_filter_add_group ()
void gtk_recent_filter_add_group (GtkRecentFilter *filter,const gchar *group);
Добавляет правило, разрешающее ресурсы на основе имени группы, к которой они относятся.
Параметры
filter | ||
group | имя группы |
С: 2.10
gtk_recent_filter_add_age ()
void gtk_recent_filter_add_age (GtkRecentFilter *filter,gint days);
Добавляет правило, позволяющее ресурсы на основе их возраста — количество дней, прошедших с момента последнего изменения.
Параметры
filter | ||
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 | ||
needed | битовое поле флагов, указывающее информацию, необходимую пользовательской функции фильтра. | |
func | функция обратного вызова; если функция возвращает | |
data | данные для передачи в | |
data_destroy | функция для освобождения |
С: 2.10
gtk_recent_filter_get_needed ()
GtkRecentFilterFlags
gtk_recent_filter_get_needed (GtkRecentFilter *filter); Получает поля, которые необходимо заполнить для GtkRecentFilterInfo, передаваемого в gtk_recent_filter_filter().
Как правило, эта функция не используется приложениями; она предназначена в основном для использования при реализации GtkRecentChooser.
Параметры
filter |
Возвращаемое значение
побитовое поле флагов, указывающее необходимые поля при вызове gtk_recent_filter_filter()
Since: 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 | ||
filter_info | a GtkRecentFilterInfo содержащий информацию о недавно использованном ресурсе |
Возвращаемое значение
TRUE если файл должен быть отображен
Since: 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 | GtkRecentFilterFlags, указывающие, какие поля установлены. | |
const gchar * | URI проверяемого файла. | [nullable] |
const gchar * | Строка, используемая для отображения файла в выборе недавних файлов. | [nullable] |
const gchar * | Тип MIME файла. | [nullable] |
const gchar ** | Список приложений, которые зарегистрировали файл. | [nullable][array zero-terminated=1] |
const gchar ** | Группы, к которым принадлежит файл. | [nullable][array zero-terminated=1] |
gint | Количество дней, прошедших с момента регистрации файла. |
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.22/GtkRecentFilter.html