The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy

GtkRecentFilter

GtkRecentFilter Фильтр для выделения подмножества недавно использованных файлов

Краткое описание

#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.

Детали

GtkRecentFilter

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 contains;

Флаги указывают какие следующие поля нужно заполнить

const gchar *uri;

URI проверяемого файла

const gchar *display_name;

Строка которая используется для отображения файла в селекторе недавно использованных файлов

const gchar *mime_type;

mime тип файла

const gchar **applications;

Список приложений зарегистрированных с файлом

const gchar **groups;

Группы к которым принадлежит файл

gint age;

Количество истекших дней с момента регистрации файла


enum GtkRecentFilterFlags

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 заполнена или должна быть заполнена.

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

Количество истекших дней с момента регистрации файла


GtkRecentFilterFunc ()

gboolean    (*GtkRecentFilterFunc)          (const GtkRecentFilterInfo *filter_info,
                                             gpointer user_data);

Тип функции которая используется для выборочной фильтрации, смотрите gtk_recent_filter_add_custom().

filter_info :

GtkRecentFilterInfo которая заполняется согласно needed флажкам помещенным в gtk_recent_filter_add_custom()

user_data :

Пользовательские данные помещаемые в gtk_recent_filter_add_custom()

Возвращает :

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(). Для создания фильтра показывающего все недавно использованные файлы используйте:

GtkRecentFilter *filter = gtk_recent_filter_new ();
gtk_recent_filter_add_pattern (filter, "*");

Возвращает :

Новый GtkRecentFilter

Начиная с версии 2.10


gtk_recent_filter_get_name ()

const gchar* gtk_recent_filter_get_name     (GtkRecentFilter *filter);

Выдаёт читабельное (human-readable) имя для фильтра. Смотрите gtk_recent_filter_set_name().

filter :

GtkRecentFilter

Возвращает :

Имя фильтра, или NULL. Возвращаемой строкой владеет объект фильтра и она не должна освобождаться.

Начиная с версии 2.10


gtk_recent_filter_set_name ()

void        gtk_recent_filter_set_name      (GtkRecentFilter *filter,
                                             const gchar *name);

Устанавливает читабельное (human-readable) имя фильтра; это строка которая отображается в селекторе недавно использованных файлов пользовательского интерфейса если есть список выбираемых фильтров.

filter :

GtkRecentFilter

name :

Читабельное имя filter

Начиная с версии 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 :

callback-функция; если функция возвращает TRUE, то файл будет отображён.

data :

Данные помещаемые в func

data_destroy :

Функция вызываемая для освобождения данных data когда они больше не нужны.

Начиная с версии 2.10


gtk_recent_filter_get_needed ()

GtkRecentFilterFlags gtk_recent_filter_get_needed
                                            (GtkRecentFilter *filter);

Выдаёт поля которые необходимо заполнить в структуре помещаемой в gtk_recent_filter_filter()

Эта функция обычно не используется приложениями; она преимущественно предназначена для использования при реализации GtkRecentChooser.

filter :

GtkRecentFilter

Возвращает :

Битовое поле флагов указывающих поля необходимые для заполнения при вызове 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().

Эта функция обычно не используется приложениями; она преимущественно предназначена для использования при реализации GtkRecentChooser.

filter :

GtkRecentFilter

filter_info :

GtkRecentFilterInfo структура содержащая информацию о недавно использованных ресурсах

Возвращает :

TRUE если файл должен быть отображён

Начиная с версии 2.10

Смотрите также

GtkRecentChooser




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру