Spec-Zone.ru › GTK 3.22

GtkListBox

GtkListBox — Контейнер списка

Функции

gboolean (*GtkListBoxFilterFunc) ()
gint (*GtkListBoxSortFunc) ()
void (*GtkListBoxUpdateHeaderFunc) ()
GtkWidget * gtk_list_box_new ()
void gtk_list_box_prepend ()
void gtk_list_box_insert ()
void gtk_list_box_select_row ()
void gtk_list_box_unselect_row ()
void gtk_list_box_select_all ()
void gtk_list_box_unselect_all ()
GtkListBoxRow * gtk_list_box_get_selected_row ()
void (*GtkListBoxForeachFunc) ()
void gtk_list_box_selected_foreach ()
GList * gtk_list_box_get_selected_rows ()
void gtk_list_box_set_selection_mode ()
GtkSelectionMode gtk_list_box_get_selection_mode ()
void gtk_list_box_set_activate_on_single_click ()
gboolean gtk_list_box_get_activate_on_single_click ()
GtkAdjustment * gtk_list_box_get_adjustment ()
void gtk_list_box_set_adjustment ()
void gtk_list_box_set_placeholder ()
GtkListBoxRow * gtk_list_box_get_row_at_index ()
GtkListBoxRow * gtk_list_box_get_row_at_y ()
void gtk_list_box_invalidate_filter ()
void gtk_list_box_invalidate_headers ()
void gtk_list_box_invalidate_sort ()
void gtk_list_box_set_filter_func ()
void gtk_list_box_set_header_func ()
void gtk_list_box_set_sort_func ()
void gtk_list_box_drag_highlight_row ()
void gtk_list_box_drag_unhighlight_row ()
GtkWidget * (*GtkListBoxCreateWidgetFunc) ()
void gtk_list_box_bind_model ()
GtkWidget * gtk_list_box_row_new ()
void gtk_list_box_row_changed ()
gboolean gtk_list_box_row_is_selected ()
GtkWidget * gtk_list_box_row_get_header ()
void gtk_list_box_row_set_header ()
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.

Включаемые файлы

#include <gtk/gtk.h>

Описание

GtkListBox — это вертикальный контейнер, содержащий дочерние элементы GtkListBoxRow. Эти строки могут динамически сортироваться и фильтроваться, и заголовки могут добавляться динамически в зависимости от содержимого строки. Он также позволяет навигацию и выбор с помощью клавиатуры и мыши, как в обычном списке.

Использование GtkListBox часто является альтернативой GtkTreeView, особенно когда содержимое списка имеет более сложную структуру, чем то, что допускается GtkCellRenderer, или когда содержимое интерактивно (например, содержит кнопку).

Хотя GtkListBox должен содержать только GtkListBoxRow в качестве дочерних элементов, вы можете добавить любой виджет с помощью gtk_container_add(), и виджет GtkListBoxRow будет автоматически вставлен между списком и добавленным виджетом.

GtkListBoxRows могут быть помечены как активируемые или выбираемые. Если строка активируемая, сигнал «строка-активирована» будет выпущен для неё, когда пользователь попытается активировать её. Если она выбираемая, строка будет помечена как выбранная, когда пользователь попытается её выбрать.

Виджет GtkListBox был добавлен в GTK+ 3.10.

Узлы CSS

list
╰── row[.activatable]

GtkListBox использует единственный CSS узел с именем list. Каждый GtkListBoxRow использует единственный CSS узел с именем row. К узлам row добавляется класс стиля .activatable при необходимости.

Функции

GtkListBoxFilterFunc ()

gboolean
(*GtkListBoxFilterFunc) (GtkListBoxRow *row,
                         gpointer user_data);

Вызывается всякий раз, когда изменяется или добавляется строка, позволяя управлять её видимостью.

Параметры

row

строка, которая может быть отфильтрована

user_data

данные пользователя.

[closure]

Возвращаемое значение

