краткое описание#include <gtk/gtk.h> gtkfilefilter; gtkfilefilterinfo; enum gtkfilefilterflags; gboolean (*gtkfilefilterfunc) (const gtkfilefilterinfo *filter_info, gpointer data); gtkfilefilter* gtk_file_filter_new (void); void gtk_file_filter_set_name (gtkfilefilter *filter, const gchar *name); const gchar* gtk_file_filter_get_name (gtkfilefilter *filter); void gtk_file_filter_add_mime_type (gtkfilefilter *filter, const gchar *mime_type); void gtk_file_filter_add_pattern (gtkfilefilter *filter, const gchar *pattern); void gtk_file_filter_add_pixbuf_formats (gtkfilefilter *filter); void gtk_file_filter_add_custom (gtkfilefilter *filter, gtkfilefilterflags needed, gtkfilefilterfunc func, gpointer data, gdestroynotify notify); gtkfilefilterflags gtk_file_filter_get_needed (gtkfilefilter *filter); gboolean gtk_file_filter_filter (gtkfilefilter *filter, const gtkfilefilterinfo *filter_info); иерархия объектовgobject +----ginitiallyunowned +----gtkobject +----gtkfilefilter описание gtkfilefilter может использоваться для
ограничения показываемых файлов в
gtkfilechooser. файлы могут
фильтроваться по имени (с помощью
фильтрация mime типов обрабатывает связи и подклассы mime типов; например фильтр для text/plain также означает файлы с mime типом application/rtf, так как application/rtf это подкласс text/plain. помните что gtkfilefilter допускает шаблоны для подтипов mime типа, таким образом вы можете использовать например фильтр image/*. обычно, фильтры используются добавляя
их к gtkfilechooser, смотрите
деталиgtkfilefiltertypedef struct _gtkfilefilter gtkfilefilter; структура gtkfilefilter содержит только закрытые данные и не должна использоваться непосредственно. gtkfilefilterinfotypedef struct {
gtkfilefilterflags contains;
const gchar *filename;
const gchar *uri;
const gchar *display_name;
const gchar *mime_type;
} gtkfilefilterinfo;
структура gtkfilefilterinfo используется для
размещения информации о проверяемом
файле в
enum gtkfilefilterflagstypedef enum {
gtk_file_filter_filename = 1 << 0,
gtk_file_filter_uri = 1 << 1,
gtk_file_filter_display_name = 1 << 2,
gtk_file_filter_mime_type = 1 << 3
} gtkfilefilterflags; эти флажки указывают какая часть структуры gtkfilefilterinfo заполнена или нуждается в заполнении.
gtkfilefilterfunc ()gboolean (*gtkfilefilterfunc) (const gtkfilefilterinfo *filter_info, gpointer data);
тип функции которая используется для
выборочной фильтрации, смотрите
gtk_file_filter_new ()gtkfilefilter* gtk_file_filter_new (void);
создаёт новый gtkfilefilter
без добавленных в него правил. такой
фильтр отвергает все файлы, поэтому
бесполезен без добавления правил с
помощью gtkfilefilter *filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, "*");
начиная с версии 2.4 gtk_file_filter_set_name ()void gtk_file_filter_set_name (gtkfilefilter *filter, const gchar *name); устанавливает, удобное для чтения пользователем, имя фильтра; это строка которая будет отображаться в интерфейсе селектора файлов, если есть список выбираемых фильтров.
начиная с версии 2.4 gtk_file_filter_get_name ()const gchar* gtk_file_filter_get_name (gtkfilefilter *filter);
определяет читабельное имя фильтра.
смотрите
начиная с версии 2.4 gtk_file_filter_add_mime_type ()void gtk_file_filter_add_mime_type (gtkfilefilter *filter, const gchar *mime_type);
добавляет правило позволяющее полученный
mime тип для
начиная с версии 2.4 gtk_file_filter_add_pattern ()void gtk_file_filter_add_pattern (gtkfilefilter *filter, const gchar *pattern); добавляет правило позволяющее общий стиль оболочки для фильтра.
начиная с версии 2.4 gtk_file_filter_add_pixbuf_formats ()void gtk_file_filter_add_pixbuf_formats (gtkfilefilter *filter); добавляет правило допускающее файлы изображения в формате поддерживаемом gdkpixbuf.
начиная с версии 2.6 gtk_file_filter_add_custom ()void gtk_file_filter_add_custom (gtkfilefilter *filter, gtkfilefilterflags needed, gtkfilefilterfunc func, gpointer data, gdestroynotify notify);
добавляет правило к фильтру позволяющему
файлы основываясь на выборочной функции.
логическое поле
начиная с версии 2.4 gtk_file_filter_get_needed ()gtkfilefilterflags gtk_file_filter_get_needed (gtkfilefilter *filter);
определяет поля необходимые для
заполнения в структуре помещаемой в
эта функция обычно не будет использоваться в приложениях; она предназначена преимущественно для использования в реализации gtkfilechooser.
начиная с версии 2.4 gtk_file_filter_filter ()gboolean gtk_file_filter_filter (gtkfilefilter *filter, const gtkfilefilterinfo *filter_info);
проверяет должен ли отображаться файл
согласно эта функция обычно не будет использоваться в приложениях; она предназначена преимущественно для использования в реализации gtkfilechooser.
начиная с версии 2.4 смотрите также |