GtkScrollable
GtkScrollable — Интерфейс для прокручиваемых виджетов
Функции
Свойства
| GtkAdjustment * | hadjustment | Чтение/Запись/Создание |
| GtkScrollablePolicy | hscroll-policy | Чтение/Запись |
| GtkAdjustment * | vadjustment | Чтение/Запись/Создание |
| GtkScrollablePolicy | vscroll-policy | Чтение/Запись |
Типы и значения
| GtkScrollable | |
| перечисление | GtkScrollablePolicy |
Иерархия объектов
GInterface ╰── GtkScrollable
Предварительные условия
GtkScrollable требует GObject.
Известные реализации
GtkScrollable реализован в GtkColumnView, GtkGridView, GtkIconView, GtkListView, GtkTextView, GtkTreeView и GtkViewport.
Включенные файлы
#include <gtk/gtk.h>
Описание
GtkScrollable — интерфейс, реализуемый виджетами с собственной возможностью прокрутки.
Для реализации этого интерфейса нужно переопределить свойства «hadjustment» и «vadjustment».
Создание прокручиваемого виджета
Все прокручиваемые виджеты должны выполнять следующие действия.
При установке родительским виджетом настроек прокрутки дочернего виджета, виджет должен заполнить свойства настроек «lower», «upper», «step-increment», «page-increment» и «page-size», и подключиться к сигналу «value-changed».
Поскольку предпочтительный размер — это размер полностью развернутого виджета, прокручиваемый виджет должен уметь справляться с недораспределением. Это означает, что он должен принять любое значение, переданное его функции
GtkWidgetClass.size_allocate().При выделении родительским виджетом места для прокручиваемого дочернего виджета, виджет должен обновить свойства настроек с новыми значениями.
При срабатывании сигнала «value-changed» в любой из настроек прокручиваемый виджет должен сдвигать своё содержимое.
Функции
gtk_scrollable_get_hadjustment ()
GtkAdjustment *
gtk_scrollable_get_hadjustment (GtkScrollable *scrollable); Возвращает GtkAdjustment, используемый для горизонтальной прокрутки.
Параметры
scrollable | объект GtkScrollable |
gtk_scrollable_set_hadjustment ()
void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable,GtkAdjustment *hadjustment);
Устанавливает горизонтальную настройку прокрутки для GtkScrollable.
Параметры
scrollable | объект GtkScrollable | |
hadjustment | объект GtkAdjustment. | [allow-none] |
gtk_scrollable_get_vadjustment ()
GtkAdjustment *
gtk_scrollable_get_vadjustment (GtkScrollable *scrollable); Возвращает GtkAdjustment, используемый для вертикальной прокрутки.
Параметры
scrollable | объект GtkScrollable |
gtk_scrollable_set_vadjustment ()
void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable,GtkAdjustment *vadjustment);
Устанавливает вертикальную настойку прокрутки для GtkScrollable.
Параметры
scrollable | объект GtkScrollable | |
vadjustment | объект GtkAdjustment. | [allow-none] |
gtk_scrollable_get_hscroll_policy ()
GtkScrollablePolicy
gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable); Получает политику горизонтальной прокрутки GtkScrollablePolicy.
Параметры
scrollable | объект GtkScrollable |
Возвращаемое значение
Политика горизонтальной прокрутки GtkScrollablePolicy.
gtk_scrollable_set_hscroll_policy ()
void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable,GtkScrollablePolicy policy);
Устанавливает политику GtkScrollablePolicy для определения, должна ли горизонтальная прокрутка начинаться ниже минимальной ширины или ниже естественной ширины.
Параметры
scrollable | объект GtkScrollable | |
policy | политика горизонтальной прокрутки GtkScrollablePolicy |
gtk_scrollable_get_vscroll_policy ()
GtkScrollablePolicy
gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable); Получает политику вертикальной прокрутки GtkScrollablePolicy.
Параметры
scrollable | объект GtkScrollable |
Возвращаемое значение
Политика вертикальной прокрутки GtkScrollablePolicy.
gtk_scrollable_set_vscroll_policy ()
void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable,GtkScrollablePolicy policy);
Устанавливает политику GtkScrollablePolicy для определения, должна ли вертикальная прокрутка начинаться ниже минимальной высоты или ниже естественной высоты.
Параметры
scrollable | объект GtkScrollable | |
policy | политика вертикальной прокрутки GtkScrollablePolicy |
gtk_scrollable_get_border ()
gboolean gtk_scrollable_get_border (GtkScrollable *scrollable,GtkBorder *border);
Возвращает размер неподвижного поля вокруг внешнего края области прокрутки. Примером может служить заголовок treeview. GTK может использовать эту информацию для отображения наложенной графики, например, указателя перехода, в правильном положении.
Параметры
scrollable | объект GtkScrollable | |
border | место хранения результатов. | [out caller-allocates] |
Возвращаемое значение
TRUE если border было установлено
Типы и значения
GtkScrollable
typedef struct _GtkScrollable GtkScrollable;
перечисление GtkScrollablePolicy
Определяет политику, используемую в виджете прокрутки для обновления настроек прокрутки окна в заданном направлении.
Элементы
GTK_SCROLL_MINIMUM | Настройки прокрутки основаны на минимальном размере | |
GTK_SCROLL_NATURAL | Настройки прокрутки основаны на естественном размере |
Подробности свойств
Свойство “hadjustment”
“hadjustment” GtkAdjustment *
Горизонтальная настройка GtkAdjustment виджета прокрутки. Эта настройка общая для виджета прокрутки и его родителя.
Владелец: GtkScrollable
Флаги: Чтение/Запись/Создание
Свойство “hscroll-policy”
“hscroll-policy” GtkScrollablePolicy
Определяет, должна ли горизонтальная прокрутка начинаться, когда размер виджета прокрутки меньше минимальной ширины или естественной ширины.
Владелец: GtkScrollable
Флаги: Чтение/Запись
Значение по умолчанию: GTK_SCROLL_MINIMUM
Свойство “vadjustment”
“vadjustment” GtkAdjustment *
Вертикальная настройка GtkAdjustment виджета прокрутки. Эта настройка общая для виджета прокрутки и его родителя.
Владелец: GtkScrollable
Флаги: Чтение/Запись/Создание
Свойство “vscroll-policy”
“vscroll-policy” GtkScrollablePolicy
Определяет, должна ли вертикальная прокрутка начинаться, когда размер виджета прокрутки меньше минимальной высоты или естественной высоты.
Владелец: GtkScrollable
Флаги: Чтение/Запись
Значение по умолчанию: GTK_SCROLL_MINIMUM
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkScrollable.html