Spec-Zone.ru › GTK 3.22

GtkScrolledWindow

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

Функции

GtkWidget * gtk_scrolled_window_new ()
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 ()
void gtk_scrolled_window_add_with_viewport ()
GtkCornerType gtk_scrolled_window_get_placement ()
void gtk_scrolled_window_set_placement ()
void gtk_scrolled_window_unset_placement ()
GtkShadowType gtk_scrolled_window_get_shadow_type ()
void gtk_scrolled_window_set_shadow_type ()
gboolean gtk_scrolled_window_get_kinetic_scrolling ()
void gtk_scrolled_window_set_kinetic_scrolling ()
gboolean gtk_scrolled_window_get_capture_button_press ()
void gtk_scrolled_window_set_capture_button_press ()
gboolean gtk_scrolled_window_get_overlay_scrolling ()
void gtk_scrolled_window_set_overlay_scrolling ()
gint gtk_scrolled_window_get_min_content_width ()
void gtk_scrolled_window_set_min_content_width ()
gint gtk_scrolled_window_get_min_content_height ()
void gtk_scrolled_window_set_min_content_height ()
gint gtk_scrolled_window_get_max_content_width ()
void gtk_scrolled_window_set_max_content_width ()
gint 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 ()

Свойства

GtkAdjustment * hadjustment Чтение / Запись / Создание
GtkPolicyType hscrollbar-policy Чтение / Запись
gboolean kinetic-scrolling Чтение / Запись
gint max-content-height Чтение / Запись
gint max-content-width Чтение / Запись
gint min-content-height Чтение / Запись
gint min-content-width Чтение / Запись
gboolean overlay-scrolling Чтение / Запись
gboolean propagate-natural-height Чтение / Запись
gboolean propagate-natural-width Чтение / Запись
GtkShadowType shadow-type Чтение / Запись
GtkAdjustment * vadjustment Чтение / Запись / Создание
GtkPolicyType vscrollbar-policy Чтение / Запись
GtkCornerType window-placement Чтение / Запись
gboolean window-placement-set Чтение / Запись

Стилизованные свойства

gint scrollbar-spacing Чтение
gboolean scrollbars-within-bevel Чтение

Сигналы

void edge-overshot Запуск последним
void edge-reached Запуск последним
void move-focus-out Действие
gboolean scroll-child Действие

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

struct GtkScrolledWindow
struct GtkScrolledWindowClass
enum GtkPolicyType
enum GtkCornerType

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkScrolledWindow
                        ╰── GtkPlacesSidebar

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

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

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

#include <gtk/gtk.h>

Описание

GtkScrolledWindow — это подкласс GtkBin: это контейнер, принимающий единственный дочерний виджет. GtkScrolledWindow добавляет полосы прокрутки к дочернему виджету и, по желанию, рисует окаймление с фаской вокруг дочернего виджета.

Окно прокрутки может работать двумя способами. Некоторые виджеты поддерживают встроенную прокрутку; эти виджеты реализуют интерфейс GtkScrollable. Виджеты с поддержкой встроенной прокрутки включают GtkTreeView, GtkTextView и GtkLayout.

Для виджетов, не поддерживающих встроенную прокрутку, виджет GtkViewport служит адаптером, реализующим возможность прокрутки для дочерних виджетов, не имеющих собственной функциональности прокрутки. Используйте GtkViewport для прокрутки дочерних виджетов, таких как GtkGrid, GtkBox и так далее.

Если виджет поддерживает встроенную возможность прокрутки, его можно добавить в GtkScrolledWindow с помощью gtk_container_add(). Если нет, необходимо сначала добавить виджет в GtkViewport, а затем добавить GtkViewport в окно прокрутки. gtk_container_add() сделает это за вас для виджетов, которые не реализуют GtkScrollable напрямую, поэтому вы можете игнорировать наличие viewport.

Если gtk_container_add() добавил GtkViewport за вас, вы можете удалить как ваш добавленный дочерний виджет из GtkViewport, так и GtkViewport из GtkScrolledWindow с помощью любого из вызовов

gtk_container_remove (GTK_CONTAINER (scrolled_window),
                      child_widget);
// or
gtk_container_remove (GTK_CONTAINER (scrolled_window),
                      gtk_bin_get_child (GTK_BIN (scrolled_window)));

