Spec-Zone.ru › GTK 4.0

GtkFlowBox

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

Функции

GtkWidget * gtk_flow_box_new ()
void gtk_flow_box_insert ()
void gtk_flow_box_remove ()
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 ()
int (*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 ()
void gtk_flow_box_child_set_child ()
GtkWidget * gtk_flow_box_child_get_child ()
int gtk_flow_box_child_get_index ()
gboolean gtk_flow_box_child_is_selected ()
void gtk_flow_box_child_changed ()

Свойства

gboolean accept-unpaired-release Чтение / Запись
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 Чтение / Запись
GtkWidget * child Чтение / Запись

Сигналы

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 Действие

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

GtkFlowBox
struct GtkFlowBoxChild

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ├── GtkFlowBox
            ╰── GtkFlowBoxChild

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

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

GtkFlowBoxChild реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.

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

#include <gtk/gtk.h>

Описание

GtkFlowBox упорядочивает дочерние виджеты в соответствии со своей ориентацией.

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

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

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

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

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

См. также GtkListBox.

CSS-узлы

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

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

Универсальный доступ

GtkFlowBox использует роль GTK_ACCESSIBLE_ROLE_GRID, а GtkFlowBoxChild использует роль GTK_ACCESSIBLE_ROLE_GRID_CELL.

Функции

gtk_flow_box_new ()

GtkWidget *
gtk_flow_box_new (void);

Создаёт GtkFlowBox.

Возвращает

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

gtk_flow_box_insert ()

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

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

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

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

Параметры

box

a GtkFlowBox

widget

виджет GtkWidget для добавления

position

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

gtk_flow_box_remove ()

void
gtk_flow_box_remove (GtkFlowBox *box,
                     GtkWidget *widget);

Удаляет дочерний элемент из box .

Параметры

box

a GtkFlowBox

widget

дочерний виджет для удаления

gtk_flow_box_get_child_at_index ()

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

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

Параметры

box

a GtkFlowBox

idx

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

Возвращает

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

[transfer none][nullable]

gtk_flow_box_get_child_at_pos ()

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

Возвращает дочерний элемент в позиции (x, y). Обе x и y предполагаются относительными к началу координат box.

Параметры

box

a GtkFlowBox

x

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

y

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

Возвращает

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

[transfer none][nullable]

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

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

gtk_flow_box_set_homogeneous ()

void
gtk_flow_box_set_homogeneous (GtkFlowBox *box,
                              gboolean homogeneous);

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

Параметры

box

a GtkFlowBox

homogeneous

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

gtk_flow_box_get_homogeneous ()

gboolean
gtk_flow_box_get_homogeneous (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

gtk_flow_box_set_row_spacing ()

void
gtk_flow_box_set_row_spacing (GtkFlowBox *box,
                              guint spacing);

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

Параметры

box

a GtkFlowBox

spacing

пробел для использования

gtk_flow_box_get_row_spacing ()

guint
gtk_flow_box_get_row_spacing (GtkFlowBox *box);

Получает вертикальный интервал.

Параметры

box

a GtkFlowBox

Возвращает

вертикальный интервал

gtk_flow_box_set_column_spacing ()

void
gtk_flow_box_set_column_spacing (GtkFlowBox *box,
                                 guint spacing);

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

Параметры

box

a GtkFlowBox

spacing

расстояние, которое нужно использовать

gtk_flow_box_get_column_spacing ()

guint
gtk_flow_box_get_column_spacing (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

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

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

gtk_flow_box_get_min_children_per_line ()

guint
gtk_flow_box_get_min_children_per_line
                               (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

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

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

gtk_flow_box_get_max_children_per_line ()

guint
gtk_flow_box_get_max_children_per_line
                               (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

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 для активации элемента при одиночном нажатии

gtk_flow_box_get_activate_on_single_click ()

gboolean
gtk_flow_box_get_activate_on_single_click
                               (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

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]

gtk_flow_box_selected_foreach ()

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

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

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

Параметры

box

a GtkFlowBox

func

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

[scope call]

data

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

gtk_flow_box_get_selected_children ()

GList *
gtk_flow_box_get_selected_children (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

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

[element-type GtkFlowBoxChild][transfer container]

gtk_flow_box_select-child ()

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

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

Параметры

box

a GtkFlowBox

child

элемент box

gtk_flow_box_unselect-child ()

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

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

Параметры

box

a GtkFlowBox

child

элемент box

gtk_flow_box_select_all ()

void
gtk_flow_box_select_all (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

gtk_flow_box_unselect_all ()

void
gtk_flow_box_unselect_all (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

gtk_flow_box_set_selection_mode ()

void
gtk_flow_box_set_selection_mode (GtkFlowBox *box,
                                 GtkSelectionMode mode);

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

Параметры

box

a GtkFlowBox

mode

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

gtk_flow_box_get_selection_mode ()

GtkSelectionMode
gtk_flow_box_get_selection_mode (GtkFlowBox *box);

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

Параметры

box

a GtkFlowBox

Возвращает

GtkSelectionMode

GtkFlowBoxFilterFunc ()

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

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

Параметры

child

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

user_data

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

[closure]

Возвращает

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

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

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

[allow-none]

user_data

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

[closure]

destroy

уведомление о удалении user_data.

gtk_flow_box_invalidate_filter ()

void
gtk_flow_box_invalidate_filter (GtkFlowBox *box);

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

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

Параметры

box

a GtkFlowBox

GtkFlowBoxSortFunc ()

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

Функция сравнения двух дочерних элементов для определения порядка.

Параметры

child1

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

child2

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

user_data

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

[closure]

Возвращает

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

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

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

[allow-none]

user_data

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

[closure]

destroy

уведомление об удалении user_data.

gtk_flow_box_invalidate_sort ()

void
gtk_flow_box_invalidate_sort (GtkFlowBox *box);

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

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

Параметры

box

a GtkFlowBox

GtkFlowBoxCreateWidgetFunc ()

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

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

Параметры

item

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

[type GObject]

user_data

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

[closure]

Возвращает

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

[transfer full]

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()) в то время, как box привязан к модели.

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

Параметры

box

a GtkFlowBox

model

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

[allow-none]

create_widget_func

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

user_data

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

[closure]

user_data_free_func

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

gtk_flow_box_child_new ()

GtkWidget *
gtk_flow_box_child_new (void);

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

Возвращает

новый GtkFlowBoxChild

gtk_flow_box_child_set_child ()

void
gtk_flow_box_child_set_child (GtkFlowBoxChild *self,
                              GtkWidget *child);

Устанавливает дочерний виджет для self .

Параметры

self

a GtkFlowBoxChild

child

дочерний виджет.

[allow-none]

gtk_flow_box_child_get_child ()

GtkWidget *
gtk_flow_box_child_get_child (GtkFlowBoxChild *self);

Получает дочерний виджет для self .

Параметры

self

a GtkFlowBoxChild

Возвращает

дочерний виджет для self .

[nullable][transfer none]

gtk_flow_box_child_get_index ()

int
gtk_flow_box_child_get_index (GtkFlowBoxChild *child);

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

Параметры

child

a GtkFlowBoxChild

Возвращает

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

gtk_flow_box_child_is_selected ()

gboolean
gtk_flow_box_child_is_selected (GtkFlowBoxChild *child);

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

Параметры

child

a GtkFlowBoxChild

Возвращает

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

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

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

GtkFlowBox

typedef struct _GtkFlowBox GtkFlowBox;

struct GtkFlowBoxChild

struct GtkFlowBoxChild;

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

Свойство “accept-unpaired-release”

  “accept-unpaired-release”  gboolean

Принимать событие отпускания, не связанное с нажатием.

Владелец: GtkFlowBox

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

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

Свойство “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

Свойство “child”

  “child”                    GtkWidget *

Дочерний виджет.

Владелец: GtkFlowBoxChild

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

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

Сигнал “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,
               gboolean        extend,
               gboolean        modify,
               gpointer        user_data)

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

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

Стандартные сочетания клавиш для этого сигнала имеют два варианта: вариант с модификатором Shift расширяет выделение, а вариант без него — нет. Здесь слишком много сочетаний клавиш, чтобы перечислить их все.

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

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

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

Параметры

box

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

step

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

count

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

extend

расширять ли выделение

modify

модифицировать ли выделение

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-old.gnome.org/gtk4/4.0/GtkFlowBox.html

Spec-Zone.ru

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