GtkScrolledWindow
GtkScrolledWindow — Добавляет полосы прокрутки к дочернему виджету
Функции
Свойства
| GtkAdjustment * | hadjustment | Чтение / Запись / Создание |
| 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 | Чтение / Запись |
| GtkShadowType | shadow-type | Чтение / Запись |
| GtkAdjustment * | vadjustment | Чтение / Запись / Создание |
| GtkPolicyType | vscrollbar-policy | Чтение / Запись |
| GtkCornerType | window-placement | Чтение / Запись |
| gboolean | window-placement-set | Чтение / Запись |
Стилизованные свойства
| int | 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 — это контейнер, принимающий один дочерний виджет, делающий этот дочерний виджет прокручиваемым с помощью встроенных полос прокрутки или внешних настроек, а также, по желанию, рисующий рамку вокруг дочернего виджета.
Виджеты с собственной поддержкой прокрутки, то есть виджеты, чьи классы реализуют интерфейс GtkScrollable, добавляются напрямую. Для других типов виджетов класс GtkViewport служит адаптером, обеспечивающим возможность прокрутки других виджетов. Реализация GtkScrolledWindow метода gtk_container_add() разумно учитывает, является ли добавляемый дочерний элемент GtkScrollable. Если нет, GtkScrolledWindow оборачивает дочерний элемент в GtkViewport и добавляет его за вас. Поэтому вы можете просто добавить любой дочерний виджет, не беспокоясь о деталях.
Если gtk_container_add() добавил за вас GtkViewport, вы можете удалить как ваш добавленный дочерний виджет из GtkViewport, так и GtkViewport из GtkScrolledWindow следующим образом:
GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);
GtkWidget *child_widget = gtk_button_new ();
// GtkButton is not a GtkScrollable, so GtkScrolledWindow will automatically
// add a GtkViewport.
gtk_container_add (GTK_CONTAINER (scrolled_window),
child_widget);
// Either of these will result in child_widget being unparented:
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)));Если “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.
Он использует подузлы с именами 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 | горизонтальная настройка. | [nullable] |
vadjustment | вертикальная настройка. | [nullable] |
Возвращаемое значение
новое окно со скроллом
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 | используемая настройка GtkAdjustment, или | [nullable] |
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 | используемая настройка GtkAdjustment, или | [nullable] |
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][optional] |
vscrollbar_policy | место для хранения политики для вертикальной полосы прокрутки, или | [out][optional] |
gtk_scrolled_window_set_policy ()
void gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window,GtkPolicyType hscrollbar_policy,GtkPolicyType vscrollbar_policy);
Устанавливает политику полос прокрутки для горизонтальной и вертикальной полос прокрутки.
Политика определяет, когда должна отображаться полоса прокрутки; это значение из перечисления GtkPolicyType. Если GTK_POLICY_ALWAYS, полоса прокрутки всегда отображается; если GTK_POLICY_NEVER, полоса прокрутки никогда не отображается; если GTK_POLICY_AUTOMATIC, полоса прокрутки отображается только при необходимости (то есть, если область ползунка полосы будет меньше, чем желоб — отображение больше, чем размер страницы).
Параметры
scrolled_window | окно 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.
Используется для добавления дочерних элементов без встроенной возможности прокрутки. Это просто удобная функция; она эквивалентна добавлению неподдерживающего прокрутку дочернего элемента в область просмотра, а затем добавлению области просмотра в окно прокрутки. Если дочерний элемент имеет встроенную прокрутку, используйте gtk_container_add() вместо этой функции.
Область просмотра прокручивает дочерний элемент, перемещая его GdkWindow, и принимает размер дочернего элемента как размер его верхнего GdkWindow. Это будет неправильно для большинства виджетов, поддерживающих встроенную прокрутку; например, если вы добавите виджет, такой как GtkTreeView с областью просмотра, весь виджет будет прокручиваться, включая заголовки столбцов. Таким образом, виджеты с поддержкой встроенной прокрутки не должны использоваться с прокси-объектом 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 будет увеличиваться до этой высоты, прежде чем начать прокручивать содержимое.
Установка максимальной высоты содержимого меньше, чем “минимальная высота содержимого” — это ошибка программирования.
Параметры
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 для горизонтальной позиции.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись / Создание
Свойство “hscrollbar-policy”
“hscrollbar-policy” GtkPolicyType
Отображение горизонтальной полосы прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_POLICY_AUTOMATIC
Свойство “kinetic-scrolling”
“kinetic-scrolling” gboolean
Включена ли кинетическая прокрутка. Кинетическая прокрутка применяется только к устройствам с источником GDK_SOURCE_TOUCHSCREEN.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 3.4
Свойство “max-content-height”
“max-content-height” int
Максимальная высота содержимого scrolled_window, или -1, если не задано.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 3.22
Свойство “max-content-width”
“max-content-width” int
Максимальная ширина содержимого scrolled_window, или -1, если не задано.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 3.22
Свойство “min-content-height”
“min-content-height” int
Минимальная высота содержимого scrolled_window, или -1, если не задано.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 3.0
Свойство “min-content-width”
“min-content-width” int
Минимальная ширина содержимого scrolled_window, или -1, если не задано.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 3.0
Свойство “overlay-scrolling”
“overlay-scrolling” gboolean
Включена ли прокрутка наложением. Если включена, полосы прокрутки добавляются только как традиционные виджеты при наличии мыши. В противном случае они накладываются поверх содержимого в виде узких индикаторов.
Обратите внимание, что прокрутка наложением может быть глобально отключена с помощью настройки “gtk-overlay-scrolling”.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 3.16
Свойство “propagate-natural-height”
“propagate-natural-height” gboolean
Вычисляется ли естественная высота дочернего элемента и передаётся ли она через запрошенную естественную высоту окна прокрутки.
Это полезно в тех случаях, когда необходимо попытаться выделить ровно столько места, сколько требуется для естественного размера дочернего элемента.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.22
Свойство “propagate-natural-width”
“propagate-natural-width” gboolean
Вычисляется ли естественная ширина дочернего элемента и передаётся ли она через запрошенную естественную ширину окна прокрутки.
Это полезно в тех случаях, когда необходимо попытаться выделить ровно столько места, сколько требуется для естественного размера дочернего элемента.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.22
Свойство “shadow-type”
“shadow-type” GtkShadowType
Стиль фаски вокруг содержимого.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_SHADOW_NONE
Свойство “vadjustment”
“vadjustment” GtkAdjustment *
GtkAdjustment для вертикальной позиции.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись / Создание
Свойство “vscrollbar-policy”
“vscrollbar-policy” GtkPolicyType
Отображение вертикальной полосы прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_POLICY_AUTOMATIC
Свойство “window-placement”
“window-placement” GtkCornerType
Расположение содержимого относительно полос прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: GTK_CORNER_TOP_LEFT
Свойство “window-placement-set”
“window-placement-set” gboolean
Использование свойства "window-placement" для определения расположения содержимого относительно полос прокрутки.
GtkScrolledWindow:window-placement-set устарело с версии 3.10 и не должно использоваться в новом коде.
Это значение игнорируется, и значение “window-placement” всегда учитывается.
Владелец: GtkScrolledWindow
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 2.10
Подробное описание свойств стиля
Свойство стиля “scrollbar-spacing”
“scrollbar-spacing” int
Количество пикселей между полосами прокрутки и окном прокрутки.
Владелец: GtkScrolledWindow
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 3
Свойство стиля “scrollbars-within-bevel”
“scrollbars-within-bevel” gboolean
Размещение полос прокрутки внутри фаски окна прокрутки.
GtkScrolledWindow:scrollbars-within-bevel устарело с версии 3.20 и не должно использоваться в новом коде.
Значение этого свойства стиля игнорируется.
Владелец: GtkScrolledWindow
Флаги: Чтение
Значение по умолчанию: 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 | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С: 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 | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С: 3.16
Сигнал “move-focus-out”
void user_function (GtkScrolledWindow *scrolled_window, GtkDirectionType direction_type, gpointer user_data)
Сигнал ::move-focus-out — это сигнал переназначения клавиш, который генерируется, когда фокус перемещается из области прокрутки клавишей. Сигнал “move-focus” генерируется с direction_type для родительского окна области прокрутки в иерархии контейнеров. Стандартные переназначения клавиш для этого сигнала — Ctrl + Tab для перехода вперёд и Ctrl + Shift + Tab для перехода назад.
Параметры
scrolled_window | объект GtkScrolledWindow | |
direction_type | либо | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Action
Сигнал “scroll-child”
gboolean user_function (GtkScrolledWindow *scrolled_window, GtkScrollType scroll, gboolean horizontal, gpointer user_data)
Сигнал ::scroll-child — это сигнал переназначения клавиш, который генерируется при нажатии переназначенной клавиши, вызывающей прокрутку. Горизонтальная или вертикальная настройка обновляется, что вызывает сигнал, на который может реагировать дочерний элемент области прокрутки, производя прокрутку.
Параметры
scrolled_window | объект GtkScrolledWindow | |
scroll | значение GtkScrollType, описывающее степень прокрутки | |
horizontal | определяет, прокручивает ли переназначенная клавиша дочерний элемент по горизонтали | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Action
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkScrolledWindow.html