Spec-Zone.ru › GTK 3.22

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

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

С тех пор: 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

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

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 boxes, связанные с GListModel с помощью gtk_flow_box_bind_model() для каждого элемента, добавленного в модель.

Параметры

item

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

user_data

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

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

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 является 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 не находится в flow box.

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

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

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

Значение по умолчанию: 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

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

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

Значение по умолчанию: 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 для расширения выделения и без него — для обычного перемещения. Полный список слишком обширен.

  • Клавиши со стрелками перемещают на один дочерний элемент.

  • Клавиши 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-Space.

Параметры

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

Spec-Zone.ru

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