TRUE, если строка должна быть видимой, FALSE в противном случае

С момента: 3.10

GtkListBoxSortFunc ()

gint
(*GtkListBoxSortFunc) (GtkListBoxRow *row1,
                       GtkListBoxRow *row2,
                       gpointer user_data);

Сравнивает две строки, чтобы определить, какая должна стоять первой.

Параметры

row1

первая строка

row2

вторая строка

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() или просто изменить состояние текущего виджета заголовка.

Параметры

row

строка, которую нужно обновить

before

строка, расположенная перед row, или NULL, если это первая строка.

[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

a GtkListBox

child

the 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

a GtkListBox

child

the GtkWidget для добавления

position

позиция вставки child

С момента: 3.10

gtk_list_box_select_row ()

void
gtk_list_box_select_row (GtkListBox *box,
                         GtkListBoxRow *row);

Выделить row в качестве текущей выбранной строки.

Параметры

box

a GtkListBox

row

Строка для выбора или NULL.

[allow-none]

С момента: 3.10

gtk_list_box_unselect_row ()

void
gtk_list_box_unselect_row (GtkListBox *box,
                           GtkListBoxRow *row);

Отменяет выделение одной строки в box, если режим выбора позволяет это.

Параметры

box

a GtkListBox

row

строка для отмены выделения

С момента: 3.14

gtk_list_box_select_all ()

void
gtk_list_box_select_all (GtkListBox *box);

Выбирает все дочерние элементы box, если режим выбора позволяет это.

Параметры

box

a GtkListBox

С момента: 3.14

gtk_list_box_unselect_all ()

void
gtk_list_box_unselect_all (GtkListBox *box);

Отменяет выделение всех дочерних элементов box, если режим выбора позволяет это.

Параметры

box

a GtkListBox

С момента: 3.14

gtk_list_box_get_selected_row ()

GtkListBoxRow *
gtk_list_box_get_selected_row (GtkListBox *box);

Возвращает выбранную строку.

Обратите внимание, что список может позволять множественный выбор, в этом случае вы должны использовать gtk_list_box_selected_foreach(), чтобы найти все выбранные строки.

Параметры

box

a GtkListBox

Возвращает

выбранную строку.

[transfer none]

С: 3.10

GtkListBoxForeachFunc ()

void
(*GtkListBoxForeachFunc) (GtkListBox *box,
                          GtkListBoxRow *row,
                          gpointer user_data);

Функция, используемая gtk_list_box_selected_foreach(). Она будет вызвана для каждого выбранного дочернего элемента box.

Параметры

box

a GtkListBox

row

a GtkListBoxRow

user_data

пользовательские данные.

[closure]

С: 3.14

gtk_list_box_selected_foreach ()

void
gtk_list_box_selected_foreach (GtkListBox *box,
                               GtkListBoxForeachFunc func,
                               gpointer data);

Вызывает функцию для каждого выбранного дочернего элемента.

Обратите внимание, что выбор внутри этой функции нельзя изменить.

Параметры

box

a GtkListBox

func

функция, вызываемая для каждого выбранного дочернего элемента.

[scope call]

data

пользовательские данные, передаваемые функции

С: 3.14

gtk_list_box_get_selected_rows ()

GList *
gtk_list_box_get_selected_rows (GtkListBox *box);

Создаёт список всех выбранных дочерних элементов.

Параметры

box

a GtkListBox

Возвращает

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

a GtkListBox

mode

The GtkSelectionMode

С: 3.10

gtk_list_box_get_selection_mode ()

GtkSelectionMode
gtk_list_box_get_selection_mode (GtkListBox *box);

Получает режим выбора списка.

Параметры

box

a GtkListBox

Возвращает

a GtkSelectionMode

С: 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

a GtkListBox

single

a boolean

С: 3.10

gtk_list_box_get_activate_on_single_click ()

gboolean
gtk_list_box_get_activate_on_single_click
                               (GtkListBox *box);

Возвращает, активируются ли строки при одиночном щелчке.

Параметры

box

a GtkListBox

Возвращает

TRUE если строки активируются при одиночном щелчке, FALSE в противном случае

С: 3.10

gtk_list_box_get_adjustment ()

GtkAdjustment *
gtk_list_box_get_adjustment (GtkListBox *box);

Получает настройка (если есть) которую виджет использует для вертикального прокручивания.

Параметры

box

a GtkListBox

Возвращает

настройку.

[transfer none]

С: 3.10

gtk_list_box_set_adjustment ()

void
gtk_list_box_set_adjustment (GtkListBox *box,
                             GtkAdjustment *adjustment);

Устанавливает корректировку (если есть), которую виджет использует для вертикальной прокрутки. Например, это используется для получения размера страницы для обработки клавиш PageUp/Down.

В обычном случае, когда box упакован внутри GtkScrolledWindow, корректировка будет автоматически выбрана, поэтому нет необходимости делать это вручную.

Параметры

box

a GtkListBox

adjustment

корректировка или NULL.

[allow-none]

С версии: 3.10

gtk_list_box_set_placeholder ()

void
gtk_list_box_set_placeholder (GtkListBox *box,
                              GtkWidget *placeholder);

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

Параметры

box

a GtkListBox

placeholder

a GtkWidget или NULL.

[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

a GtkListBox

index_

индекс строки

Возвращает

дочерний GtkWidget или NULL.

[transfer none][nullable]

С версии: 3.10

gtk_list_box_get_row_at_y ()

GtkListBoxRow *
gtk_list_box_get_row_at_y (GtkListBox *box,
                           gint y);

Получает строку в позиции y.

Параметры

box

a GtkListBox

y

позиция

Возвращает

строку или NULL, если для заданной координаты y строки не существует.

[transfer none][nullable]

С версии: 3.10

gtk_list_box_invalidate_filter ()

void
gtk_list_box_invalidate_filter (GtkListBox *box);

Обновляет фильтрацию для всех строк. Вызовите этот метод, когда результат функции фильтрации для box изменяется из-за внешнего фактора. Например, это будет использоваться, если функция фильтрации просто ищет определенную строку поиска, а запись со строкой поиска изменилась.

Параметры

box

a GtkListBox

С версии: 3.10

gtk_list_box_invalidate_headers ()

void
gtk_list_box_invalidate_headers (GtkListBox *box);

Обновляет разделители для всех строк. Вызовите этот метод, когда результат функции заголовка для box изменяется из-за внешнего фактора.

Параметры

box

a GtkListBox

С версии: 3.10

gtk_list_box_invalidate_sort ()

void
gtk_list_box_invalidate_sort (GtkListBox *box);

Обновляет сортировку для всех строк. Вызовите этот метод, когда результат функции сортировки для box изменяется из-за внешнего фактора.

Параметры

box

a GtkListBox

С версии: 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

a GtkListBox

filter_func

обратный вызов, позволяющий фильтровать отображаемые строки.

[closure user_data][allow-none]

user_data

данные пользователя, передаваемые в filter_func

destroy

уведомление об уничтожении для user_data

С версии: 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

a GtkListBox

update_header

callback, позволяющий добавлять заголовки строк.

[closure user_data][allow-none]

user_data

данные пользователя, передаваемые в update_header

destroy

указатель на обработку уничтожения для user_data

С версии: 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

a GtkListBox

sort_func

функция сортировки.

[closure user_data][allow-none]

user_data

данные пользователя, передаваемые в sort_func

destroy

указатель на обработку уничтожения для user_data

С версии: 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

a GtkListBox

row

a GtkListBoxRow

С версии: 3.10

gtk_list_box_drag_unhighlight_row ()

void
gtk_list_box_drag_unhighlight_row (GtkListBox *box);

Если строка ранее была выделена с помощью gtk_list_box_drag_highlight_row(), то выделение будет снято.

Параметры

box

a GtkListBox

С версии: 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]

Возвращаемое значение

GtkWidget, представляющий item .

[transfer full]

С версии: 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

a GtkListBox

model

the GListModel, который будет привязан к box .

[nullable]

create_widget_func

функция, создающая виджеты для элементов или NULL в случае, если вы также передали NULL как model .

[nullable]

user_data

пользовательские данные, передаваемые в create_widget_func

user_data_free_func

функция для освобождения user_data

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

a GtkListBoxRow

Since: 3.10

gtk_list_box_row_is_selected ()

gboolean
gtk_list_box_row_is_selected (GtkListBoxRow *row);

Возвращает, выбран ли дочерний элемент в его контейнере GtkListBox.

Параметры

row

a GtkListBoxRow

Возвращает

TRUE, если row выбран

Since: 3.14

gtk_list_box_row_get_header ()

GtkWidget *
gtk_list_box_row_get_header (GtkListBoxRow *row);

Возвращает текущий заголовок row. Это может быть использовано в GtkListBoxUpdateHeaderFunc для проверки, установлен ли заголовок, и, если да, для обновления его состояния.

Параметры

row

a GtkListBoxRow

Возвращает

текущий заголовок или 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

a GtkListBoxRow

header

заголовок или NULL.

[allow-none]

Since: 3.10

gtk_list_box_row_get_index ()

gint
gtk_list_box_row_get_index (GtkListBoxRow *row);

Получает текущий индекс row в контейнере GtkListBox.

Параметры

row

a GtkListBoxRow

Возвращает

индекс 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

строка GtkListBoxRow

activatable

TRUE для обозначения строки как активируемой

С: 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

TRUE для обозначения строки как выбираемой

С: 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-selected”

row_activated ()

Обработчик класса сигнала “row-activated”

activate_cursor_row ()

Обработчик класса сигнала “activate-cursor-row”

toggle_cursor_row ()

Обработчик класса сигнала “activate-cursor-row”

move_cursor ()

Обработчик класса сигнала “move-cursor”

selected_rows_changed ()

Обработчик класса сигнала “selected-rows-changed”

select_all ()

Обработчик класса сигнала “select-all”

unselect_all ()

Обработчик класса сигнала “unselect-all”

struct GtkListBoxRow

struct GtkListBoxRow;

struct GtkListBoxRowClass

struct GtkListBoxRowClass {
  GtkBinClass parent_class;


  void (* activate) (GtkListBoxRow *row);
};

Члены

activate ()

Подробное описание свойств

Свойство “activate-on-single-click”

  “activate-on-single-click” gboolean

Активировать строку одним щелчком.

Флаги: Чтение/Запись

Значение по умолчанию: TRUE

Свойство “selection-mode”

  “selection-mode”           GtkSelectionMode

Режим выбора.

Флаги: Чтение/Запись

Значение по умолчанию: GTK_SELECTION_SINGLE

Свойство “activatable”

  “activatable”              gboolean

Свойство определяет, будет ли для этой строки генерироваться сигнал “row-activated”.

Флаги: Чтение/Запись

Значение по умолчанию: TRUE

С: 3.14

Свойство “selectable”

  “selectable”               gboolean

Свойство определяет, можно ли выбрать эту строку.

Флаги: Чтение/Запись

Значение по умолчанию: TRUE

С: 3.14

Подробности сигналов

Сигнал “activate-cursor-row”

void
user_function (GtkListBox *listbox,
               gpointer    user_data)

Флаги: Действие

Сигнал “move-cursor”

void
user_function (GtkListBox     *listbox,
               GtkMovementStep arg1,
               gint            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 на котором генерируется сигнал

user_data

пользовательские данные, заданные при подключении обработчика сигнала.

Флаги: Действие

С версии: 3.14

Сигнал “activate”

void
user_function (GtkListBoxRow *listboxrow,
               gpointer       user_data)

Флаги: Действие

См. также

GtkScrolledWindow

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkListBox.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API