Spec-Zone.ru › GTK 3.24

GtkFlowBox

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

Функции

GtkWidget * gtk_flow_box_new ()
void gtk_flow_box_insert ()
GtkFlowBoxChild * gtk_flow_box_get_child_at_index ()
GtkFlowBoxChild * gtk_flow_box_get_child_at_pos ()
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 activate-on-single-click Чтение / Запись
guint column-spacing Чтение / Запись
gboolean homogeneous Чтение / Запись
guint max-children-per-line Чтение / Запись
guint min-children-per-line Чтение / Запись
guint row-spacing Чтение / Запись
GtkSelectionMode selection-mode Чтение / Запись

Сигналы

void activate-cursor-child Действие
void child-activated Выполнение последним
gboolean move-cursor Действие
void select-all Действие
void selected-children-changed Выполнение первым
void toggle-cursor-child Действие
void unselect-all Действие
void activate Действие

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

struct GtkFlowBox
struct GtkFlowBoxChild

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

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

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

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

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

Включения

#include <gtk/gtk.h>

Описание

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

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

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

Запрос размера только GtkFlowBox может быть не тем, что вы ожидаете; если вам нужно уметь уменьшать его по обеим осям и динамически перестраивать его дочерние элементы, вам может потребоваться обернуть его в GtkScrolledWindow для включения этой возможности.

Дочерние элементы 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_get_child_at_pos ()

GtkFlowBoxChild *
gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
                               gint x,
                               gint y);

Возвращает дочерний элемент по координатам (x, y).

Параметры

box

a GtkFlowBox

x

координата x дочернего элемента

y

координата y дочернего элемента

Возвращает

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

[transfer none][nullable]

С момента: 3.22.6

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

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

С: 3.12

gtk_flow_box_get_column_spacing ()

guint
gtk_flow_box_get_column_spacing (GtkFlowBox *box);

Получает горизонтальное расстояние.

Параметры

box

a GtkFlowBox

Возвращает

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

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

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

С: 3.12

gtk_flow_box_get_min_children_per_line ()

guint
gtk_flow_box_get_min_children_per_line
                               (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

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

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

С: 3.12

gtk_flow_box_get_max_children_per_line ()

guint
gtk_flow_box_get_max_children_per_line
                               (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

С: 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 для генерации события активации элемента при одном клике

С: 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 в противном случае

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

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

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

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

С момента: 3.12

gtk_flow_box_select_child ()

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

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

Параметры

box

a GtkFlowBox

child

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

С момента: 3.12

gtk_flow_box_unselect_child ()

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

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

Параметры

box

a GtkFlowBox

child

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

С момента: 3.12

gtk_flow_box_select_all ()

void
gtk_flow_box_select_all (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

С момента: 3.12

gtk_flow_box_unselect_all ()

void
gtk_flow_box_unselect_all (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

С момента: 3.12

gtk_flow_box_set_selection_mode ()

void
gtk_flow_box_set_selection_mode (GtkFlowBox *box,
                                 GtkSelectionMode mode);

Устанавливает способ работы выбора в box. Смотрите GtkSelectionMode для деталей.

Параметры

box

a GtkFlowBox

mode

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

С момента: 3.12

gtk_flow_box_get_selection_mode ()

GtkSelectionMode
gtk_flow_box_get_selection_mode (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

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

GtkSelectionMode

С момента: 3.12

GtkFlowBoxFilterFunc ()

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

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

Параметры

child

a 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

a 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

a 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);

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

Параметры

item

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

[type GObject]

user_data

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

[closure]

Возвращает

a 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 пустая, box остается пустой.

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

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

Параметры

box

a GtkFlowBox

model

the GListModel to be bound to 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 не находится в ящике Flow.

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

a GtkFlowBoxChild

С момента: 3.12

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

struct GtkFlowBox

struct GtkFlowBox;

struct GtkFlowBoxChild

struct GtkFlowBoxChild;

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

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

  “activate-on-single-click” gboolean

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

Владелец: GtkFlowBox

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

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

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

  “column-spacing”           guint

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

Владелец: GtkFlowBox

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

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

Свойство “homogeneous”

  “homogeneous”              gboolean

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

Владелец: GtkFlowBox

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

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

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

  “max-children-per-line”    guint

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

Владелец: GtkFlowBox

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

Допустимые значения: >= 1

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

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

  “min-children-per-line”    guint

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

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

Владелец: GtkFlowBox

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

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

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

  “row-spacing”              guint

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

Владелец: GtkFlowBox

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

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

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

  “selection-mode”           GtkSelectionMode

Режим выбора, используемый фрейм-боксом.

Владелец: GtkFlowBox

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

Значение по умолчанию: 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,
               int             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, например, щелчком или двойным щелчком мыши или нажатием клавиш Пробел или Ввод.

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

Параметры

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.24/GtkFlowBox.html

Spec-Zone.ru

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