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-типа, поэтому можно, например, отфильтровать изображение/*.
Обычно фильтры используются, добавляя их в 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 | объект GtkRecentFilter |
Возвращаемое значение
имя фильтра или NULL. Возвращаемая строка принадлежит объекту фильтра и не должна освобождаться.
[nullable]
С: 2.10
gtk_recent_filter_set_name ()
void gtk_recent_filter_set_name (GtkRecentFilter *filter,const gchar *name);
Устанавливает удобочитаемое имя фильтра; эта строка будет отображаться в пользовательском интерфейсе выбора недавно использованных ресурсов, если имеется переключаемый список фильтров.
Параметры
filter | объект GtkRecentFilter | |
name | удобочитаемое имя |
С: 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 | функция обратного вызова; если функция возвращает | |
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().
С версии: 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, если файл должен быть отображён.
С версии: 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.20/GtkRecentFilter.html