Положение полос прокрутки контролируется настройками прокрутки. См. GtkAdjustment для полей в настройке — для GtkScrollbar, используемой GtkScrolledWindow, поле «value» представляет положение полосы прокрутки, которое должно находиться между полем «lower» и «upper - page_size». Поле «page_size» представляет размер области видимой прокрутки. Поля «step_increment» и «page_increment» используются, когда пользователь хочет выполнить шаг вниз (с помощью маленьких стрелок) или страницу вниз (например, с помощью клавиши PageDown).

Если GtkScrolledWindow ведет себя не так, как ожидалось, или имеет не совсем подходящую компоновку, вы можете самостоятельно настроить прокрутку с помощью GtkScrollbar и, например, GtkGrid.

Поддержка сенсорных устройств

GtkScrolledWindow имеет встроенную поддержку сенсорных устройств. При использовании сенсорного экрана свайп будет перемещать окно прокрутки и обеспечит кинематическое поведение. Это можно отключить свойством «kinetic-scrolling», если это нежелательно.

GtkScrolledWindow также отображает визуальные индикаторы перехода, когда содержимое выводится за край, и это состояние можно захватить с помощью сигнала «edge-overshot».

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

Узлы CSS

GtkScrolledWindow имеет основной узел CSS с именем scrolledwindow.

Он использует подузлы с именами overshoot и undershoot для рисования индикаторов переполнения и недополнения. Эти узлы получают добавление стилей .left, .right, .top или .bottom в зависимости от места рисования индикатора.

GtkScrolledWindow также устанавливает стилевые классы позиции (.left, .right, .top, .bottom) и стилевые классы, связанные с прокруткой с наложением (.overlay-indicator, .dragging, .hovering), на свои полосы прокрутки.

Если обе полосы прокрутки видны, область их пересечения рисуется с помощью подузла с именем junction.

Функции

gtk_scrolled_window_new ()

GtkWidget *
gtk_scrolled_window_new (GtkAdjustment *hadjustment,
                         GtkAdjustment *vadjustment);

Создаёт новое окно со скроллингом.

Два аргумента — настройки скроллинга; они будут совместно использоваться с полосами прокрутки и виджетом-потомком для синхронизации полос с содержимым. Обычно вы хотите передать NULL для настроек, что приведёт к созданию настроек окном со скроллингом.

Параметры

hadjustment

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

[allow-none]

vadjustment

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

[allow-none]

Возвращает

новое окно со скроллингом

gtk_scrolled_window_get_hadjustment ()

GtkAdjustment *
gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно со скроллингом GtkScrolledWindow

Возвращает

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

[transfer none]

gtk_scrolled_window_set_hadjustment ()

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

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

Параметры

scrolled_window

окно со скроллингом GtkScrolledWindow

hadjustment

настройка горизонтальной прокрутки

gtk_scrolled_window_get_vadjustment ()

GtkAdjustment *
gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно со скроллингом GtkScrolledWindow

Возвращает

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

[transfer none]

gtk_scrolled_window_set_vadjustment ()

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

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

Параметры

scrolled_window

окно со скроллингом GtkScrolledWindow

vadjustment

настройка вертикальной прокрутки

gtk_scrolled_window_get_hscrollbar ()

GtkWidget *
gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно со скроллингом GtkScrolledWindow

Возвращает

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

[transfer none]

С: 2.8

gtk_scrolled_window_get_vscrollbar ()

GtkWidget *
gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно со скроллингом GtkScrolledWindow

Возвращает

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

[transfer none]

С: 2.8

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

окно со скроллингом GtkScrolledWindow

hscrollbar_policy

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

[out][allow-none]

vscrollbar_policy

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

[out][allow-none]

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

окно со скроллингом GtkScrolledWindow

hscrollbar_policy

политика для горизонтальной полосы

vscrollbar_policy

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

gtk_scrolled_window_add_with_viewport ()

void
gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrolled_window,
                                       GtkWidget *child);

gtk_scrolled_window_add_with_viewport устарело с версии 3.8 и не должно использоваться в новом коде.

gtk_container_add() автоматически добавит GtkViewport, если дочерний элемент не реализует GtkScrollable.

Используется для добавления дочерних элементов без собственных возможностей прокрутки. Это просто удобная функция; она эквивалентна добавлению неподдерживающего прокрутку дочернего элемента в GtkViewport, а затем добавлению GtkViewport в окно прокрутки. Если дочерний элемент поддерживает собственную прокрутку, используйте gtk_container_add() вместо этой функции.

