GtkListBox
GtkListBox — Контейнер списка
Функции
| gint | gtk_list_box_row_get_index () |
| void | gtk_list_box_row_set_activatable () |
| gboolean | gtk_list_box_row_get_activatable () |
| void | gtk_list_box_row_set_selectable () |
| gboolean | gtk_list_box_row_get_selectable () |
Свойства
| gboolean | активировать-при-одиночном-щелчке | Чтение / Запись |
| GtkSelectionMode | режим-выбора | Чтение / Запись |
| gboolean | активируемый | Чтение / Запись |
| gboolean | выбираемый | Чтение / Запись |
Сигналы
| void | активировать-строку-курсора | Действие |
| void | переместить-курсор | Действие |
| void | строка-активирована | Выполнить последним |
| void | строка-выбрана | Выполнить последним |
| void | выбрать-все | Действие |
| void | изменены-выбранные-строки | Выполнить первым |
| void | переключить-строку-курсора | Действие |
| void | отменить-выбор-всех | Действие |
| void | активировать | Действие |
Типы и значения
| struct | GtkListBox |
| struct | GtkListBoxClass |
| struct | GtkListBoxRow |
| struct | GtkListBoxRowClass |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
├── GtkBin
│ ╰── GtkListBoxRow
╰── GtkListBox
Реализованные интерфейсы
GtkListBox реализует AtkImplementorIface и GtkBuildable.
GtkListBoxRow реализует AtkImplementorIface, GtkBuildable и GtkActionable.
Файлы
#include <gtk/gtk.h>
Описание
GtkListBox — это вертикальный контейнер, содержащий дочерние элементы GtkListBoxRow. Эти строки могут динамически сортироваться и фильтроваться, и заголовки могут добавляться динамически в зависимости от содержимого строки. Он также позволяет навигацию и выбор с помощью клавиатуры и мыши, как в обычном списке.
Использование GtkListBox часто является альтернативой GtkTreeView, особенно когда содержимое списка имеет более сложную структуру, чем та, что допускается GtkCellRenderer, или когда содержимое является интерактивным (т.е. содержит кнопку).
Хотя GtkListBox должен содержать только элементы GtkListBoxRow, вы можете добавить любой виджет с помощью gtk_container_add(), и элемент GtkListBoxRow будет автоматически вставлен между списком и виджетом.
Элементы GtkListBoxRow можно пометить как активируемые или выбираемые. Если строка активируемая, сигнал “строка-активирована” будет выпущен для нее, когда пользователь пытается ее активировать. Если она выбираемая, строка будет помечена как выбранная, когда пользователь пытается ее выбрать.
Виджет GtkListBox был добавлен в GTK+ 3.10.
GtkListBox как GtkBuildable
Реализация GtkListBox интерфейса GtkBuildable поддерживает установку дочернего элемента в качестве местазаполнителя путём указания “placeholder” в качестве атрибута “type” элемента <child>. См. gtk_list_box_set_placeholder() для информации.
Узлы CSS
list ╰── row[.activatable]
GtkListBox использует один узел CSS с именем list. Каждый GtkListBoxRow использует один узел CSS с именем row. К узлам row добавляется класс стиля .activatable при необходимости.
Функции
GtkListBoxFilterFunc ()
gboolean (*GtkListBoxFilterFunc) (GtkListBoxRow *row,gpointer user_data);
Вызывается всякий раз, когда меняется строка или она добавляется, позволяя контролировать, должна ли строка отображаться.
Параметры
строка | строка, которая может быть отфильтрована | |
user_data | данные пользователя. | [closure] |
Возвращаемое значение
TRUE , если строка должна отображаться, FALSE в противном случае
С версии: 3.10
GtkListBoxSortFunc ()
gint (*GtkListBoxSortFunc) (GtkListBoxRow *row1,GtkListBoxRow *row2,gpointer user_data);
Сравнивает две строки, чтобы определить, какая должна стоять первой.
Параметры
строка1 | первая строка | |
строка2 | вторая строка | |
user_data | данные пользователя. | [closure] |
Возвращаемое значение
< 0, если row1 должна стоять перед row2, 0, если они равны, и > 0 в противном случае
С версии: 3.10
GtkListBoxUpdateHeaderFunc ()
void (*GtkListBoxUpdateHeaderFunc) (GtkListBoxRow *row,GtkListBoxRow *before,gpointer user_data);
Вызывается всякий раз, когда меняется row или меняется порядок строк, позволяя обновить заголовок в row. Можно удалить или установить новый заголовок с помощью gtk_list_box_row_set_header() или просто изменить состояние текущего виджета заголовка.
Параметры
строка | строка для обновления | |
перед | строка перед | [allow-none] |
user_data | данные пользователя. | [closure] |
С версии: 3.10
gtk_list_box_new ()
GtkWidget *
gtk_list_box_new (void); Создаёт новый контейнер GtkListBox.
Возвращаемое значение
новый GtkListBox
С версии: 3.10
gtk_list_box_prepend ()
void gtk_list_box_prepend (GtkListBox *box,GtkWidget *child);
Добавляет виджет в начало списка. Если задана функция сортировки, виджет будет фактически вставлен в рассчитанную позицию, и эта функция имеет тот же эффект, что и gtk_container_add().
Параметры
box | объект GtkListBox | |
child | виджет GtkWidget для добавления |
С версии: 3.10
gtk_list_box_insert ()
void gtk_list_box_insert (GtkListBox *box,GtkWidget *child,gint position);
Вставляет child в box на позиции position. Если задана функция сортировки, виджет будет фактически вставлен в рассчитанную позицию, и эта функция имеет тот же эффект, что и gtk_container_add().
Если position равно -1 или больше, чем общее количество элементов в box, то child будет добавлен в конец.
Параметры
box | объект GtkListBox | |
child | виджет GtkWidget для добавления | |
позиция | позиция для вставки |
С версии: 3.10
gtk_list_box_select_row ()
void gtk_list_box_select_row (GtkListBox *box,GtkListBoxRow *row);
Устанавливает row в качестве выделенной строки.
Параметры
box | объект GtkListBox | |
строка | выделяемая строка или | [allow-none] |
С версии: 3.10
gtk_list_box_unselect_row ()
void gtk_list_box_unselect_row (GtkListBox *box,GtkListBoxRow *row);
Снимает выделение с единственной строки box, если режим выделения позволяет это.
Параметры
box | объект GtkListBox | |
строка | строка, с которой нужно снять выделение |
С версии: 3.14
gtk_list_box_select_all ()
void
gtk_list_box_select_all (GtkListBox *box); Выделяет все дочерние элементы box, если режим выделения позволяет это.
Параметры
box | объект GtkListBox |
С версии: 3.14
gtk_list_box_unselect_all ()
void
gtk_list_box_unselect_all (GtkListBox *box); Снимает выделение со всех дочерних элементов box, если режим выделения позволяет это.
Параметры
box | объект GtkListBox |
С версии: 3.14
gtk_list_box_get_selected_row ()
GtkListBoxRow *
gtk_list_box_get_selected_row (GtkListBox *box); Получает выбранную строку.
Обратите внимание, что список может допускать множественный выбор, в этом случае вам следует использовать gtk_list_box_selected_foreach() для поиска всех выбранных строк.
Параметры
box |
Возвращаемое значение
выбранная строка.
[transfer none]
С: 3.10
GtkListBoxForeachFunc ()
void (*GtkListBoxForeachFunc) (GtkListBox *box,GtkListBoxRow *row,gpointer user_data);
Функция, используемая gtk_list_box_selected_foreach(). Она будет вызываться для каждого выбранного дочернего элемента box.
Параметры
box | ||
row | ||
user_data | пользовательские данные. | [closure] |
С: 3.14
gtk_list_box_selected_foreach ()
void gtk_list_box_selected_foreach (GtkListBox *box,GtkListBoxForeachFunc func,gpointer data);
Вызывает функцию для каждого выбранного дочернего элемента.
Обратите внимание, что выбор внутри этой функции изменить нельзя.
Параметры
box | ||
func | функция, вызываемая для каждого выбранного дочернего элемента. | [scope call] |
data | пользовательские данные, передаваемые функции |
С: 3.14
gtk_list_box_get_selected_rows ()
GList *
gtk_list_box_get_selected_rows (GtkListBox *box); Создаёт список всех выбранных дочерних элементов.
Параметры
box |
Возвращаемое значение
A GList содержащий GtkWidget каждого выбранного дочернего элемента. Освободите с помощью g_list_free() по завершении.
[element-type GtkListBoxRow][transfer container]
С: 3.14
gtk_list_box_set_selection_mode ()
void gtk_list_box_set_selection_mode (GtkListBox *box,GtkSelectionMode mode);
Устанавливает режим работы выбора в списке. Подробности см. в GtkSelectionMode.
Параметры
box | ||
mode | The GtkSelectionMode |
С: 3.10
gtk_list_box_get_selection_mode ()
GtkSelectionMode
gtk_list_box_get_selection_mode (GtkListBox *box); Получает режим выбора списка.
Параметры
box |
Возвращаемое значение
С: 3.10
gtk_list_box_set_activate_on_single_click ()
void gtk_list_box_set_activate_on_single_click (GtkListBox *box,gboolean single);
Если single равно TRUE, строки будут активироваться при нажатии, иначе требуется двойной щелчок.
Параметры
box | ||
single | boolean |
С: 3.10
gtk_list_box_get_activate_on_single_click ()
gboolean
gtk_list_box_get_activate_on_single_click
(GtkListBox *box); Возвращает, активируются ли строки при одиночном щелчке.
Параметры
box |
Возвращаемое значение
TRUE если строки активируются при одиночном щелчке, FALSE в противном случае
С: 3.10
gtk_list_box_get_adjustment ()
GtkAdjustment *
gtk_list_box_get_adjustment (GtkListBox *box); Получает настройку (если есть), используемую виджетом для вертикальной прокрутки.
Параметры
box |
Возвращаемое значение
настройка.
[transfer none]
С: 3.10
gtk_list_box_set_adjustment ()
void gtk_list_box_set_adjustment (GtkListBox *box,GtkAdjustment *adjustment);
Устанавливает настройку (если есть), используемую виджетом для вертикальной прокрутки. Например, это используется для получения размера страницы для обработки клавиш PageUp/Down.
В нормальном случае, когда box упакован внутри GtkScrolledWindow, настройка из неё будет автоматически получена, поэтому нет необходимости делать это вручную.
Параметры
box | ||
adjustment | настройка или | [allow-none] |
С: 3.10
gtk_list_box_set_placeholder ()
void gtk_list_box_set_placeholder (GtkListBox *box,GtkWidget *placeholder);
Устанавливает виджет-заполнитель, который отображается в списке, когда он не отображает видимых дочерних элементов.
Параметры
box | ||
placeholder | a GtkWidget или | [allow-none] |
С: 3.10
gtk_list_box_get_row_at_index ()
GtkListBoxRow * gtk_list_box_get_row_at_index (GtkListBox *box,gint index_);
Возвращает n-ый дочерний элемент в списке (не считая заголовков). Если _index отрицательное или больше, чем количество элементов в списке, возвращается NULL.
Параметры
box | ||
index_ | индекс строки |
С: 3.10
gtk_list_box_get_row_at_y ()
GtkListBoxRow * gtk_list_box_get_row_at_y (GtkListBox *box,gint y);
Возвращает строку по позиции y.
Параметры
box | ||
y | позиция |
Возвращаемое значение
строку или NULL в случае, если для данной координаты y нет строки.
[transfer none][nullable]
С: 3.10
gtk_list_box_invalidate_filter ()
void
gtk_list_box_invalidate_filter (GtkListBox *box); Обновляет фильтрацию всех строк. Вызывайте эту функцию, когда результат функции фильтрации по box изменяется по внешним причинам. Например, это используется, если функция фильтрации просто ищет определённую строку поиска, и запись со строкой поиска изменилась.
Параметры
box |
С: 3.10
gtk_list_box_invalidate_headers ()
void
gtk_list_box_invalidate_headers (GtkListBox *box); Обновляет разделители для всех строк. Вызывайте эту функцию, когда результат функции заголовка по box изменяется по внешним причинам.
Параметры
box |
С: 3.10
gtk_list_box_invalidate_sort ()
void
gtk_list_box_invalidate_sort (GtkListBox *box); Обновляет сортировку всех строк. Вызывайте эту функцию, когда результат функции сортировки по box изменяется по внешним причинам.
Параметры
box |
С: 3.10
gtk_list_box_set_filter_func ()
void gtk_list_box_set_filter_func (GtkListBox *box,GtkListBoxFilterFunc filter_func,gpointer user_data,GDestroyNotify destroy);
Установив функцию фильтрации для box, можно динамически определять, какие строки отображать. Например, чтобы реализовать функцию поиска в списке, которая фильтрует исходный список, отображая только соответствующие строки.
Функция filter_func будет вызываться для каждой строки после вызова, а также каждый раз, когда изменяется строка (через gtk_list_box_row_changed()) или когда вызывается gtk_list_box_invalidate_filter().
Обратите внимание, что использование функции фильтрации несовместимо с использованием модели (см. gtk_list_box_bind_model()).
Параметры
box | ||
filter_func | обратный вызов, позволяющий фильтровать отображаемые строки. | [closure user_data][allow-none] |
user_data | пользовательские данные, переданные в | |
destroy | утилизатор уведомлений для |
С: 3.10
gtk_list_box_set_header_func ()
void gtk_list_box_set_header_func (GtkListBox *box,GtkListBoxUpdateHeaderFunc update_header,gpointer user_data,GDestroyNotify destroy);
Установкой функции заголовка для box можно динамически добавлять заголовки перед строками, в зависимости от содержимого строки и её позиции в списке. Например, можно использовать её для добавления заголовков перед первым элементом нового типа в списке, отсортированном по типу.
Функция update_header может получить текущий виджет заголовка с помощью gtk_list_box_row_get_header() и либо обновить состояние виджета по мере необходимости, либо установить новый с помощью gtk_list_box_row_set_header(). Если заголовок не нужен, установите заголовок в NULL.
Обратите внимание, что для определенной строки может быть много вызовов update_header при изменении элементов, не влияющих на заголовок. В этом случае для повышения производительности важно не заменять существующий заголовок идентичным.
Функция update_header будет вызываться для каждой строки после вызова, и она будет продолжать вызываться каждый раз, когда строка меняется (через gtk_list_box_row_changed()) и когда строка перед ней меняется (либо из-за gtk_list_box_row_changed() в предыдущей строке, либо когда предыдущая строка становится другой). Она также вызывается для всех строк при вызове gtk_list_box_invalidate_headers().
Параметры
box | ||
update_header | обратный вызов, позволяющий добавлять заголовки строк. | [closure user_data][allow-none] |
user_data | данные пользователя, передаваемые в | |
destroy | уведомление об уничтожении для |
С: 3.10
gtk_list_box_set_sort_func ()
void gtk_list_box_set_sort_func (GtkListBox *box,GtkListBoxSortFunc sort_func,gpointer user_data,GDestroyNotify destroy);
Установкой функции сортировки для box можно динамически переупорядочить строки в списке, основываясь на содержимом строк.
Функция sort_func будет вызываться для каждой строки после вызова и будет продолжать вызываться каждый раз, когда строка изменяется (через gtk_list_box_row_changed()) и когда вызывается gtk_list_box_invalidate_sort().
Обратите внимание, что использование функции сортировки несовместимо с использованием модели (см. gtk_list_box_bind_model()).
Параметры
box | ||
sort_func | функция сортировки. | [closure user_data][allow-none] |
user_data | данные пользователя, передаваемые в | |
destroy | уведомление об уничтожении для |
С: 3.10
gtk_list_box_drag_highlight_row ()
void gtk_list_box_drag_highlight_row (GtkListBox *box,GtkListBoxRow *row);
Это вспомогательная функция для реализации перетаскивания на GtkListBox. Переданная row строка будет выделена с помощью gtk_drag_highlight(), а любая ранее выделенная строка будет снята с выделения.
Строка также будет снята с выделения при получении события drag leave виджетом.
Параметры
box | ||
row |
С: 3.10
gtk_list_box_drag_unhighlight_row ()
void
gtk_list_box_drag_unhighlight_row (GtkListBox *box); Если строка была ранее выделена с помощью gtk_list_box_drag_highlight_row(), выделение будет снято.
Параметры
box |
С: 3.10
GtkListBoxCreateWidgetFunc ()
GtkWidget * (*GtkListBoxCreateWidgetFunc) (gpointer item,gpointer user_data);
Вызывается для списков, привязанных к GListModel с помощью gtk_list_box_bind_model() для каждого добавляемого в модель элемента.
Версии GTK+ до 3.18 вызывали gtk_widget_show_all() для созданных GtkListBoxCreateWidgetFunc строк, но это принудительно отображало все виджеты внутри строки, и этого больше нет. Приложения должны быть обновлены для отображения необходимых виджетов строк.
Параметры
item | элемент из модели, для которого необходимо создать виджет. | [type GObject] |
user_data | данные пользователя. | [closure] |
С: 3.16
gtk_list_box_bind_model ()
void gtk_list_box_bind_model (GtkListBox *box,GListModel *model,GtkListBoxCreateWidgetFunc create_widget_func,gpointer user_data,GDestroyNotify user_data_free_func);
Связывает model с box.
Если box уже было связано с моделью, то предыдущая привязка уничтожается.
Содержимое box очищается и затем заполняется виджетами, представляющими элементы из model. box обновляется всякий раз, когда model изменяется. Если model равно NULL, box остается пустым.
Не определено прямо добавлять или удалять виджеты (например, с помощью gtk_list_box_insert() или gtk_container_add()), пока box связано с моделью.
Обратите внимание, что использование модели несовместимо с функциями фильтрации и сортировки в GtkListBox. При использовании модели фильтрация и сортировка должны быть реализованы в самой модели.
Параметры
box | ||
model | the GListModel to be bound to | [nullable] |
create_widget_func | функция, создающая виджеты для элементов или | [nullable] |
user_data | переданные пользовательские данные для | |
user_data_free_func | функция для освобождения |
Since: 3.16
gtk_list_box_row_new ()
GtkWidget *
gtk_list_box_row_new (void); Создает новый GtkListBoxRow, который будет использоваться в качестве дочернего элемента GtkListBox.
Возвращаемое значение
новый GtkListBoxRow
Since: 3.10
gtk_list_box_row_changed ()
void
gtk_list_box_row_changed (GtkListBoxRow *row); Помечает row как изменённый, вызывая обновление любого состояния, зависящего от этого. Это влияет на сортировку, фильтрацию и заголовки.
Обратите внимание, что вызовы этого метода должны синхронизироваться с данными, используемыми для функций строки. Например, если список отражает какой-то внешний набор данных, и *две* строки изменились во внешнем наборе данных, тогда когда вы вызываете gtk_list_box_row_changed() для первой строки, функция сортировки должна считывать только новые данные для первой из двух изменённых строк, иначе пересортировка строк будет неверной.
Это обычно означает, что если вы не полностью контролируете модель данных, вам нужно дублировать данные, которые влияют на функции строки listbox, в сами виджеты строк. Другой альтернативой является вызов gtk_list_box_invalidate_sort() при любом изменении модели, но это дороже.
Параметры
row |
Since: 3.10
gtk_list_box_row_is_selected ()
gboolean
gtk_list_box_row_is_selected (GtkListBoxRow *row); Возвращает, выбрана ли дочерняя строка в контейнере GtkListBox.
Параметры
row |
Возвращаемое значение
TRUE если row выбрана
Since: 3.14
gtk_list_box_row_get_header ()
GtkWidget *
gtk_list_box_row_get_header (GtkListBoxRow *row); Возвращает текущий заголовок row. Это можно использовать в GtkListBoxUpdateHeaderFunc, чтобы проверить, установлен ли заголовок, и если да, то обновить его состояние.
Параметры
row |
Возвращаемое значение
текущий заголовок, или NULL если нет.
[transfer none][nullable]
Since: 3.10
gtk_list_box_row_set_header ()
void gtk_list_box_row_set_header (GtkListBoxRow *row,GtkWidget *header);
Устанавливает текущий заголовок row. Это разрешается вызывать только из GtkListBoxUpdateHeaderFunc. Он заменит любой существующий заголовок в строке и будет отображаться перед строкой в listbox.
Параметры
row | ||
header | заголовок, или | [allow-none] |
Since: 3.10
gtk_list_box_row_get_index ()
gint
gtk_list_box_row_get_index (GtkListBoxRow *row); Получает текущий индекс row в контейнере GtkListBox.
Параметры
row |
Возвращаемое значение
индекс row, или -1, если row не в listbox
Since: 3.10
gtk_list_box_row_set_activatable ()
void gtk_list_box_row_set_activatable (GtkListBoxRow *row,gboolean activatable);
Установите свойство “activatable” для этой строки.
Параметры
row | ||
activatable |
|
Since: 3.14
gtk_list_box_row_get_activatable ()
gboolean
gtk_list_box_row_get_activatable (GtkListBoxRow *row); Получает значение свойства “activatable” для этой строки.
Параметры
row | строка GtkListBoxRow |
Возвращаемое значение
TRUE если строка активируема
С версии: 3.14
gtk_list_box_row_set_selectable ()
void gtk_list_box_row_set_selectable (GtkListBoxRow *row,gboolean selectable);
Устанавливает свойство “selectable” для этой строки.
Параметры
row | строка GtkListBoxRow | |
selectable |
|
С версии: 3.14
gtk_list_box_row_get_selectable ()
gboolean
gtk_list_box_row_get_selectable (GtkListBoxRow *row); Получает значение свойства “selectable” для этой строки.
Параметры
row | строка GtkListBoxRow |
Возвращаемое значение
TRUE если строка выбираема
С версии: 3.14
Типы и значения
struct GtkListBox
struct GtkListBox;
struct GtkListBoxClass
struct GtkListBoxClass {
GtkContainerClass parent_class;
void (*row_selected) (GtkListBox *box,
GtkListBoxRow *row);
void (*row_activated) (GtkListBox *box,
GtkListBoxRow *row);
void (*activate_cursor_row) (GtkListBox *box);
void (*toggle_cursor_row) (GtkListBox *box);
void (*move_cursor) (GtkListBox *box,
GtkMovementStep step,
gint count);
void (*selected_rows_changed) (GtkListBox *box);
void (*select_all) (GtkListBox *box);
void (*unselect_all) (GtkListBox *box);
};
Члены
| Обработчик класса для сигнала “row-selected” | |
| Обработчик класса для сигнала “row-activated” | |
| Обработчик класса для сигнала “activate-cursor-row” | |
| Обработчик класса для сигнала “toggle-cursor-row” | |
| Обработчик класса для сигнала “move-cursor” | |
| Обработчик класса для сигнала “selected-rows-changed” | |
| Обработчик класса для сигнала “select-all” | |
| Обработчик класса для сигнала “unselect-all” |
struct GtkListBoxRow
struct GtkListBoxRow;
struct GtkListBoxRowClass
struct GtkListBoxRowClass {
GtkBinClass parent_class;
void (* activate) (GtkListBoxRow *row);
};
Члены
|
Подробное описание свойств
Свойство “activate-on-single-click”
“activate-on-single-click” gboolean
Активировать строку по одному клику.
Владелец: GtkListBox
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
Свойство “selection-mode”
“selection-mode” GtkSelectionMode
Режим выбора.
Владелец: GtkListBox
Флаги: Чтение/Запись
Значение по умолчанию: GTK_SELECTION_SINGLE
Свойство “activatable”
“activatable” gboolean
Свойство определяет, будет ли испускаться сигнал “row-activated” для этой строки.
Владелец: GtkListBoxRow
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
С версии: 3.14
Свойство “selectable”
“activatable” gboolean
Свойство определяет, можно ли выбрать эту строку.
Владелец: GtkListBoxRow
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
С версии: 3.14
Подробные сведения о сигналах
Сигнал “activate-cursor-row”
void user_function (GtkListBox *listbox, gpointer user_data)
Флаги: Действие
Сигнал “move-cursor”
void user_function (GtkListBox *listbox, GtkMovementStep arg1, int arg2, gpointer user_data)
Флаги: Действие
Сигнал “row-activated”
void user_function (GtkListBox *box, GtkListBoxRow *row, gpointer user_data)
Сигнал ::row-activated генерируется, когда пользователь активировал строку.
Параметры
box | the GtkListBox | |
row | активированная строка | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С версии: 3.10
Сигнал “row-selected”
void user_function (GtkListBox *box, GtkListBoxRow *row, gpointer user_data)
Сигнал ::row-selected генерируется, когда выбрана новая строка или (при NULL row) при снятии выделения.
Когда box использует GTK_SELECTION_MULTIPLE, этот сигнал не предоставит полную картину изменений выделения, и вместо него следует использовать сигнал “selected-rows-changed”.
Параметры
box | the GtkListBox | |
row | выбранная строка. | [nullable] |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С версии: 3.10
Сигнал “select-all”
void user_function (GtkListBox *box, gpointer user_data)
Сигнал ::select-all — это сигнал для привязки клавиш, который генерируется для выделения всех дочерних элементов виджета, если это разрешено режимом выделения.
По умолчанию для этого сигнала назначена комбинация Ctrl-a.
Параметры
box | the GtkListBox, на котором генерируется сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 3.14
Сигнал “selected-rows-changed”
void user_function (GtkListBox *box, gpointer user_data)
Сигнал ::selected-rows-changed генерируется при изменении набора выделенных строк.
Параметры
box | the GtkListBox на котором генерируется сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить первым
С версии: 3.14
Сигнал “toggle-cursor-row”
void user_function (GtkListBox *listbox, gpointer user_data)
Флаги: Действие
Сигнал “unselect-all”
void user_function (GtkListBox *box, gpointer user_data)
Сигнал ::unselect-all — это сигнал для привязки клавиш, который генерируется для снятия выделения со всех дочерних элементов виджета, если это разрешено режимом выделения.
По умолчанию для этого сигнала назначена комбинация Ctrl-Shift-a.
Параметры
box | the GtkListBox on which the signal is emitted | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 3.14
Сигнал “activate”
void user_function (GtkListBoxRow *listboxrow, gpointer user_data)
Это сигнал для привязки клавиш, который активирует эту строку.
Если вам нужно получать уведомления об активации строки пользователем (клавишей или другим способом), используйте сигнал “row-activated” родительского элемента GtkListBox.
Параметры
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 3.10
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkListBox.html