GTK+ Reference Manual |
||||
---|---|---|---|---|
GtkRecentFilterGtkRecentFilter Фильтр для выделения подмножества недавно использованных файлов |
#include <gtk/gtk.h>
GtkRecentFilter;
GtkRecentFilterInfo;
enum GtkRecentFilterFlags;
gboolean (*GtkRecentFilterFunc) (const GtkRecentFilterInfo *filter_info,
gpointer user_data);
GtkRecentFilter* gtk_recent_filter_new (void);
const gchar* gtk_recent_filter_get_name (GtkRecentFilter *filter);
void gtk_recent_filter_set_name (GtkRecentFilter *filter,
const gchar *name);
void gtk_recent_filter_add_mime_type (GtkRecentFilter *filter,
const gchar *mime_type);
void gtk_recent_filter_add_pattern (GtkRecentFilter *filter,
const gchar *pattern);
void gtk_recent_filter_add_pixbuf_formats
(GtkRecentFilter *filter);
void gtk_recent_filter_add_application
(GtkRecentFilter *filter,
const gchar *application);
void gtk_recent_filter_add_group (GtkRecentFilter *filter,
const gchar *group);
void gtk_recent_filter_add_age (GtkRecentFilter *filter,
gint days);
void gtk_recent_filter_add_custom (GtkRecentFilter *filter,
GtkRecentFilterFlags needed,
GtkRecentFilterFunc func,
gpointer data,
GDestroyNotify data_destroy);
GtkRecentFilterFlags gtk_recent_filter_get_needed
(GtkRecentFilter *filter);
gboolean gtk_recent_filter_filter (GtkRecentFilter *filter,
const GtkRecentFilterInfo *filter_info);
GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkRecentFilter
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.
typedef struct _GtkRecentFilter GtkRecentFilter;Структура GtkRecentFilter содержит только закрытые поля к которым нет непосредственного доступа.
GtkRecentFilterInfo
typedef struct { GtkRecentFilterFlags contains; const gchar *uri; const gchar *display_name; const gchar *mime_type; const gchar **applications; const gchar **groups; gint age; } GtkRecentFilterInfo;
Структура GtkRecentFilterInfo используется для размещения информации о проверяемом файле в
gtk_recent_filter_filter()
.
GtkRecentFilterFlags |
Флаги указывают какие следующие поля нужно заполнить |
const gchar * |
URI проверяемого файла |
const gchar * |
Строка которая используется для отображения файла в селекторе недавно использованных файлов |
const gchar * |
mime тип файла |
const gchar ** |
Список приложений зарегистрированных с файлом |
const gchar ** |
Группы к которым принадлежит файл |
gint |
Количество истекших дней с момента регистрации файла |
typedef enum {
GTK_RECENT_FILTER_URI = 1 << 0,
GTK_RECENT_FILTER_DISPLAY_NAME = 1 << 1,
GTK_RECENT_FILTER_MIME_TYPE = 1 << 2,
GTK_RECENT_FILTER_APPLICATION = 1 << 3,
GTK_RECENT_FILTER_GROUP = 1 << 4,
GTK_RECENT_FILTER_AGE = 1 << 5
} GtkRecentFilterFlags;
Эти флаги указывают какая часть структуры GtkRecentFilterInfo заполнена или должна быть заполнена.
URI проверяемого файла |
|
Строка которая используется для отображения файла в селекторе недавно использованных файлов |
|
mime тип файла |
|
Список приложений зарегистрированных с файлом |
|
Группы к которым принадлежит файл |
|
Количество истекших дней с момента регистрации файла |
gboolean (*GtkRecentFilterFunc) (const GtkRecentFilterInfo *filter_info,
gpointer user_data);
Тип функции которая используется для
выборочной фильтрации, смотрите
gtk_recent_filter_add_custom()
.
|
GtkRecentFilterInfo которая
заполняется согласно |
|
Пользовательские данные помещаемые
в |
Возвращает : |
|
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()
. Для создания фильтра показывающего все недавно использованные файлы используйте:GtkRecentFilter *filter = gtk_recent_filter_new (); gtk_recent_filter_add_pattern (filter, "*");
Возвращает : |
Новый GtkRecentFilter |
Начиная с версии 2.10
const gchar* gtk_recent_filter_get_name (GtkRecentFilter *filter);Выдаёт читабельное (human-readable) имя для фильтра. Смотрите
gtk_recent_filter_set_name()
.
|
|
Возвращает : |
Имя фильтра, или |
Начиная с версии 2.10
void gtk_recent_filter_set_name (GtkRecentFilter *filter,
const gchar *name);
Устанавливает читабельное (human-readable) имя фильтра; это строка которая отображается в селекторе недавно использованных файлов пользовательского интерфейса если есть список выбираемых фильтров.
|
|
|
Читабельное имя |
Начиная с версии 2.10
void gtk_recent_filter_add_mime_type (GtkRecentFilter *filter,
const gchar *mime_type);
Добавляет правило которое отбирает ресурсы основываясь на их зарегистрированном MIME типе.
|
|
|
MIME тип |
Начиная с версии 2.10
void gtk_recent_filter_add_pattern (GtkRecentFilter *filter,
const gchar *pattern);
Добавляет правило отбора ресурсов основываясь на шаблоне их отображаемых имен.
|
|
|
Шаблон файла |
Начиная с версии 2.10
void gtk_recent_filter_add_pixbuf_formats
(GtkRecentFilter *filter);
Добавляет правило отбора файлов изображений в формате поддерживаемом GdkPixbuf.
|
Начиная с версии 2.10
void gtk_recent_filter_add_application
(GtkRecentFilter *filter,
const gchar *application);
Добавляет правило отбора основываясь на имени зарегистрированного приложения для отображения файлов.
|
|
|
Имя приложения |
Начиная с версии 2.10
void gtk_recent_filter_add_group (GtkRecentFilter *filter,
const gchar *group);
Добавляет правило отбора ресурсов основываясь на имени группы к которой они прнадлежат.
|
|
|
Имя группы |
Начиная с версии 2.10
void gtk_recent_filter_add_age (GtkRecentFilter *filter,
gint days);
Добавляет правило отбора ресурсов основываясь на их возрасте то есть количестве дней прошедших с момента последнего изменения.
|
|
|
Количество дней |
Начиная с версии 2.10
void gtk_recent_filter_add_custom (GtkRecentFilter *filter,
GtkRecentFilterFlags needed,
GtkRecentFilterFunc func,
gpointer data,
GDestroyNotify data_destroy);
Добавляет правило фильтрации которое
основано на выбранной функции. Битовое
поле needed
помещается для
обозначения способа сортировки информации
в которой нуждается функция фильтрации;
это позволяет GTK+ обходить получение
расширенной информации когда она не
необходима фильтрам.
|
|
|
Битовое поле флагов указывающих информацию отбираемую для функции фильтрации. |
|
callback-функция; если функция возвращает
|
|
Данные помещаемые в |
|
Функция вызываемая для освобождения
данных |
Начиная с версии 2.10
GtkRecentFilterFlags gtk_recent_filter_get_needed
(GtkRecentFilter *filter);
Выдаёт поля которые необходимо заполнить
в структуре помещаемой в
gtk_recent_filter_filter()
Эта функция обычно не используется приложениями; она преимущественно предназначена для использования при реализации GtkRecentChooser.
|
|
Возвращает : |
Битовое поле флагов указывающих
поля необходимые для заполнения при
вызове |
Начиная с версии 2.10
gboolean gtk_recent_filter_filter (GtkRecentFilter *filter,
const GtkRecentFilterInfo *filter_info);
Проверяет должен ли файл отображаться
согласно filter
. GtkRecentFilterInfo
структура filter_info
должна
содержать поля возвращаемые из
gtk_recent_filter_get_needed()
.
Эта функция обычно не используется приложениями; она преимущественно предназначена для использования при реализации GtkRecentChooser.
|
|
|
GtkRecentFilterInfo структура содержащая информацию о недавно использованных ресурсах |
Возвращает : |
|
Начиная с версии 2.10