Окно просмотра прокручивает дочерний элемент, перемещая его GdkWindow, и размер дочернего элемента соответствует размеру его верхнего GdkWindow. Это будет неправильно для большинства виджетов, поддерживающих собственную прокрутку; например, если вы добавите виджет, такой как GtkTreeView, с GtkViewport, вся область виджета будет прокручиваться, включая заголовки столбцов. Поэтому виджеты с собственной поддержкой прокрутки не должны использоваться с прокси-сервером GtkViewport.

Виджет поддерживает прокрутку в родном режиме, если он реализует интерфейс GtkScrollable.

Параметры

scrolled_window

окно GtkScrolledWindow

child

виджет, который вы хотите прокрутить

gtk_scrolled_window_get_placement ()

GtkCornerType
gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window);

Получает расположение содержимого относительно полос прокрутки для окна прокрутки. См. gtk_scrolled_window_set_placement().

Параметры

scrolled_window

окно 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

окно 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

окно GtkScrolledWindow

С: 2.10

gtk_scrolled_window_get_shadow_type ()

GtkShadowType
gtk_scrolled_window_get_shadow_type (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно GtkScrolledWindow

Возвращает

текущий тип тени

gtk_scrolled_window_set_shadow_type ()

void
gtk_scrolled_window_set_shadow_type (GtkScrolledWindow *scrolled_window,
                                     GtkShadowType type);

Изменяет тип тени, нарисованной вокруг содержимого scrolled_window.

Параметры

scrolled_window

окно GtkScrolledWindow

type

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

gtk_scrolled_window_get_kinetic_scrolling ()

gboolean
gtk_scrolled_window_get_kinetic_scrolling
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно GtkScrolledWindow

Возвращает

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

С: 3.4

gtk_scrolled_window_set_kinetic_scrolling ()

void
gtk_scrolled_window_set_kinetic_scrolling
                               (GtkScrolledWindow *scrolled_window,
                                gboolean kinetic_scrolling);

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

Параметры

scrolled_window

окно GtkScrolledWindow

kinetic_scrolling

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

С: 3.4

gtk_scrolled_window_get_capture_button_press ()

gboolean
gtk_scrolled_window_get_capture_button_press
                               (GtkScrolledWindow *scrolled_window);

Возвращает, захватываются ли нажатия кнопок во время кинетической прокрутки. См. gtk_scrolled_window_set_capture_button_press().

Параметры

scrolled_window

окно GtkScrolledWindow

Возвращает

TRUE, если нажатия кнопок захватываются во время кинетической прокрутки

С: 3.4

gtk_scrolled_window_set_capture_button_press ()

void
gtk_scrolled_window_set_capture_button_press
                               (GtkScrolledWindow *scrolled_window,
                                gboolean capture_button_press);

Изменяет поведение scrolled_window относительно начального события, которое потенциально запускает кинетическое прокручивание. Когда capture_button_press установлено в значение TRUE, событие захватывается окном прокрутки, а затем повторно воспроизводится, если оно должно быть направлено на дочерний виджет.

Это следует включать, если какие-либо дочерние виджеты выполняют необратимые действия при событии “button-press-event”. Если они этого не делают, и дополнительно обрабатывают событие “grab-broken-event”, может быть лучше установить capture_button_press в значение FALSE.

Это значение действует только при включенном кинетическом прокручивании.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

capture_button_press

TRUE для захвата нажатий кнопок

С: 3.4

gtk_scrolled_window_get_overlay_scrolling ()

gboolean
gtk_scrolled_window_get_overlay_scrolling
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

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

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

С: 3.16

gtk_scrolled_window_set_overlay_scrolling ()

void
gtk_scrolled_window_set_overlay_scrolling
                               (GtkScrolledWindow *scrolled_window,
                                gboolean overlay_scrolling);

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

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

overlay_scrolling

включить ли прокрутку наложением

С: 3.16

gtk_scrolled_window_get_min_content_width ()

gint
gtk_scrolled_window_get_min_content_width
                               (GtkScrolledWindow *scrolled_window);

Возвращает минимальную ширину содержимого scrolled_window, или -1, если не задано.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

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

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

С: 3.0

gtk_scrolled_window_set_min_content_width ()

void
gtk_scrolled_window_set_min_content_width
                               (GtkScrolledWindow *scrolled_window,
                                gint width);

Устанавливает минимальную ширину, которую scrolled_window должно отображать. Обратите внимание, что это может и (обычно будет) меньше минимального размера содержимого.

Ошибка программирования - установить минимальную ширину содержимого больше, чем “max-content-width”.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

width

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

С: 3.0

gtk_scrolled_window_get_min_content_height ()

gint
gtk_scrolled_window_get_min_content_height
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

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

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

С: 3.0

gtk_scrolled_window_set_min_content_height ()

void
gtk_scrolled_window_set_min_content_height
                               (GtkScrolledWindow *scrolled_window,
                                gint height);

Устанавливает минимальную высоту, которую scrolled_window должно отображать. Обратите внимание, что это может и (обычно будет) меньше минимального размера содержимого.

Ошибка программирования - установить минимальную высоту содержимого больше, чем “max-content-height”.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

height

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

С: 3.0

gtk_scrolled_window_get_max_content_width ()

gint
gtk_scrolled_window_get_max_content_width
                               (GtkScrolledWindow *scrolled_window);

Возвращает установленную максимальную ширину содержимого.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

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

максимальная ширина содержимого, или -1

С: 3.22

gtk_scrolled_window_set_max_content_width ()

void
gtk_scrolled_window_set_max_content_width
                               (GtkScrolledWindow *scrolled_window,
                                gint width);

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

Ошибка программирования - установить максимальную ширину содержимого меньше, чем “min-content-width”.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

width

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

С: 3.22

gtk_scrolled_window_get_max_content_height ()

gint
gtk_scrolled_window_get_max_content_height
                               (GtkScrolledWindow *scrolled_window);

Возвращает установленную максимальную высоту содержимого.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

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

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

С: 3.22

gtk_scrolled_window_set_max_content_height ()

void
gtk_scrolled_window_set_max_content_height
                               (GtkScrolledWindow *scrolled_window,
                                gint height);

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

Установка максимальной высоты содержимого на значение, меньшее, чем «min-content-height», является программистской ошибкой.

Параметры

scrolled_window

объект GtkScrolledWindow

height

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

С: 3.22

gtk_scrolled_window_get_propagate_natural_width ()

gboolean
gtk_scrolled_window_get_propagate_natural_width
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

объект GtkScrolledWindow

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

включена ли передача естественной ширины.

С: 3.22

gtk_scrolled_window_set_propagate_natural_width ()

void
gtk_scrolled_window_set_propagate_natural_width
                               (GtkScrolledWindow *scrolled_window,
                                gboolean propagate);

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

Параметры

scrolled_window

объект GtkScrolledWindow

propagate

должна ли распространяться естественная ширина

С: 3.22

gtk_scrolled_window_get_propagate_natural_height ()

gboolean
gtk_scrolled_window_get_propagate_natural_height
                               (GtkScrolledWindow *scrolled_window);

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

Параметры

scrolled_window

объект GtkScrolledWindow

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

включена ли передача естественной высоты.

С: 3.22

gtk_scrolled_window_set_propagate_natural_height ()

void
gtk_scrolled_window_set_propagate_natural_height
                               (GtkScrolledWindow *scrolled_window,
                                gboolean propagate);

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

Параметры

scrolled_window

объект GtkScrolledWindow

propagate

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

С: 3.22

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

struct GtkScrolledWindow

struct GtkScrolledWindow;

struct GtkScrolledWindowClass

struct GtkScrolledWindowClass {
  GtkBinClass parent_class;

  gint scrollbar_spacing;


  /* Action signals for keybindings. Do not connect to these signals
   */

  /* Unfortunately, GtkScrollType is deficient in that there is
   * no horizontal/vertical variants for GTK_SCROLL_START/END,
   * so we have to add an additional boolean flag.
   */
  gboolean (*scroll_child) (GtkScrolledWindow *scrolled_window,
	  		    GtkScrollType      scroll,
			    gboolean           horizontal);

  void (* move_focus_out) (GtkScrolledWindow *scrolled_window,
			   GtkDirectionType   direction);
};

Члены

gint scrollbar_spacing;

scroll_child ()

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

move_focus_out ()

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

перечисление GtkPolicyType

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

Члены

GTK_POLICY_ALWAYS

Полоса прокрутки всегда отображается. Размер отображаемого фрагмента независим от содержимого.

GTK_POLICY_AUTOMATIC

Полоса прокрутки будет появляться и исчезать по мере необходимости. Например, когда весь GtkTreeView не виден.

GTK_POLICY_NEVER

Полоса прокрутки никогда не должна отображаться. В этом режиме размер определяется содержимым.

GTK_POLICY_EXTERNAL

Не отображать полосу прокрутки, но не принудительно подстраивать размер под содержимое. Это можно использовать, например, для того, чтобы несколько окон прокрутки использовали одну полосу прокрутки. С: 3.16

перечисление GtkCornerType

Указывает, в каком углу дочерний виджет должен быть размещен при упаковке в GtkScrolledWindow. Это фактически противоположное расположению полос прокрутки.

Члены

GTK_CORNER_TOP_LEFT

Полосы прокрутки размещаются справа и снизу виджета (стандартное поведение).

GTK_CORNER_BOTTOM_LEFT

Полосы прокрутки размещаются сверху и справа от виджета.

GTK_CORNER_TOP_RIGHT

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

GTK_CORNER_BOTTOM_RIGHT

Полосы прокрутки размещаются сверху и слева от виджета.

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

Свойство “hadjustment”

  “hadjustment”              GtkAdjustment *

GtkAdjustment для горизонтальной позиции.

Флаги: Чтение / Запись / Создание

Свойство “hscrollbar-policy”

  “hscrollbar-policy”        GtkPolicyType

Как отображается горизонтальная полоса прокрутки.

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

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

Свойство “kinetic-scrolling”

  “kinetic-scrolling”        gboolean

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

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

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

С: 3.4

Свойство “max-content-height”

  “max-content-height”       gint

Максимальная высота содержимого scrolled_window, или -1, если не задано.

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

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

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

С: 3.22

Свойство “max-content-width”

  “max-content-width”        gint

Максимальная ширина содержимого scrolled_window, или -1, если не задано.

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

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

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

С: 3.22

Свойство “min-content-height”

  “min-content-height”       gint

Минимальная высота содержимого scrolled_window, или -1, если не задано.

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

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

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

С: 3.0

Свойство “min-content-width”

  “min-content-width”        gint

Минимальная ширина содержимого scrolled_window, или -1, если не задано.

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

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

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

С: 3.0

Свойство “overlay-scrolling”

  “overlay-scrolling”        gboolean

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

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

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

С: 3.16

Свойство “propagate-natural-height”

  “propagate-natural-height” gboolean

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

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

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

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

С: 3.22

Свойство “propagate-natural-width”

  “propagate-natural-width”  gboolean

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

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

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

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

С: 3.22

Свойство “shadow-type”

  “shadow-type”              GtkShadowType

Стиль фаски вокруг содержимого.

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

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

Свойство “vadjustment”

  “vadjustment”              GtkAdjustment *

GtkAdjustment для вертикальной позиции.

Флаги: Чтение / Запись / Создание

Свойство “vscrollbar-policy”

  “vscrollbar-policy”        GtkPolicyType

Как отображается вертикальная полоса прокрутки.

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

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

Свойство “window-placement”

  “window-placement”         GtkCornerType

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

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

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

Свойство “window-placement-set”

  “window-placement-set”     gboolean

Использовать ли «window-placement» для определения расположения содержимого относительно полос прокрутки.

GtkScrolledWindow:window-placement-set устарело с версии 3.10 и не должно использоваться в новом коде.

Это значение игнорируется, и используется значение “window-placement”.

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

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

С: 2.10

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

Свойство стиля “scrollbar-spacing”

  “scrollbar-spacing”        gint

Количество пикселей между полосами прокрутки и окном прокрутки.

Флаги: Чтение

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

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

Свойство стиля “scrollbars-within-bevel”

  “scrollbars-within-bevel”  gboolean

Размещать ли полосы прокрутки внутри фаски окна прокрутки.

GtkScrolledWindow:scrollbars-within-bevel устарело с версии 3.20 и не должно использоваться в новом коде.

Значение этого свойства стиля игнорируется.

Флаги: Чтение

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

С: 2.12

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

Сигнал “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

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Выполнять последним

С версии: 3.16

Сигнал “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

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Выполнять последним

С версии: 3.16

Сигнал “move-focus-out”

void
user_function (GtkScrolledWindow *scrolled_window,
               GtkDirectionType   direction_type,
               gpointer           user_data)

Сигнал ::move-focus-out — это сигнал привязки клавиш, который генерируется при перемещении фокуса от окна прокрутки с помощью привязки клавиш. Сигнал «move-focus» генерируется для родительского окна верхнего уровня этого окна прокрутки в иерархии контейнеров с direction_type. По умолчанию привязки для этого сигнала — Tab + Ctrl и Tab + Ctrl + Shift.

Параметры

scrolled_window

окно прокрутки GtkScrolledWindow

direction_type

либо GTK_DIR_TAB_FORWARD, либо GTK_DIR_TAB_BACKWARD

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “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

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

См. также

GtkScrollable, GtkViewport, GtkAdjustment

© 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/GtkScrolledWindow.html

Spec-Zone.ru

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