GtkScrollable
GtkScrollable — Интерфейс для прокручиваемых виджетов
Функции
Свойства
| GtkAdjustment * | hadjustment | Чтение/Запись/Создание |
| GtkScrollablePolicy | hscroll-policy | Чтение/Запись |
| GtkAdjustment * | vadjustment | Чтение/Запись/Создание |
| GtkScrollablePolicy | vscroll-policy | Чтение/Запись |
Типы и значения
| GtkScrollable | |
| перечисление | GtkScrollablePolicy |
Иерархия объектов
GInterface ╰── GtkScrollable
Предварительные условия
GtkScrollable требует GObject.
Известные реализации
GtkScrollable реализован в GtkIconView, GtkLayout, GtkTextView, GtkToolPalette, 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 |
С: 3.0
gtk_scrollable_set_hadjustment ()
void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable,GtkAdjustment *hadjustment);
Устанавливает горизонтальную настройку для GtkScrollable.
Параметры
scrollable | ||
hadjustment | [allow-none] |
С: 3.0
gtk_scrollable_get_vadjustment ()
GtkAdjustment *
gtk_scrollable_get_vadjustment (GtkScrollable *scrollable); Возвращает GtkAdjustment, используемый для вертикальной прокрутки.
Параметры
scrollable |
С: 3.0
gtk_scrollable_set_vadjustment ()
void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable,GtkAdjustment *vadjustment);
Устанавливает вертикальную настойку для GtkScrollable.
Параметры
scrollable | ||
vadjustment | [allow-none] |
С: 3.0
gtk_scrollable_get_hscroll_policy ()
GtkScrollablePolicy
gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable); Возвращает горизонтальную политику GtkScrollablePolicy.
Параметры
scrollable |
Возвращаемое значение
Горизонтальная политика GtkScrollablePolicy.
С: 3.0
gtk_scrollable_set_hscroll_policy ()
void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable,GtkScrollablePolicy policy);
Устанавливает GtkScrollablePolicy, определяющую, следует ли горизонтальная прокрутка начинаться ниже минимальной ширины или ниже естественной ширины.
Параметры
scrollable | ||
policy | горизонтальная GtkScrollablePolicy |
С: 3.0
gtk_scrollable_get_vscroll_policy ()
GtkScrollablePolicy
gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable); Возвращает вертикальную политику GtkScrollablePolicy.
Параметры
scrollable |
Возвращаемое значение
Вертикальная политика GtkScrollablePolicy.
С: 3.0
gtk_scrollable_set_vscroll_policy ()
void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable,GtkScrollablePolicy policy);
Устанавливает GtkScrollablePolicy, определяющую, следует ли вертикальная прокрутка начинаться ниже минимальной высоты или ниже естественной высоты.
Параметры
scrollable | ||
policy | вертикальная GtkScrollablePolicy |
С: 3.0
gtk_scrollable_get_border ()
gboolean gtk_scrollable_get_border (GtkScrollable *scrollable,GtkBorder *border);
Возвращает размер не прокручиваемого края вокруг внешней части прокручиваемого элемента. Пример — заголовки в treeview. GTK+ может использовать эту информацию для отображения наложенной графики, например, индикатора перехлёста, в нужном месте.
Параметры
scrollable | ||
border | место для возврата результатов. | [out caller-allocates] |
Возвращаемое значение
TRUE, если border установлено
С: 3.16
Типы и значения
GtkScrollable
typedef struct _GtkScrollable GtkScrollable;
перечисление GtkScrollablePolicy
Определяет политику, используемую в прокручиваемом виджете при обновлении настроек прокручиваемого окна в заданном направлении.
Элементы
GTK_SCROLL_MINIMUM | Настройки прокрутки основаны на минимальном размере | |
GTK_SCROLL_NATURAL | Настройки прокрутки основаны на естественном размере |
Подробное описание свойств
Свойство “hadjustment”
“hadjustment” GtkAdjustment *
Горизонтальная GtkAdjustment скроллируемого виджета. Эта настройка совместно используется скроллируемым виджетом и его родителем.
Флаги: Чтение / Запись / Создание
С: 3.0
Свойство “hscroll-policy”
“hscroll-policy” GtkScrollablePolicy
Определяет, нужно ли начинать горизонтальную прокрутку, когда скроллируемый виджет выделен меньше своего минимального или естественного размера по ширине.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_SCROLL_MINIMUM
С: 3.0
Свойство “vadjustment”
“vadjustment” GtkAdjustment *
Вертикальная GtkAdjustment скроллируемого виджета. Эта настройка совместно используется скроллируемым виджетом и его родителем.
Флаги: Чтение / Запись / Создание
С: 3.0
Свойство “vscroll-policy”
“vscroll-policy” GtkScrollablePolicy
Определяет, нужно ли начинать вертикальную прокрутку, когда скроллируемый виджет выделен меньше своего минимального или естественного размера по высоте.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_SCROLL_MINIMUM
С: 3.0
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkScrollable.html