GtkDirectoryList
GtkDirectoryList — Список каталогов
Функции
| GtkDirectoryList * | gtk_directory_list_new () |
| const char * | gtk_directory_list_get_attributes () |
| void | gtk_directory_list_set_attributes () |
| GFile * | gtk_directory_list_get_file () |
| void | gtk_directory_list_set_file () |
| int | gtk_directory_list_get_io_priority () |
| void | gtk_directory_list_set-io-priority () |
| gboolean | gtk_directory_list_get_monitored () |
| void | gtk_directory_list_set-monitored () |
| gboolean | gtk_directory_list_is-loading () |
| const GError * | gtk_directory_list_get-error () |
Свойства
| char * | attributes | Чтение/Запись |
| GError * | ошибка | Чтение |
| GFile * | файл | Чтение/Запись |
| int | приоритет ввода-вывода | Чтение/Запись |
| gboolean | загрузка | Чтение |
| gboolean | отслеживается | Чтение/Запись |
Типы и значения
Иерархия объектов
GObject
╰── GtkDirectoryList
Реализованные интерфейсы
GtkDirectoryList реализует GListModel.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkDirectoryList — это модель списка, которая оборачивает g_file_enumerate_children_async(). Она представляет GListModel и асинхронно заполняет его GFileInfos, возвращаемыми этой функцией.
Перечисление начнется автоматически при установке свойства “файл”.
Пока GtkDirectoryList заполняется, свойство “загрузка” будет установлено в значение TRUE. Можно отслеживать это свойство, чтобы отобразить информацию, например, GtkSpinner или текст "Загрузка...".
Если загрузка в какой-либо момент завершится неудачно, свойство “ошибка” будет установлено для лучшего указания причины неудачи.
GFileInfos, возвращаемые GtkDirectoryList, имеют атрибут "standard::file", установленный в GFile, на который они ссылаются. Таким образом, получить файл можно так же, как и через g_file_enumerator_get_child(). Это означает, что доступ к GtkDirectoryList не требуется; GFile можно получить непосредственно из GFileInfo при работе с GtkListView или аналогичным элементом.
Функции
gtk_directory_list_new ()
GtkDirectoryList * gtk_directory_list_new (const char *attributes,GFile *file);
Создаёт новый объект GtkDirectoryList, запрашивая указанный file с заданными attributes .
Параметры
file | Файл для запроса. | [allow-none] |
attributes | Атрибуты для запроса. | [allow-none] |
Возвращает
новый объект GtkDirectoryList
gtk_directory_list_get_attributes ()
const char *
gtk_directory_list_get_attributes (GtkDirectoryList *self); Получает атрибуты, запрошенные у дочерних элементов.
Параметры
self | объект GtkDirectoryList |
Возвращает
Запрошенные атрибуты.
[nullable][transfer none]
gtk_directory_list_set_attributes ()
void gtk_directory_list_set_attributes (GtkDirectoryList *self,const char *attributes);
Устанавливает attributes для перечисления и запускает перечисление.
Если attributes равно NULL, атрибуты не будут запрошены, но список GFileInfos всё равно будет создан.
Параметры
self | объект GtkDirectoryList | |
attributes | атрибуты для перечисления. | [allow-none] |
gtk_directory_list_get_file ()
GFile *
gtk_directory_list_get_file (GtkDirectoryList *self); Получает файл, чьи дочерние элементы в настоящее время перечисляются.
Параметры
self | объект GtkDirectoryList |
Возвращает
Файл, чьи дочерние элементы перечисляются.
[nullable][transfer none]
gtk_directory_list_set_file ()
void gtk_directory_list_set_file (GtkDirectoryList *self,GFile *file);
Устанавливает file для перечисления и запускает перечисление.
Если file равно NULL, результат будет пустым списком.
Параметры
self | объект GtkDirectoryList | |
file | объект GFile для перечисления. | [allow-none] |
gtk_directory_list_get_io_priority ()
int
gtk_directory_list_get_io_priority (GtkDirectoryList *self); Получает приоритет ввода-вывода, установленный с помощью gtk_directory_list_set_io_priority().
Параметры
self | объект GtkDirectoryList |
Возвращает
Приоритет ввода-вывода.
gtk_directory_list_set_io_priority ()
void gtk_directory_list_set_io_priority (GtkDirectoryList *self,int io_priority);
Устанавливает приоритет ввода-вывода для загрузки каталогов.
Установка приоритета во время загрузки self будет переназначать текущую загрузку как можно скорее.
По умолчанию приоритет ввода-вывода равен G_PRIORITY_DEFAULT, что выше приоритета перерисовки GTK. Если вы загружаете много каталогов параллельно, понижение его до значения, например, G_PRIORITY_DEFAULT_IDLE, может повысить отзывчивость.
Параметры
self | объект GtkDirectoryList | |
io_priority | Приоритет ввода-вывода |
gtk_directory_list_get_monitored ()
gboolean
gtk_directory_list_get_monitored (GtkDirectoryList *self); Возвращает, отслеживает ли список каталогов изменения в каталоге.
Параметры
self | объект GtkDirectoryList |
Возвращает
TRUE, если каталог отслеживается
gtk_directory_list_set_monitored ()
void gtk_directory_list_set_monitored (GtkDirectoryList *self,gboolean monitored);
Устанавливает, будет ли список каталогов отслеживать изменения в каталоге. Если отслеживание включено, сигнал “items-changed” будет выпущен, когда содержимое каталога изменится.
При включении отслеживания после первоначального создания списка каталогов каталог перечитывается, чтобы избежать пропуска файлов, которые появились между начальной загрузкой и включением отслеживания.
Параметры
self | объект GtkDirectoryList | |
monitored |
|
gtk_directory_list_is_loading ()
gboolean
gtk_directory_list_is_loading (GtkDirectoryList *self); Возвращает TRUE, если в настоящее время происходит перечисление дочерних элементов.
Файлы будут добавляться в self время от времени во время загрузки. Порядок добавления не определён и может меняться между запусками.
Параметры
self | объект GtkDirectoryList |
Возвращает
TRUE, если self загружается
gtk_directory_list_get_error ()
const GError *
gtk_directory_list_get_error (GtkDirectoryList *self); Получает ошибку загрузки, если она есть.
Если во время процесса загрузки возникнет ошибка, процесс загрузки завершится, и это свойство позволяет запросить произошедшую ошибку. Эта ошибка сохранится до тех пор, пока файл не будет загружен снова.
Наличие ошибки не означает, что файлы не были загружены, и все успешно запрошенные файлы останутся в списке.
Параметры
self | объект GtkDirectoryList |
Возвращает
ошибку загрузки или NULL, если загрузка выполнена успешно.
[nullable][transfer none]
Типы и значения
GtkDirectoryList
typedef struct _GtkDirectoryList GtkDirectoryList;
Подробное описание свойств
Свойство “attributes”
“attributes” char *
Атрибуты для запроса
Владелец: GtkDirectoryList
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “error”
“error” GError *
Ошибка, возникшая при загрузке файлов
Владелец: GtkDirectoryList
Флаги: Чтение
Свойство “file”
“file” GFile *
Файл для запроса
Владелец: GtkDirectoryList
Флаги: Чтение / Запись
Свойство “io-priority”
“io-priority” int
Приоритет при загрузке
Владелец: GtkDirectoryList
Флаги: Чтение / Запись
Допустимые значения: >= -2147483647
Значение по умолчанию: 0
Свойство “loading”
“loading” gboolean
TRUE если файлы загружаются
Владелец: GtkDirectoryList
Флаги: Чтение
Значение по умолчанию: FALSE
Свойство “monitored”
“monitored” gboolean
TRUE если каталог отслеживается на изменения
Владелец: GtkDirectoryList
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
См. также
GListModel, g_file_enumerate_children()
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkDirectoryList.html