GtkScrolledWindow
GtkScrolledWindow — Добавляет полосы прокрутки к дочернему виджету
Функции
Свойства
| 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 | Чтение |
Сигналы
Типы и значения
| 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 |
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 |
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 | место хранения политики для горизонтальной полосы прокрутки или | [out][allow-none] |
vscrollbar_policy | место хранения политики для вертикальной полосы прокрутки или | [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 |
|
С: 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 |
|
С: 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 | ||
| Сигнал обработки комбинаций клавиш, который генерируется при нажатии комбинации клавиш, предназначенной для прокрутки. | |
| Сигнал обработки комбинаций клавиш, который генерируется при перемещении фокуса за пределы окна прокрутки с помощью комбинации клавиш. |
перечисление 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 | либо | |
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 | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
См. также
© 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