GtkSignalListItemFactory
GtkSignalListItemFactory — Фабрика элементов списка, предоставляющая сигналы
Функции
Сигналы
Типы и значения
Иерархия объектов
GObject
╰── GtkListItemFactory
╰── GtkSignalListItemFactory
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkSignalListItemFactory — это GtkListItemFactory, который предоставляет сигналы, к которым пользовательский код может подключиться для управления элементами списка. Сигналы генерируются для каждого элемента списка в одном и том же порядке:
-
“setup” генерируется для настройки постоянных вещей в элементе списка. Обычно это означает создание виджетов, используемых в строке, и их добавление в элемент списка.
-
“bind” генерируется для привязки элемента, переданного через “item”, к виджетам, которые были созданы на шаге 1, или для добавления виджетов, специфичных для элемента. Сигналы подключаются для прослушивания изменений — как изменений в элементе для обновления виджетов, так и изменений в виджетах для обновления элемента. После вызова этого сигнала элемент списка может быть показан в виджете списка.
-
“unbind” генерируется для отмены всего, что было сделано на шаге 2. Обычно это означает отключение обработчиков сигналов. После вызова этого сигнала элемент списка больше не будет использоваться в виджете списка.
-
“bind” и “unbind” могут быть сгенерированы несколько раз снова для привязки элемента списка к использованию с новыми элементами. Используя повторно элементы списка, можно избежать потенциально дорогостоящей настройки. Однако это означает, что код должен убедиться, что правильно очищает элемент списка на шаге 3, чтобы никакая информация от предыдущего использования не попала в следующее использование.
-
“teardown” генерируется для отмены
-
последствий сигнала “setup”. После того, как этот сигнал был сгенерирован для элемента списка, элемент списка будет уничтожен и больше не будет использоваться.
Обратите внимание, что во время генерации сигналов изменение свойств в переданном GtkListItems не будет вызывать сигналы уведомления, так как уведомления элемента списка заморожены. Подробности см. в g_object_freeze_notify().
Для отслеживания изменений других свойств в GtkListItem рекомендуется сигнал “notify”. К сигналу можно подключиться в сигнале “setup” и снова удалить его во время “teardown”.
Подробное описание функций
gtk_signal_list_item_factory_new ()
GtkListItemFactory *
gtk_signal_list_item_factory_new (void);
Создает новый GtkSignalListItemFactory. Вам нужно подключить обработчики сигналов перед использованием.
Возвращает
новый GtkSignalListItemFactory
Подробное описание типов и значений
GtkSignalListItemFactory
typedef struct _GtkSignalListItemFactory GtkSignalListItemFactory;
Объект для GtkSignalListItemFactory.
Подробные сведения о сигналах
Сигнал “bind”
void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data)
Сигнал ::bind генерируется, когда для listitem устанавливается новый “элемент” и его необходимо связать для использования.
После генерации этого сигнала элемент списка может быть показан в GtkListView или другом виджете списка.
Сигнал “unbind” является противоположным этому сигналу и может быть использован для отмены всех операций, выполненных в данном сигнале.
Параметры
self | Экземпляр GtkSignalListItemFactory | |
listitem | Элемент списка GtkListItem для связи | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется первым
Сигнал “setup”
void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data)
Сигнал ::setup генерируется, когда создаётся новый элемент списка и его нужно настроить для использования. Это первый сигнал, генерируемый для каждого элемента списка.
Сигнал “teardown” является противоположным этому сигналу и может быть использован для отмены всех операций, выполненных в данном сигнале.
Параметры
self | Экземпляр GtkSignalListItemFactory | |
listitem | Элемент списка GtkListItem для настройки | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется первым
Сигнал “teardown”
void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data)
Сигнал ::teardown генерируется, когда элемент списка готов к уничтожению. Это последний сигнал, генерируемый для данного listitem.
Этот сигнал является противоположным сигналу “setup” и должен использоваться для отмены всех операций, выполненных в этом сигнале.
Параметры
self | Экземпляр GtkSignalListItemFactory | |
listitem | Элемент списка GtkListItem для разборки | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется первым
Сигнал “unbind”
void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data)
Сигнал ::unbind генерируется, когда элемент списка удалён из списка виджетов и его новый “элемент” готов к отмене.
Этот сигнал является противоположным сигналу “bind” и должен использоваться для отмены всех операций, выполненных в этом сигнале.
Параметры
self | Экземпляр GtkSignalListItemFactory | |
listitem | Элемент списка GtkListItem для отвязки | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется первым
См. также
© 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/GtkSignalListItemFactory.html