GtkScrolledWindow
GtkScrolledWindow — Добавляет полосы прокрутки к дочернему виджету
Функции
Свойства
| GtkWidget * | child | Чтение / Запись |
| GtkAdjustment * | hadjustment | Чтение / Запись / Создание |
| gboolean | has-frame | Чтение / Запись |
| GtkPolicyType | hscrollbar-policy | Чтение / Запись |
| gboolean | kinetic-scrolling | Чтение / Запись |
| int | max-content-height | Чтение / Запись |
| int | max-content-width | Чтение / Запись |
| int | min-content-height | Чтение / Запись |
| int | min-content-width | Чтение / Запись |
| gboolean | overlay-scrolling | Чтение / Запись |
| gboolean | propagate-natural-height | Чтение / Запись |
| gboolean | propagate-natural-width | Чтение / Запись |
| GtkAdjustment * | vadjustment | Чтение / Запись / Создание |
| GtkPolicyType | vscrollbar-policy | Чтение / Запись |
| GtkCornerType | window-placement | Чтение / Запись |
Сигналы
| void | edge-overshot | Run Last |
| void | edge-reached | Run Last |
| void | move-focus-out | Действие |
| gboolean | scroll-child | Действие |
Типы и значения
| GtkScrolledWindow | |
| перечисление | GtkPolicyType |
| перечисление | GtkCornerType |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkScrolledWindow
Реализованные интерфейсы
GtkScrolledWindow реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkScrolledWindow — это контейнер, принимающий единственный дочерний виджет, делающий этот виджет прокручиваемым с использованием внутренних полос прокрутки или внешних связанных настроек и, необязательно, рисующий рамку вокруг дочернего виджета.
Виджеты с родной поддержкой прокрутки, т. е. виджеты, классы которых реализуют интерфейс GtkScrollable, добавляются напрямую. Для других типов виджетов класс GtkViewport действует как адаптер, обеспечивая прокрутку другим виджетам. gtk_scrolled_window_set_child() разумно учитывает, является ли добавленный дочерний виджет GtkScrollable. Если нет, GtkScrolledWindow оборачивает дочерний виджет в GtkViewport и добавляет его за вас. Поэтому вы можете просто добавить любой дочерний виджет и не беспокоиться об этих деталях.
Если gtk_scrolled_window_set_child() добавил GtkViewport за вас, вы можете удалить как ваш добавленный дочерний виджет из GtkViewport, так и GtkViewport из GtkScrolledWindow, например так:
GtkWidget *scrolled_window = gtk_scrolled_window_new ();
GtkWidget *child_widget = gtk_button_new ();
// GtkButton is not a GtkScrollable, so GtkScrolledWindow will automatically
// add a GtkViewport.
gtk_box_append (GTK_BOX (scrolled_window),
child_widget);
// Either of these will result in child_widget being unparented:
gtk_box_remove (GTK_BOX (scrolled_window),
child_widget);
// or
gtk_box_remove (GTK_BOX (scrolled_window),
gtk_bin_get_child (GTK_BIN (scrolled_window)));Если “hscrollbar-policy” и “vscrollbar-policy” не равны GTK_POLICY_NEVER или GTK_POLICY_EXTERNAL, GtkScrolledWindow добавляет внутренние виджеты GtkScrollbar вокруг своего дочернего виджета. Положение прокрутки дочернего виджета и, применительно к этому, полос прокрутки, контролируется “hadjustment” и “vadjustment”, которые связаны с GtkScrolledWindow. Смотрите документацию по GtkScrollbar за подробностями, но обратите внимание, что поля «step_increment» и «page_increment» эффективны только в том случае, если политика приводит к наличию полос прокрутки.
Если GtkScrolledWindow ведет себя не так, как вы ожидаете, или не имеет нужной компоновки, вы можете настроить собственную прокрутку с помощью GtkScrollbar и, например, GtkGrid.
Поддержка сенсорных устройств
GtkScrolledWindow имеет встроенную поддержку сенсорных устройств. При использовании сенсорного экрана перетаскивание будет перемещать прокручиваемое окно и вызовет кинематическое поведение. Это можно отключить с помощью свойства “kinetic-scrolling”, если оно не нужно.
GtkScrolledWindow также отображает визуальное указание «перехода» при вытягивании содержимого за пределы конца, и это состояние можно захватить с помощью сигнала “edge-overshot”.
Если устройство мыши отсутствует, полосы прокрутки будут накладываться как узкие, автоматически скрывающиеся индикаторы над содержимым. Если традиционные полосы прокрутки нужны, хотя мыши нет, это поведение можно отключить с помощью свойства “overlay-scrolling”.
Узлы CSS
GtkScrolledWindow имеет основной узел CSS с именем scrolledwindow. Класс стиля .frame добавляется, когда “has-frame” равно TRUE.
Он использует дочерние узлы с именами overshoot и undershoot для рисования индикаций переполнения и недополнения. Эти узлы получают добавленный класс стиля .left, .right, .top или .bottom в зависимости от того, где отображается индикация.
GtkScrolledWindow также устанавливает позиционные классы стиля (.left, .right, .top, .bottom) и классы стиля, связанные с наложением прокрутки (.overlay-indicator, .dragging, .hovering) на свои полосы прокрутки.
Если обе полосы прокрутки видимы, область, где они встречаются, рисуется с помощью дочернего узла с именем junction.
Удобство использования
GtkScrolledWindow использует роль GTK_ACCESSIBLE_ROLE_GROUP.
Функции
gtk_scrolled_window_new ()
GtkWidget *
gtk_scrolled_window_new (void); Создаёт новое окно со скроллингом.
Возвращает
новое окно со скроллингом
gtk_scrolled_window_get_child ()
GtkWidget *
gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled_window); Получает дочерний виджет scrolled_window.
Параметры
scrolled_window |
Возвращает
дочерний виджет scrolled_window.
[nullable][transfer none]
gtk_scrolled_window_set_child ()
void gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,GtkWidget *child);
Устанавливает дочерний виджет scrolled_window.
Параметры
scrolled_window | ||
child | дочерний виджет. | [allow-none] |
gtk_scrolled_window_get_hadjustment ()
GtkAdjustment *
gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window); Возвращает настройку горизонтальной полосы прокрутки, используемую для подключения горизонтальной полосы прокрутки к горизонтальной функциональности прокрутки дочернего виджета.
Параметры
scrolled_window |
gtk_scrolled_window_set_hadjustment ()
void gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window,GtkAdjustment *hadjustment);
Устанавливает GtkAdjustment для горизонтальной полосы прокрутки.
Параметры
scrolled_window | ||
hadjustment | используемая настройка GtkAdjustment, или | [nullable] |
gtk_scrolled_window_get_vadjustment ()
GtkAdjustment *
gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window); Возвращает настройку вертикальной полосы прокрутки, используемую для подключения вертикальной полосы прокрутки к вертикальной функциональности прокрутки дочернего виджета.
Параметры
scrolled_window |
gtk_scrolled_window_set_vadjustment ()
void gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window,GtkAdjustment *vadjustment);
Устанавливает GtkAdjustment для вертикальной полосы прокрутки.
Параметры
scrolled_window | ||
vadjustment | используемая настройка GtkAdjustment, или | [nullable] |
gtk_scrolled_window_get_hscrollbar ()
GtkWidget *
gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window); Возвращает горизонтальную полосу прокрутки scrolled_window.
Параметры
scrolled_window |
Возвращает
горизонтальная полоса прокрутки окна со скроллингом.
[transfer none]
gtk_scrolled_window_get_vscrollbar ()
GtkWidget *
gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window); Возвращает вертикальную полосу прокрутки scrolled_window.
Параметры
scrolled_window |
Возвращает
вертикальная полоса прокрутки окна со скроллингом.
[transfer none]
gtk_scrolled_window_get_policy ()
void gtk_scrolled_window_get_policy (GtkScrolledWindow *scrolled_window,GtkPolicyType *hscrollbar_policy,GtkPolicyType *vscrollbar_policy);
Получает текущие значения политики для горизонтальной и вертикальной полос прокрутки. См. gtk_scrolled_window_set_policy().
Параметры
scrolled_window | ||
hscrollbar_policy | место для хранения политики горизонтальной полосы прокрутки, или | [out][optional] |
vscrollbar_policy | место для хранения политики вертикальной полосы прокрутки, или | [out][optional] |
gtk_scrolled_window_set_policy ()
void gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window,GtkPolicyType hscrollbar_policy,GtkPolicyType vscrollbar_policy);
Устанавливает политику полосы прокрутки для горизонтальной и вертикальной полос прокрутки.
Политика определяет, когда должна отображаться полоса прокрутки; это значение из перечисления GtkPolicyType. Если GTK_POLICY_ALWAYS, полоса прокрутки всегда отображается; если GTK_POLICY_NEVER, полоса прокрутки никогда не отображается; если GTK_POLICY_AUTOMATIC, полоса прокрутки отображается только при необходимости (то есть, если область ползунка была бы меньше, чем лоток — отображение больше, чем размер страницы).
Параметры
scrolled_window | ||
hscrollbar_policy | политика для горизонтальной полосы | |
vscrollbar_policy | политика для вертикальной полосы |
gtk_scrolled_window_get_placement ()
GtkCornerType
gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window); Получает расположение содержимого относительно полос прокрутки для окна прокрутки. См. gtk_scrolled_window_set_placement().
Параметры
scrolled_window |
Возвращаемое значение
текущее значение размещения.
См. также gtk_scrolled_window_set_placement() и gtk_scrolled_window_unset_placement().
gtk_scrolled_window_set_placement ()
void gtk_scrolled_window_set_placement (GtkScrolledWindow *scrolled_window,GtkCornerType window_placement);
Устанавливает расположение содержимого относительно полос прокрутки для окна прокрутки.
По умолчанию GTK_CORNER_TOP_LEFT, что означает, что дочерний элемент находится в верхнем левом углу, а полосы прокрутки находятся под ним и справа. Другие значения в GtkCornerType — GTK_CORNER_TOP_RIGHT, GTK_CORNER_BOTTOM_LEFT и GTK_CORNER_BOTTOM_RIGHT.
См. также gtk_scrolled_window_get_placement() и gtk_scrolled_window_unset_placement().
Параметры
scrolled_window | ||
window_placement | положение дочернего окна |
gtk_scrolled_window_unset_placement ()
void
gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window); Снимает установку расположения содержимого относительно полос прокрутки для окна прокрутки. Если для окна прокрутки не задано расположение окна, по умолчанию используется GTK_CORNER_TOP_LEFT.
См. также gtk_scrolled_window_set_placement() и gtk_scrolled_window_get_placement().
Параметры
scrolled_window |
gtk_scrolled_window_get_has_frame ()
gboolean
gtk_scrolled_window_get_has_frame (GtkScrolledWindow *scrolled_window); Получает, рисует ли окно прокрутки рамку. См. gtk_scrolled_window_set_has_frame().
Параметры
scrolled_window |
Возвращаемое значение
TRUE если у scrolled_window есть рамка
gtk_scrolled_window_set_has_frame ()
void gtk_scrolled_window_set_has_frame (GtkScrolledWindow *scrolled_window,gboolean has_frame);
Изменяет рамку, нарисованную вокруг содержимого scrolled_window .
Параметры
scrolled_window | ||
has_frame | нужно ли рисовать рамку вокруг содержимого окна прокрутки |
gtk_scrolled_window_get_kinetic_scrolling ()
gboolean
gtk_scrolled_window_get_kinetic_scrolling
(GtkScrolledWindow *scrolled_window); Возвращает указанное поведение кинетической прокрутки.
Параметры
scrolled_window |
Возвращаемое значение
флаги поведения прокрутки.
gtk_scrolled_window_set_kinetic_scrolling ()
void gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window,gboolean kinetic_scrolling);
Включает или отключает кинетическую прокрутку. Кинетическая прокрутка применяется только к устройствам с источником GDK_SOURCE_TOUCHSCREEN.
Параметры
scrolled_window | ||
kinetic_scrolling |
|
gtk_scrolled_window_get_overlay_scrolling ()
gboolean
gtk_scrolled_window_get_overlay_scrolling
(GtkScrolledWindow *scrolled_window); Возвращает, включена ли прокрутка наложения для данного окна прокрутки.
Параметры
scrolled_window |
Возвращаемое значение
TRUE если прокрутка наложения включена
gtk_scrolled_window_set_overlay_scrolling ()
void gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window,gboolean overlay_scrolling);
Включает или отключает прокрутку наложения для данного окна прокрутки.
Параметры
scrolled_window | ||
overlay_scrolling | включить ли прокрутку наложения |
gtk_scrolled_window_get_min_content_width ()
int
gtk_scrolled_window_get_min_content_width
(GtkScrolledWindow *scrolled_window); Получает минимальную ширину содержимого scrolled_window, или -1, если не задано.
Параметры
scrolled_window |
Возвращаемое значение
минимальная ширина содержимого
gtk_scrolled_window_set_min_content_width ()
void gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window,int width);
Устанавливает минимальную ширину, которую scrolled_window должно отображать. Обратите внимание, что она может быть меньше минимального размера содержимого.
Устанавливать минимальную ширину содержимого значением, большим, чем “max-content-width”, является программно-ошибочным.
Параметры
scrolled_window | ||
width | минимальная ширина содержимого |
gtk_scrolled_window_get_min_content_height ()
int
gtk_scrolled_window_get_min_content_height
(GtkScrolledWindow *scrolled_window); Получает минимальную высоту содержимого scrolled_window, или -1, если не задано.
Параметры
scrolled_window |
Возвращаемое значение
минимальная высота содержимого
gtk_scrolled_window_set_min_content_height ()
void gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window,int height);
Устанавливает минимальную высоту, которую scrolled_window должно отображать. Обратите внимание, что эта высота может быть меньше минимального размера содержимого.
Ошибка программирования — установить минимальную высоту содержимого значением, превышающим “max-content-height”.
Параметры
scrolled_window | объект GtkScrolledWindow | |
height | минимальная высота содержимого |
gtk_scrolled_window_get_max_content_width ()
int
gtk_scrolled_window_get_max_content_width
(GtkScrolledWindow *scrolled_window); Возвращает установленную максимальную ширину содержимого.
Параметры
scrolled_window | объект GtkScrolledWindow |
Возвращает
максимальную ширину содержимого или -1
gtk_scrolled_window_set_max_content_width ()
void gtk_scrolled_window_set_max_content_width (GtkScrolledWindow *scrolled_window,int width);
Устанавливает максимальную ширину, которую scrolled_window должно отображать. scrolled_window будет увеличиваться до этой ширины, прежде чем начать прокручивать содержимое.
Ошибка программирования — установить максимальную ширину содержимого значением, меньшим, чем “min-content-width”.
Параметры
scrolled_window | объект GtkScrolledWindow | |
width | максимальная ширина содержимого |
gtk_scrolled_window_get_max_content_height ()
int
gtk_scrolled_window_get_max_content_height
(GtkScrolledWindow *scrolled_window); Возвращает установленную максимальную высоту содержимого.
Параметры
scrolled_window | объект GtkScrolledWindow |
Возвращает
максимальную высоту содержимого или -1
gtk_scrolled_window_set_max_content_height ()
void gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window,int height);
Устанавливает максимальную высоту, которую scrolled_window должно отображать. scrolled_window будет увеличиваться до этой высоты, прежде чем начать прокручивать содержимое.
Ошибка программирования — установить максимальную высоту содержимого значением, меньшим, чем “min-content-height”.
Параметры
scrolled_window | объект GtkScrolledWindow | |
height | максимальная высота содержимого |
gtk_scrolled_window_get_propagate_natural_width ()
gboolean
gtk_scrolled_window_get_propagate_natural_width
(GtkScrolledWindow *scrolled_window); Указывает, будет ли вычисляться естественная ширина дочернего элемента и передаваться в запрошенную естественную ширину окна прокрутки.
Параметры
scrolled_window | объект GtkScrolledWindow |
Возвращает
включено ли распространение естественной ширины.
gtk_scrolled_window_set_propagate_natural_width ()
void gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_window,gboolean propagate);
Устанавливает, должна ли вычисляться естественная ширина дочернего элемента и передаваться в запрошенную естественную ширину окна прокрутки.
Параметры
scrolled_window | объект GtkScrolledWindow | |
propagate | распространять ли естественную ширину |
gtk_scrolled_window_get_propagate_natural_height ()
gboolean
gtk_scrolled_window_get_propagate_natural_height
(GtkScrolledWindow *scrolled_window); Указывает, будет ли вычисляться естественная высота дочернего элемента и передаваться в запрошенную естественную высоту окна прокрутки.
Параметры
scrolled_window | объект GtkScrolledWindow |
Возвращает
включено ли распространение естественной высоты.
gtk_scrolled_window_set_propagate_natural_height ()
void gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window,gboolean propagate);
Устанавливает, должна ли вычисляться естественная высота дочернего элемента и передаваться в запрошенную естественную высоту окна прокрутки.
Параметры
scrolled_window | объект GtkScrolledWindow | |
propagate | распространять ли естественную высоту |
Типы и значения
GtkScrolledWindow
typedef struct _GtkScrolledWindow GtkScrolledWindow;
перечисление GtkPolicyType
Определяет, как вычисляется размер для достижения одного из режимов видимости полос прокрутки.
Члены
GTK_POLICY_ALWAYS | Полоса прокрутки всегда отображается. Размер области просмотра не зависит от содержимого. | |
GTK_POLICY_AUTOMATIC | Полоса прокрутки будет появляться и исчезать по мере необходимости. Например, когда весь GtkTreeView не виден. | |
GTK_POLICY_NEVER | Полоса прокрутки никогда не должна отображаться. В этом режиме размер определяется содержимым. | |
GTK_POLICY_EXTERNAL | Не показывать полосу прокрутки, но не заставлять размер следовать за содержимым. Это можно использовать, например, для того, чтобы несколько окон прокрутки использовали одну полосу прокрутки. |
перечисление GtkCornerType
Указывает, в какой угол должен быть помещен дочерний виджет при упаковке в GtkScrolledWindow. Это фактически противоположно тому, где размещаются полосы прокрутки.
Члены
GTK_CORNER_TOP_LEFT | Расположить полосы прокрутки справа и снизу виджета (по умолчанию). | |
GTK_CORNER_BOTTOM_LEFT | Расположить полосы прокрутки сверху и справа от виджета. | |
GTK_CORNER_TOP_RIGHT | Расположить полосы прокрутки слева и снизу от виджета. | |
GTK_CORNER_BOTTOM_RIGHT | Расположить полосы прокрутки сверху и слева от виджета. |
Подробное описание свойств
Свойство “child”
“child” GtkWidget *
Виджет-потомок.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Свойство “hadjustment”
“hadjustment” GtkAdjustment *
GtkAdjustment для горизонтального положения.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись / Создание
Свойство “has-frame”
“has-frame” gboolean
Отображать ли рамку вокруг содержимого.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “hscrollbar-policy”
“hscrollbar-policy” GtkPolicyType
Когда отображается горизонтальная полоса прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_POLICY_AUTOMATIC
Свойство “kinetic-scrolling”
“kinetic-scrolling” gboolean
Включена ли кинетическая прокрутка. Кинетическая прокрутка применяется только к устройствам с источником GDK_SOURCE_TOUCHSCREEN.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “max-content-height”
“max-content-height” int
Максимальная высота содержимого scrolled_window, или -1, если не задана.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство “max-content-width”
“max-content-width” int
Максимальная ширина содержимого scrolled_window, или -1, если не задана.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство “min-content-height”
“min-content-height” int
Минимальная высота содержимого scrolled_window, или -1, если не задана.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство “min-content-width”
“min-content-width” int
Минимальная ширина содержимого scrolled_window, или -1, если не задана.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство “overlay-scrolling”
“overlay-scrolling” gboolean
Включена ли прокрутка наложением. Если включена, полосы прокрутки добавляются как обычные виджеты только при наличии мыши. В противном случае они накладываются поверх содержимого в виде узких индикаторов.
Обратите внимание, что прокрутка наложением также может быть глобально отключена с помощью настройки “gtk-overlay-scrolling”.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “propagate-natural-height”
“propagate-natural-height” gboolean
Подлежит ли вычислению естественная высота потомка и распространяется ли она через запрошенную естественную высоту окна прокрутки?
Это полезно в тех случаях, когда необходимо попытаться выделить ровно столько места, сколько необходимо для естественного размера потомка.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “propagate-natural-width”
“propagate-natural-width” gboolean
Подлежит ли вычислению естественная ширина потомка и распространяется ли она через запрошенную естественную ширину окна прокрутки?
Это полезно в тех случаях, когда необходимо попытаться выделить ровно столько места, сколько необходимо для естественного размера потомка.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “vadjustment”
“vadjustment” GtkAdjustment *
GtkAdjustment для вертикального положения.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись / Создание
Свойство “vscrollbar-policy”
“vscrollbar-policy” GtkPolicyType
Когда отображается вертикальная полоса прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_POLICY_AUTOMATIC
Свойство “window-placement”
“window-placement” GtkCornerType
Расположение содержимого относительно полос прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_CORNER_TOP_LEFT
Сведения о сигналах
Сигнал “edge-overshot”
void user_function (GtkScrolledWindow *scrolled_window, GtkPositionType pos, gpointer user_data)
Сигнал ::edge-overshot генерируется всякий раз, когда пользовательское прокручивание вызывает полное превышение (т. е. с некоторым сопротивлением при достижении края) нижних или верхних пределов, определенных регулировкой в данном направлении.
Аналогичное поведение без сопротивления при достижении края обеспечивает сигнал “edge-reached”.
Примечание: Аргумент pos учитывает LTR/RTL, поэтому вызывающие стороны должны учитывать это при реализации поведения по горизонтальным краям.
Параметры
scrolled_window | объект GtkScrolledWindow | |
pos | сторона края, которая была достигнута | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “edge-reached”
void user_function (GtkScrolledWindow *scrolled_window, GtkPositionType pos, gpointer user_data)
Сигнал ::edge-reached генерируется всякий раз, когда пользовательское прокручивание приводит к точному достижению нижних или верхних пределов, определенных регулировкой в данном направлении.
Аналогичное поведение с сопротивлением при достижении края обеспечивает сигнал “edge-overshot”.
Примечание: Аргумент pos учитывает LTR/RTL, поэтому вызывающие стороны должны учитывать это при реализации поведения по горизонтальным краям.
Параметры
scrolled_window | объект GtkScrolledWindow | |
pos | сторона края, которая была достигнута | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “move-focus-out”
void user_function (GtkScrolledWindow *scrolled_window, GtkDirectionType direction_type, gpointer user_data)
Сигнал ::move-focus-out — это сигнал для сочетаний клавиш, который генерируется при перемещении фокуса из окна прокрутки с помощью сочетания клавиш. Сигнал “move-focus” генерируется с direction_type в родительском окне (верхнем уровне) этого окна прокрутки в иерархии контейнеров. Стандартные сочетания клавиш для этого сигнала — Ctrl + Tab для перемещения вперёд и Ctrl + Shift + Tab для перемещения назад.
Параметры
scrolled_window | объект GtkScrolledWindow | |
direction_type | либо | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Action
Сигнал “scroll-child”
gboolean user_function (GtkScrolledWindow *scrolled_window, GtkScrollType scroll, gboolean horizontal, gpointer user_data)
Сигнал ::scroll-child — это сигнал для сочетаний клавиш, который генерируется при нажатии сочетания клавиш, вызывающего прокрутку. Горизонтальная или вертикальная регулировка обновляется, что вызывает сигнал, на который может откликнуться дочернее окно прокрутки и выполнить прокрутку.
Параметры
scrolled_window | объект GtkScrolledWindow | |
scroll | тип прокрутки GtkScrollType, описывающий, насколько сильно нужно прокручивать | |
horizontal | определяет, будет ли прокрутка по горизонтали или нет | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Action
См. также
© 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/GtkScrolledWindow.html