Spec-Zone.ru › GTK 4.0

GtkScrolledWindow

GtkScrolledWindow — Добавляет полосы прокрутки к дочернему виджету

Функции

GtkWidget * gtk_scrolled_window_new ()
GtkWidget * gtk_scrolled_window_get_child ()
void gtk_scrolled_window_set_child ()
GtkAdjustment * gtk_scrolled_window_get_hadjustment ()
void gtk_scrolled_window_set_hadjustment ()
GtkAdjustment * gtk_scrolled_window_get_vadjustment ()
void gtk_scrolled_window_set_vadjustment ()
GtkWidget * gtk_scrolled_window_get_hscrollbar ()
GtkWidget * gtk_scrolled_window_get_vscrollbar ()
void gtk_scrolled_window_get_policy ()
void gtk_scrolled_window_set_policy ()
GtkCornerType gtk_scrolled_window_get_placement ()
void gtk_scrolled_window_set_placement ()
void gtk_scrolled_window_unset-placement ()
gboolean gtk_scrolled_window_get_has_frame ()
void gtk_scrolled-window_set_has-frame ()
gboolean gtk_scrolled_window_get_kinetic-scrolling ()
void gtk_scrolled-window_set-kinetic-scrolling ()
gboolean gtk_scrolled_window_get_overlay-scrolling ()
void gtk_scrolled-window_set-overlay-scrolling ()
int gtk_scrolled_window_get_min-content-width ()
void gtk_scrolled-window_set-min-content-width ()
int gtk_scrolled_window_get_min-content-height ()
void gtk_scrolled-window_set-min-content-height ()
int gtk_scrolled_window_get-max-content-width ()
void gtk_scrolled-window_set-max-content-width ()
int gtk_scrolled-window_get-max-content-height ()
void gtk_scrolled-window_set-max-content-height ()
gboolean gtk_scrolled-window_get-propagate-natural-width ()
void gtk_scrolled-window_set-propagate-natural-width ()
gboolean gtk_scrolled-window_get-propagate-natural-height ()
void gtk_scrolled-window_set-propagate-natural-height ()

Свойства

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

a GtkScrolledWindow

Возвращает

дочерний виджет 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

a GtkScrolledWindow

child

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

[allow-none]

gtk_scrolled_window_get_hadjustment ()

GtkAdjustment *
gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

a GtkScrolledWindow

Возвращает

горизонтальная настройка GtkAdjustment.

[transfer none]

gtk_scrolled_window_set_hadjustment ()

void
gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window,
                                     GtkAdjustment *hadjustment);

Устанавливает GtkAdjustment для горизонтальной полосы прокрутки.

Параметры

scrolled_window

a GtkScrolledWindow

hadjustment

используемая настройка GtkAdjustment, или NULL для создания новой.

[nullable]

gtk_scrolled_window_get_vadjustment ()

GtkAdjustment *
gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

a GtkScrolledWindow

Возвращает

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

[transfer none]

gtk_scrolled_window_set_vadjustment ()

void
gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window,
                                     GtkAdjustment *vadjustment);

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

Параметры

scrolled_window

a GtkScrolledWindow

vadjustment

используемая настройка GtkAdjustment, или NULL для создания новой.

[nullable]

gtk_scrolled_window_get_hscrollbar ()

GtkWidget *
gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

a GtkScrolledWindow

Возвращает

горизонтальная полоса прокрутки окна со скроллингом.

[transfer none]

gtk_scrolled_window_get_vscrollbar ()

GtkWidget *
gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window);

Возвращает вертикальную полосу прокрутки scrolled_window.

Параметры

scrolled_window

a GtkScrolledWindow

Возвращает

вертикальная полоса прокрутки окна со скроллингом.

[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

a GtkScrolledWindow

hscrollbar_policy

место для хранения политики горизонтальной полосы прокрутки, или NULL.

[out][optional]

vscrollbar_policy

место для хранения политики вертикальной полосы прокрутки, или NULL.

[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

a GtkScrolledWindow

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

a GtkScrolledWindow

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

текущее значение размещения.

См. также 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

a GtkScrolledWindow

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

a GtkScrolledWindow

gtk_scrolled_window_get_has_frame ()

gboolean
gtk_scrolled_window_get_has_frame (GtkScrolledWindow *scrolled_window);

Получает, рисует ли окно прокрутки рамку. См. gtk_scrolled_window_set_has_frame().

Параметры

scrolled_window

a GtkScrolledWindow

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

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

a GtkScrolledWindow

has_frame

нужно ли рисовать рамку вокруг содержимого окна прокрутки

gtk_scrolled_window_get_kinetic_scrolling ()

gboolean
gtk_scrolled_window_get_kinetic_scrolling
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

a GtkScrolledWindow

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

флаги поведения прокрутки.

gtk_scrolled_window_set_kinetic_scrolling ()

void
gtk_scrolled_window_set_kinetic_scrolling
                               (GtkScrolledWindow *scrolled_window,
                                gboolean kinetic_scrolling);

Включает или отключает кинетическую прокрутку. Кинетическая прокрутка применяется только к устройствам с источником GDK_SOURCE_TOUCHSCREEN.

Параметры

scrolled_window

a GtkScrolledWindow

kinetic_scrolling

TRUE для включения кинетической прокрутки

gtk_scrolled_window_get_overlay_scrolling ()

gboolean
gtk_scrolled_window_get_overlay_scrolling
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

a GtkScrolledWindow

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

TRUE если прокрутка наложения включена

gtk_scrolled_window_set_overlay_scrolling ()

void
gtk_scrolled_window_set_overlay_scrolling
                               (GtkScrolledWindow *scrolled_window,
                                gboolean overlay_scrolling);

Включает или отключает прокрутку наложения для данного окна прокрутки.

Параметры

scrolled_window

a GtkScrolledWindow

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

a GtkScrolledWindow

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

минимальная ширина содержимого

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

a GtkScrolledWindow

width

минимальная ширина содержимого

gtk_scrolled_window_get_min_content_height ()

int
gtk_scrolled_window_get_min_content_height
                               (GtkScrolledWindow *scrolled_window);

Получает минимальную высоту содержимого scrolled_window, или -1, если не задано.

Параметры

scrolled_window

a GtkScrolledWindow

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

минимальная высота содержимого

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

либо GTK_DIR_TAB_FORWARD, либо GTK_DIR_TAB_BACKWARD

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

См. также

GtkScrollable, GtkViewport, GtkAdjustment

© 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

Spec-Zone.ru

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