| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| GtkFileFilterGtkFileFilter Фильтр для выбора подмножества файлов | 
#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. Файлы могут
фильтроваться по имени (с помощью
gtk_file_filter_add_pattern()),
по mime типу (с помощью
gtk_file_filter_add_mime_type()),
или выборочно (с помощью
gtk_file_filter_add_custom()).
Фильтрация mime типов обрабатывает связи и подклассы mime типов; например фильтр для text/plain также означает файлы с mime типом application/rtf, так как application/rtf это подкласс text/plain. Помните что GtkFileFilter допускает шаблоны для подтипов mime типа, таким образом вы можете использовать например фильтр image/*.
Обычно, фильтры используются добавляя
их к GtkFileChooser, смотрите
gtk_file_chooser_add_filter(),
но так же возможно самостоятельное
использование фильтров с помощью
gtk_file_filter_filter().
typedef struct _GtkFileFilter GtkFileFilter;
Структура GtkFileFilter содержит только закрытые данные и не должна использоваться непосредственно.
typedef struct {
  GtkFileFilterFlags contains;
  
  const gchar *filename;
  const gchar *uri;
  const gchar *display_name;
  const gchar *mime_type;
} GtkFileFilterInfo;
Структура GtkFileFilterInfo используется для
размещения информации о проверяемом
файле в gtk_file_filter_filter().
| GtkFileFilterFlags  | Флаг указывающий какие из следующих полей являются заполненными | 
| const gchar * | Имя проверяемого файла | 
| const gchar * | URI проверяемого файла | 
| const gchar * | Строка используемая для отображения файла в селекторе файлов | 
| const gchar * | mime тип файла | 
typedef 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 заполнена или нуждается в заполнении.
| Имя проверяемого файла | |
| URI проверяемого файла | |
| Строка используемая для отображения файла в селекторе файлов | |
| mime тип файла | 
gboolean    (*GtkFileFilterFunc)            (const GtkFileFilterInfo *filter_info,
                                             gpointer data);
Тип функции которая используется для
выборочной фильтрации, смотрите
gtk_file_filter_add_custom().
| 
 | GtkFileFilterInfo которая
			заполняется согласно  | 
| 
 | Пользовательские данные помещаемые
			в  | 
| Возвращает : | 
 | 
GtkFileFilter* gtk_file_filter_new (void);
Создаёт новый GtkFileFilter
без добавленных в него правил. Такой
фильтр отвергает все файлы, поэтому
бесполезен без добавления правил с
помощью gtk_file_filter_add_mime_type(),
gtk_file_filter_add_pattern(),
или gtk_file_filter_add_custom().
Для создания фильтра разрешающего
отображение всех файлов используйте: 
GtkFileFilter *filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, "*");
| Возвращает : | новый GtkFileFilter | 
Начиная с версии 2.4
void        gtk_file_filter_set_name        (GtkFileFilter *filter,
                                             const gchar *name);Устанавливает, удобное для чтения пользователем, имя фильтра; это строка которая будет отображаться в интерфейсе селектора файлов, если есть список выбираемых фильтров.
| 
 | |
| 
 | Имя фильтра в удобочитаемом виде,
			или  | 
Начиная с версии 2.4
const gchar* gtk_file_filter_get_name (GtkFileFilter *filter);
Определяет читабельное имя фильтра.
Смотрите gtk_file_filter_set_name().
| 
 | |
| Возвращает : | Читабельное имя фильтра, или  | 
Начиная с версии 2.4
void        gtk_file_filter_add_mime_type   (GtkFileFilter *filter,
                                             const gchar *mime_type);
Добавляет правило позволяющее полученный
mime тип для filter.
| 
 | |
| 
 | имя MIME типа | 
Начиная с версии 2.4
void        gtk_file_filter_add_pattern     (GtkFileFilter *filter,
                                             const gchar *pattern);Добавляет правило позволяющее общий стиль оболочки для фильтра.
| 
 | |
| 
 | Общий стиль оболочки | 
Начиная с версии 2.4
void        gtk_file_filter_add_pixbuf_formats
                                            (GtkFileFilter *filter);Добавляет правило допускающее файлы изображения в формате поддерживаемом GdkPixbuf.
| 
 | 
Начиная с версии 2.6
void        gtk_file_filter_add_custom      (GtkFileFilter *filter,
                                             GtkFileFilterFlags needed,
                                             GtkFileFilterFunc func,
                                             gpointer data,
                                             GDestroyNotify notify);
Добавляет правило к фильтру позволяющему
файлы основываясь на выборочной функции.
Логическое поле needed помещается
для обеспечения информации в которой
нуждается функция фильтрации; это
позволяет GTK+ избегать ненужной для
фильтра информации.
| 
 | |
| 
 | Логическое поле флажков указывающих необходимую информацию для выборочной функции фильтрации. | 
| 
 | callback-функция; если функция возвращает
			 | 
| 
 | Данные помещаемые в  | 
| 
 | Функция вызываемая для освобождения
			 | 
Начиная с версии 2.4
GtkFileFilterFlags gtk_file_filter_get_needed
                                            (GtkFileFilter *filter);
Определяет поля необходимые для
заполнения в структуре помещаемой в
gtk_file_filter_filter()
Эта функция обычно не будет использоваться в приложениях; она предназначена преимущественно для использования в реализации GtkFileChooser.
| 
 | |
| Возвращает : | Логическое поле флажков указывающих
			необходимые поля для вызова 
			 | 
Начиная с версии 2.4
gboolean    gtk_file_filter_filter          (GtkFileFilter *filter,
                                             const GtkFileFilterInfo *filter_info);
Проверяет должен ли отображаться файл
согласно filter. GtkFileFilterInfo
структура filter_info должна
включать поля возвращаемые из
gtk_file_filter_get_needed().
Эта функция обычно не будет использоваться в приложениях; она предназначена преимущественно для использования в реализации GtkFileChooser.
| 
 | |
| 
 | GtkFileFilterInfo структура содержащая информацию о файле. | 
| Возвращает : | 
 | 
Начиная с версии 2.4
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |