Spec-Zone.ru › GTK 3.20

GtkFlowBox

GtkFlowBox — Контейнер, позволяющий перестраивать своих дочерние элементы.

Функции

GtkWidget * gtk_flow_box_new ()
void gtk_flow_box_insert ()
GtkFlowBoxChild * gtk_flow_box_get_child_at_index ()
void gtk_flow_box_set_hadjustment ()
void gtk_flow_box_set_vadjustment ()
void gtk_flow_box_set_homogeneous ()
gboolean gtk_flow_box_get_homogeneous ()
void gtk_flow_box_set_row_spacing ()
guint gtk_flow_box_get_row_spacing ()
void gtk_flow_box_set_column_spacing ()
guint gtk_flow_box_get_column_spacing ()
void gtk_flow_box_set_min_children_per_line ()
guint gtk_flow_box_get_min_children_per_line ()
void gtk_flow_box_set_max_children_per_line ()
guint gtk_flow_box_get_max_children_per_line ()
void gtk_flow_box_set_activate_on_single_click ()
gboolean gtk_flow_box_get_activate_on_single_click ()
void (*GtkFlowBoxForeachFunc) ()
void gtk_flow_box_selected_foreach ()
GList * gtk_flow_box_get_selected_children ()
void gtk_flow_box_select_child ()
void gtk_flow_box_unselect_child ()
void gtk_flow_box_select_all ()
void gtk_flow_box_unselect_all ()
void gtk_flow_box_set_selection_mode ()
GtkSelectionMode gtk_flow_box_get_selection_mode ()
gboolean (*GtkFlowBoxFilterFunc) ()
void gtk_flow_box_set_filter_func ()
void gtk_flow_box_invalidate_filter ()
gint (*GtkFlowBoxSortFunc) ()
void gtk_flow_box_set_sort_func ()
void gtk_flow_box_invalidate_sort ()
GtkWidget * (*GtkFlowBoxCreateWidgetFunc) ()
void gtk_flow_box_bind_model ()
GtkWidget * gtk_flow_box_child_new ()
gint gtk_flow_box_child_get_index ()
gboolean gtk_flow_box_child_is_selected ()
void gtk_flow_box_child_changed ()

Свойства

gboolean активировать-при-одиночном-щелчке Чтение / Запись
guint интервал-между-столбцами Чтение / Запись
gboolean однородный Чтение / Запись
guint максимум-элементов-в-строке Чтение / Запись
guint минимум-элементов-в-строке Чтение / Запись
guint интервал-между-строками Чтение / Запись
GtkSelectionMode режим-выделения Чтение / Запись

Сигналы

void активировать-выделенный-элемент Действие
void элемент-активирован Выполнить последним
gboolean переместить-курсор Действие
void выделить-все Действие
void изменение-выбранных-элементов Выполнить первым
void переключить-выделение-элемента Действие
void снять-выделение-всех Действие
void активировать Действие

Типы и Значения

struct GtkFlowBox
struct GtkFlowBoxChild

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ├── GtkBin
                │   ╰── GtkFlowBoxChild
                ╰── GtkFlowBox

Реализованные интерфейсы

GtkFlowBox реализует AtkImplementorIface, GtkBuildable и GtkOrientable.

GtkFlowBoxChild реализует AtkImplementorIface и GtkBuildable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkFlowBox располагает дочерние виджеты последовательно в соответствии с его ориентацией.

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

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

Дочерние элементы GtkFlowBox могут динамически сортироваться и фильтроваться.

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

См. также GtkListBox.

GtkFlowBox был добавлен в GTK+ 3.12.

CSS-узлы

flowbox
├── flowboxchild
│   ╰── <child>
├── flowboxchild
│   ╰── <child>
┊
╰── [rubberband]

GtkFlowBox использует единственный CSS-узел с именем flowbox. GtkFlowBoxChild использует единственный CSS-узел с именем flowboxchild. Для выделения с эффектом резинки используется под-узел с именем rubberband.

Функции

gtk_flow_box_new ()

GtkWidget *
gtk_flow_box_new (void);

Создаёт GtkFlowBox.

Возвращает

новый контейнер GtkFlowBox

С момента: 3.12

gtk_flow_box_insert ()

void
gtk_flow_box_insert (GtkFlowBox *box,
                     GtkWidget *widget,
                     gint position);

Вставляет widget в box по позиции position .

Если задана функция сортировки, виджет будет фактически вставлен в рассчитанную позицию, и эта функция имеет тот же эффект, что и gtk_container_add().

Если position равно -1 или больше, чем общее количество дочерних элементов в box , то widget будет добавлен в конец.

Параметры

box

a GtkFlowBox

widget

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

position

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

С момента: 3.12

gtk_flow_box_get_child_at_index ()

GtkFlowBoxChild *
gtk_flow_box_get_child_at_index (GtkFlowBox *box,
                                 gint idx);

Возвращает n-ый дочерний элемент в box .

Параметры

box

a GtkFlowBox

idx

позиция дочернего элемента

Возвращает

дочерний виджет, который всегда будет GtkFlowBoxChild или NULL в случае, если дочернего виджета с данным индексом не существует.

[transfer none][nullable]

С момента: 3.12

gtk_flow_box_set_hadjustment ()

void
gtk_flow_box_set_hadjustment (GtkFlowBox *box,
                              GtkAdjustment *adjustment);

Подключает корректировку к обработке фокуса в box . Корректировка также используется для автоматической прокрутки во время выделения резиновым прямоугольником. См. gtk_scrolled_window_get_hadjustment() для типичного способа получения корректировки и gtk_flow_box_set_vadjustment() для установки вертикальной корректировки.

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

Параметры

box

a GtkFlowBox

adjustment

корректировка, которая должна быть скорректирована при перемещении фокуса среди потомков container

С момента: 3.12

gtk_flow_box_set_vadjustment ()

void
gtk_flow_box_set_vadjustment (GtkFlowBox *box,
                              GtkAdjustment *adjustment);

Подключает корректировку к обработке фокуса в box . Корректировка также используется для автоматической прокрутки во время выделения резиновым прямоугольником. См. gtk_scrolled_window_get_vadjustment() для типичного способа получения корректировки и gtk_flow_box_set_hadjustment() для установки горизонтальной корректировки.

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

Параметры

box

a GtkFlowBox

adjustment

корректировка, которая должна быть скорректирована при перемещении фокуса среди потомков container

С момента: 3.12

gtk_flow_box_set_homogeneous ()

void
gtk_flow_box_set_homogeneous (GtkFlowBox *box,
                              gboolean homogeneous);

Устанавливает свойство “homogeneous” для box , определяя, будут ли все дочерние элементы box занимать равное пространство в ящике.

Параметры

box

a GtkFlowBox

homogeneous

TRUE для создания равных отступов, FALSE для переменных отступов

С момента: 3.12

gtk_flow_box_get_homogeneous ()

gboolean
gtk_flow_box_get_homogeneous (GtkFlowBox *box);

Возвращает, является ли ящик однородным (все дочерние элементы имеют одинаковый размер). См. gtk_box_set_homogeneous().

Параметры

box

a GtkFlowBox

Возвращает

TRUE, если ящик однородный.

С момента: 3.12

gtk_flow_box_set_row_spacing ()

void
gtk_flow_box_set_row_spacing (GtkFlowBox *box,
                              guint spacing);

Устанавливает вертикальное расстояние между дочерними элементами. См. свойство “row-spacing”.

Параметры

box

a GtkFlowBox

spacing

расстояние

С момента: 3.12

gtk_flow_box_get_row_spacing ()

guint
gtk_flow_box_get_row_spacing (GtkFlowBox *box);

Получает вертикальное расстояние.

Параметры

box

a GtkFlowBox

Возвращает

вертикальное расстояние

С момента: 3.12

gtk_flow_box_set_column_spacing ()

void
gtk_flow_box_set_column_spacing (GtkFlowBox *box,
                                 guint spacing);

Устанавливает горизонтальное пространство между элементами. См. свойство “column-spacing”.

Параметры

box

a GtkFlowBox

spacing

используемое пространство

Since: 3.12

gtk_flow_box_get_column_spacing ()

guint
gtk_flow_box_get_column_spacing (GtkFlowBox *box);

Возвращает горизонтальное пространство.

Параметры

box

a GtkFlowBox

Возвращает

горизонтальное пространство

Since: 3.12

gtk_flow_box_set_min_children_per_line ()

void
gtk_flow_box_set_min_children_per_line
                               (GtkFlowBox *box,
                                guint n_children);

Устанавливает минимальное количество элементов для выравнивания в ориентации box перед переходом на новую строку.

Параметры

box

a GtkFlowBox

n_children

минимальное количество элементов на строке

Since: 3.12

gtk_flow_box_get_min_children_per_line ()

guint
gtk_flow_box_get_min_children_per_line
                               (GtkFlowBox *box);

Возвращает минимальное количество элементов на строке.

Параметры

box

a GtkFlowBox

Возвращает

минимальное количество элементов на строке

Since: 3.12

gtk_flow_box_set_max_children_per_line ()

void
gtk_flow_box_set_max_children_per_line
                               (GtkFlowBox *box,
                                guint n_children);

Устанавливает максимальное количество элементов, для которых запрашивается и выделяется место в ориентации box.

Установка максимального количества элементов на строке ограничивает общий запрос на естественный размер, чтобы он не превышал n_children элементов в заданной ориентации.

Параметры

box

a GtkFlowBox

n_children

максимальное количество элементов на строке

Since: 3.12

gtk_flow_box_get_max_children_per_line ()

guint
gtk_flow_box_get_max_children_per_line
                               (GtkFlowBox *box);

Возвращает максимальное количество элементов на строке.

Параметры

box

a GtkFlowBox

Возвращает

максимальное количество элементов на строке

Since: 3.12

gtk_flow_box_set_activate_on_single_click ()

void
gtk_flow_box_set_activate_on_single_click
                               (GtkFlowBox *box,
                                gboolean single);

Если single равно TRUE, элементы будут активироваться при нажатии один раз, в противном случае требуется двойной щелчок.

Параметры

box

a GtkFlowBox

single

TRUE, чтобы генерировать событие активации элемента при нажатии один раз

Since: 3.12

gtk_flow_box_get_activate_on_single_click ()

gboolean
gtk_flow_box_get_activate_on_single_click
                               (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

Since: 3.12

GtkFlowBoxForeachFunc ()

void
(*GtkFlowBoxForeachFunc) (GtkFlowBox *box,
                          GtkFlowBoxChild *child,
                          gpointer user_data);

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

Параметры

box

a GtkFlowBox

child

a GtkFlowBoxChild

user_data

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

[closure]

Since: 3.12

gtk_flow_box_selected_foreach ()

void
gtk_flow_box_selected_foreach (GtkFlowBox *box,
                               GtkFlowBoxForeachFunc func,
                               gpointer data);

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

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

Параметры

box

a GtkFlowBox

func

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

[scope call]

data

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

Since: 3.12

gtk_flow_box_get_selected_children ()

GList *
gtk_flow_box_get_selected_children (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

A GList содержащий GtkWidget для каждого выделенного элемента. Освободите с помощью g_list_free(), когда закончите.

[element-type GtkFlowBoxChild][transfer container]

Since: 3.12

gtk_flow_box_select_child ()

void
gtk_flow_box_select_child (GtkFlowBox *box,
                           GtkFlowBoxChild *child);

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

Параметры

box

объект GtkFlowBox

child

дочерний элемент box

С: 3.12

gtk_flow_box_unselect_child ()

void
gtk_flow_box_unselect_child (GtkFlowBox *box,
                             GtkFlowBoxChild *child);

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

Параметры

box

объект GtkFlowBox

child

дочерний элемент box

С: 3.12

gtk_flow_box_select_all ()

void
gtk_flow_box_select_all (GtkFlowBox *box);

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

Параметры

box

объект GtkFlowBox

С: 3.12

gtk_flow_box_unselect_all ()

void
gtk_flow_box_unselect_all (GtkFlowBox *box);

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

Параметры

box

объект GtkFlowBox

С: 3.12

gtk_flow_box_set_selection_mode ()

void
gtk_flow_box_set_selection_mode (GtkFlowBox *box,
                                 GtkSelectionMode mode);

Устанавливает как работает выбор в box. Подробности см. в GtkSelectionMode.

Параметры

box

объект GtkFlowBox

mode

новый режим выбора

С: 3.12

gtk_flow_box_get_selection_mode ()

GtkSelectionMode
gtk_flow_box_get_selection_mode (GtkFlowBox *box);

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

Параметры

box

объект GtkFlowBox

Возвращает

GtkSelectionMode

С: 3.12

GtkFlowBoxFilterFunc ()

gboolean
(*GtkFlowBoxFilterFunc) (GtkFlowBoxChild *child,
                         gpointer user_data);

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

Параметры

child

GtkFlowBoxChild который может быть отфильтрован

user_data

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

[closure]

Возвращает

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

С: 3.12

gtk_flow_box_set_filter_func ()

void
gtk_flow_box_set_filter_func (GtkFlowBox *box,
                              GtkFlowBoxFilterFunc filter_func,
                              gpointer user_data,
                              GDestroyNotify destroy);

Установив функцию фильтра для box, можно динамически определять, какие дочерние элементы отображать. Например, для реализации функции поиска, которая отображает только дочерние элементы, соответствующие поисковым запросам.

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

Обратите внимание, что использование функции фильтра несовместимо с использованием модели (см. gtk_flow_box_bind_model()).

Параметры

box

объект GtkFlowBox

filter_func

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

[closure user_data][allow-none]

user_data

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

destroy

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

С: 3.12

gtk_flow_box_invalidate_filter ()

void
gtk_flow_box_invalidate_filter (GtkFlowBox *box);

Обновляет фильтрацию всех дочерних элементов.

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

Параметры

box

объект GtkFlowBox

С: 3.12

GtkFlowBoxSortFunc ()

gint
(*GtkFlowBoxSortFunc) (GtkFlowBoxChild *child1,
                       GtkFlowBoxChild *child2,
                       gpointer user_data);

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

Параметры

child1

первый дочерний элемент

child2

второй дочерний элемент

user_data

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

[closure]

Возвращает

< 0, если child1 должен быть перед child2, 0, если они равны, и > 0 в противном случае

С: 3.12

gtk_flow_box_set_sort_func ()

void
gtk_flow_box_set_sort_func (GtkFlowBox *box,
                            GtkFlowBoxSortFunc sort_func,
                            gpointer user_data,
                            GDestroyNotify destroy);

Установив функцию сортировки для box, можно динамически переупорядочить дочерние элементы ячейки, основываясь на содержимом этих элементов.

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

Обратите внимание, что использование функции сортировки несовместимо с использованием модели (см. gtk_flow_box_bind_model()).

Параметры

box

a GtkFlowBox

sort_func

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

[closure user_data][allow-none]

user_data

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

destroy

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

С момента: 3.12

gtk_flow_box_invalidate_sort ()

void
gtk_flow_box_invalidate_sort (GtkFlowBox *box);

Обновляет сортировку всех дочерних элементов.

Вызывается, когда результат функции сортировки для box изменяется по внешним причинам.

Параметры

box

a GtkFlowBox

С момента: 3.12

GtkFlowBoxCreateWidgetFunc ()

GtkWidget *
(*GtkFlowBoxCreateWidgetFunc) (gpointer item,
                               gpointer user_data);

Вызывается для ячеек потокового типа, привязанных к GListModel с помощью gtk_flow_box_bind_model() для каждого элемента, добавляемого в модель.

Параметры

item

элемент из модели, для которого необходимо создать виджет

user_data

данные пользователя из gtk_flow_box_bind_model()

Возвращает

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

[transfer full]

С момента: 3.18

gtk_flow_box_bind_model ()

void
gtk_flow_box_bind_model (GtkFlowBox *box,
                         GListModel *model,
                         GtkFlowBoxCreateWidgetFunc create_widget_func,
                         gpointer user_data,
                         GDestroyNotify user_data_free_func);

Привязывает model к box.

Если box уже был привязан к модели, предыдущая привязка уничтожается.

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

Неопределено добавлять или удалять виджеты напрямую (например, с помощью gtk_flow_box_insert() или gtk_container_add()), когда box привязан к модели.

Обратите внимание, что использование модели несовместимо с функциями фильтрации и сортировки в GtkFlowBox. При использовании модели фильтрация и сортировка должны быть реализованы в модели.

Параметры

box

a GtkFlowBox

model

GListModel для привязки к box.

[allow-none]

create_widget_func

функция, создающая виджеты для элементов

user_data

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

user_data_free_func

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

С момента: 3.18

gtk_flow_box_child_new ()

GtkWidget *
gtk_flow_box_child_new (void);

Создает новый GtkFlowBoxChild для использования в качестве дочернего элемента GtkFlowBox.

Возвращает

новый GtkFlowBoxChild

С момента: 3.12

gtk_flow_box_child_get_index ()

gint
gtk_flow_box_child_get_index (GtkFlowBoxChild *child);

Возвращает текущий индекс child в контейнере GtkFlowBox.

Параметры

child

a GtkFlowBoxChild

Возвращает

индекс child или -1, если child не находится в ячейке потокового типа.

С момента: 3.12

gtk_flow_box_child_is_selected ()

gboolean
gtk_flow_box_child_is_selected (GtkFlowBoxChild *child);

Возвращает, выбран ли child в контейнере GtkFlowBox.

Параметры

child

a GtkFlowBoxChild

Возвращает

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

С момента: 3.12

gtk_flow_box_child_changed ()

void
gtk_flow_box_child_changed (GtkFlowBoxChild *child);

Помечает child как изменённое, вызывая обновление любого состояния, зависящего от него. Это влияет на сортировку и фильтрацию.

Обратите внимание, что вызовы этого метода должны синхронизироваться с данными, используемыми для функций сортировки и фильтрации. Например, если список отражает некоторый внешний набор данных, и *два* элемента изменились во внешнем наборе данных, когда вы вызываете gtk_flow_box_child_changed() для первого элемента, функция сортировки должна считывать новые данные только для первого из двух изменённых элементов, иначе пересортировка элементов будет неверной.

Это, как правило, означает, что если вы не полностью контролируете модель данных, вам нужно дублировать данные, влияющие на функции сортировки и фильтрации, в сами виджеты. Другой вариант — вызвать gtk_flow_box_invalidate_sort() при любом изменении модели, но это более затратно.

Параметры

child

элемент GtkFlowBoxChild

С версии: 3.12

Типы и значения

struct GtkFlowBox

struct GtkFlowBox;

struct GtkFlowBoxChild

struct GtkFlowBoxChild;

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

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

  “activate-on-single-click” gboolean

Определяет, могут ли элементы активироваться одним щелчком мыши или требуется двойной щелчок.

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

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

Свойство “column-spacing”

  “column-spacing”           guint

Количество горизонтального пространства между двумя элементами.

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

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

Свойство “homogeneous”

  “homogeneous”              gboolean

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

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

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

Свойство “max-children-per-line”

  “max-children-per-line”    guint

Максимальное количество элементов, для которых запрашивается пространство последовательно в заданном направлении.

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

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

Свойство “min-children-per-line”

  “min-children-per-line”    guint

Минимальное количество элементов, выделяемых последовательно в заданном направлении.

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

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

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

Свойство “row-spacing”

  “row-spacing”              guint

Количество вертикального пространства между двумя элементами.

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

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

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

  “selection-mode”           GtkSelectionMode

Режим выделения, используемый панелью Flow Box.

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

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

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

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

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

Сигнал ::activate-cursor-child — это сигнал для привязки клавиш, который генерируется, когда пользователь активирует box.

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

user_data

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

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

Сигнал “child-activated”

void
user_function (GtkFlowBox      *box,
               GtkFlowBoxChild *child,
               gpointer         user_data)

Сигнал ::child-activated генерируется, когда пользователь активирует дочерний элемент.

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

child

дочерний элемент, который активирован

user_data

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

Флаги: Выполнять последним

Сигнал “move-cursor”

gboolean
user_function (GtkFlowBox     *box,
               GtkMovementStep step,
               gint            count,
               gpointer        user_data)

Сигнал ::move-cursor — это сигнал для привязки клавиш, который генерируется при инициировании пользователем перемещения курсора.

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

Стандартные привязки к этому сигналу представлены в двух вариантах: вариант со Shift-модификатором расширяет выделение, а вариант без Shift-модификатора не делает этого. Перечисление всех комбинаций клавиш здесь невозможно.

  • Стрелки перемещают на один дочерний элемент

  • Клавиши Home/End перемещают к концам области

  • Клавиши PageUp/PageDown перемещают по страницам вертикально

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

step

размер перемещения, как GtkMovementStep

count

количество единиц step для перемещения

user_data

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

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

TRUE, чтобы остановить вызов других обработчиков для события. FALSE, чтобы распространить событие дальше.

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

Сигнал “select-all”

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

Сигнал ::select-all — это сигнал для привязки клавиш, который генерируется для выделения всех дочерних элементов области, если режим выделения позволяет это.

Стандартная привязка для этого сигнала — Ctrl-a.

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

user_data

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

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

Сигнал “selected-children-changed”

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

Сигнал ::selected-children-changed генерируется при изменении набора выделенных дочерних элементов.

Используйте gtk_flow_box_selected_foreach() или gtk_flow_box_get_selected_children() для получения выделенных дочерних элементов.

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

user_data

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

Флаги: Выполнять первым

Сигнал “toggle-cursor-child”

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

Сигнал ::toggle-cursor-child — это сигнал для привязки клавиш, который переключает выделение дочернего элемента, у которого фокус.

Стандартная привязка для этого сигнала — Ctrl-Пробел.

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

user_data

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

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

Сигнал “unselect-all”

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

Сигнал ::unselect-all — это сигнал для привязки клавиш, который генерируется для отмены выделения всех дочерних элементов области, если режим выделения позволяет это.

Стандартная привязка для этого сигнала — Ctrl-Shift-a.

Параметры

box

объект GtkFlowBox, на котором генерируется сигнал

user_data

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

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

Сигнал “activate”

void
user_function (GtkFlowBoxChild *child,
               gpointer         user_data)

Сигнал ::activate генерируется, когда пользователь активирует дочерний виджет в GtkFlowBox, нажав или дважды щелкнув левой кнопкой мыши, или нажав клавиши Пробел или Enter.

Хотя этот сигнал используется как сигнал для привязки клавиш, его могут использовать приложения для собственных целей.

Параметры

child

Дочерний элемент, на котором генерируется сигнал

user_data

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

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

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

Spec-Zone.ru

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