GtkListItemFactory
GtkListItemFactory — Сопоставление элементов списка с виджетами
Типы и значения
Иерархия объектов
GObject
╰── GtkListItemFactory
├── GtkBuilderListItemFactory
╰── GtkSignalListItemFactory
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkListItemFactory — одно из основных понятий обработки виджетов списка. Это объект, ответственный за создание виджетов для элементов, взятых из GListModel, когда просмотрщики нуждаются в них, и за обновление этих виджетов при изменении элементов, отображаемых просмотрщиком.
Просмотрщик, как правило, может отображать что-либо только после того, как для него будут заданы как фабрика, так и модель. Поэтому важно не пропускать этот шаг при настройке первого просмотрщика.
Поскольку просмотрщики не отображают весь список сразу, а только несколько элементов, они должны поддерживать лишь несколько виджетов одновременно. Они поручают GtkListItemFactory создавать эти виджеты и связывать их с элементами, которые в данный момент отображаются. По мере изменения модели списка или при прокрутке пользователем список элементов меняется, и просмотрщик поручает фабрике привязать виджеты к этим новым элементам.
Сами виджеты, используемые для отображения этих элементов, предоставляются вами.
Когда фабрике необходимо создать виджеты, она создаёт GtkListItem и передаёт его вашему коду, чтобы вы настраивали виджет. Этот элемент списка предоставляет различные свойства с информацией о том, какой элемент отображать, и предоставляет вам возможности для настройки его поведения. Дополнительные сведения см. в документации GtkListItem.
Существуют различные реализации GtkListItemFactory, которые позволяют вам предоставлять виджеты разными способами. Наиболее распространённые реализации — GtkBuilderListItemFactory, которая использует файл .ui из GtkBuilder и автоматически создаёт виджеты и управляет всем этим на основе информации в этом файле, и GtkSignalListItemFactory, которая позволяет вам подключаться к сигналам с помощью собственного кода и сохранять полный контроль над тем, как настраиваются и управляются виджеты.
GtkListItemFactory должен быть окончательным — это означает, что его поведение не должно изменяться, и первый созданный из него виджет должен вести себя так же, как и последний. Если вы намерены внести изменения в поведение, рекомендуется создать новую GtkListItemFactory, что позволит просмотрщикам пересоздавать свои виджеты.
После выбора фабрики и её создания её необходимо установить на виджет просмотрщика, с которым вы хотите её использовать, например, с помощью gtk_list_view_set_factory(). Использование фабрик в разных просмотрщиках допускается, но крайне редко практикуется.
Функции
Типы и значения
GtkListItemFactory
typedef struct _GtkListItemFactory GtkListItemFactory;
© 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/GtkListItemFactory.html