GtkOverlay
GtkOverlay — Контейнер, который накладывает виджеты друг на друга
Функции
Свойства дочерних элементов
| gint | индекс | Чтение/Запись |
| gboolean | пропускать | Чтение/Запись |
Типы и значения
| struct | GtkOverlay |
| struct | GtkOverlayClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkOverlay
Реализованные интерфейсы
GtkOverlay реализует AtkImplementorIface и GtkBuildable.
Файлы
#include <gtk/gtk.h>
Описание
GtkOverlay — это контейнер, который содержит один основной дочерний элемент, поверх которого он может размещать виджеты-наложения. Положение каждого виджета-наложения определяется его свойствами “halign” и “valign”. Например, виджет с обоими выравниваниями, установленными на GTK_ALIGN_START, будет размещён в левом верхнем углу контейнера GtkOverlay, а наложение с halign, установленным на GTK_ALIGN_CENTER, и valign, установленным на GTK_ALIGN_END, будет размещено в нижнем краю GtkOverlay, по горизонтали по центру. Положение можно настроить, установив поля дочернего элемента отличными от нуля.
Более сложные размещения наложений возможны путём подключения к сигналу «получить-позицию-дочернего-элемента».
GtkOverlay как GtkBuildable
Реализация GtkOverlay интерфейса GtkBuildable поддерживает размещение дочернего элемента как наложения, указав «overlay» в качестве атрибута «type» элемента <child>.
Функции
gtk_overlay_new ()
GtkWidget *
gtk_overlay_new (void); Создаёт новый GtkOverlay.
Возвращаемое значение
новый объект GtkOverlay.
С: 3.2
gtk_overlay_add_overlay ()
void gtk_overlay_add_overlay (GtkOverlay *overlay,GtkWidget *widget);
Добавляет widget в overlay.
Виджет будет расположен поверх основного виджета, добавленного с помощью gtk_container_add().
Положение widget определяется на основе свойств “halign” и “valign”.
Параметры
overlay | объект GtkOverlay | |
widget | виджет GtkWidget для добавления в контейнер |
С: 3.2
gtk_overlay_reorder_overlay ()
void gtk_overlay_reorder_overlay (GtkOverlay *overlay,GtkWidget *child,gint position);
Перемещает child в новое index в списке overlay дочерних элементов. Список содержит наложенные элементы в порядке их добавления в overlay .
Индекс виджета в списке дочерних элементов overlay определяет порядок отображения элементов при перекрытии. Первый элемент отображается снизу. Это также влияет на порядок цепочки фокуса по умолчанию.
Параметры
overlay | объект GtkOverlay | |
child | накладываемый виджет GtkWidget для перемещения | |
position | новый индекс |
С: 3.18
gtk_overlay_get_overlay_pass_through ()
gboolean gtk_overlay_get_overlay_pass_through (GtkOverlay *overlay,GtkWidget *widget);
Функция-утилита для получения значения свойства “pass-through” дочернего элемента для widget .
Параметры
overlay | объект GtkOverlay | |
widget | дочерний элемент наложения GtkOverlay |
Возвращаемое значение
значение, если виджет является проходящим.
С: 3.18
gtk_overlay_set_overlay_pass_through ()
void gtk_overlay_set_overlay_pass_through (GtkOverlay *overlay,GtkWidget *widget,gboolean pass_through);
Функция-утилита для установки значения свойства “pass-through” дочернего элемента для widget .
Параметры
overlay | объект GtkOverlay | |
widget | дочерний элемент наложения GtkOverlay | |
pass_through | значение, если дочерний элемент должен пропускать ввод |
С: 3.18
Типы и значения
struct GtkOverlay
struct GtkOverlay;
struct GtkOverlayClass
struct GtkOverlayClass {
GtkBinClass parent_class;
gboolean (*get_child_position) (GtkOverlay *overlay,
GtkWidget *widget,
GtkAllocation *allocation);
};
Члены
| Сигнал, испускаемый для определения позиции и размера дочерних виджетов наложения. |
Подробное описание свойств дочерних элементов
Подробное описание сигналов
Сигнал “get-child-position”
gboolean user_function (GtkOverlay *overlay, GtkWidget *widget, GdkRectangle *allocation, gpointer user_data)
Сигнал ::get-child-position испускается для определения положения и размера дочерних виджетов наложения. Обработчик этого сигнала должен заполнить allocation желаемым положением и размером для widget, относительно 'главного' дочернего элемента overlay .
Обработчик этого сигнала по умолчанию использует свойства widget halign и valign для определения положения и присваивает виджету его естественный размер (за исключением того, что выравнивание GTK_ALIGN_FILL приведет к тому, что наложение будет занимать всю ширину/высоту). Если основной дочерний элемент — GtkScrolledWindow, наложения размещаются относительно его содержимого.
Параметры
overlay | объект GtkOverlay | |
widget | дочерний виджет для позиционирования | |
allocation | место для возврата размещения. | [type Gdk.Rectangle][out caller-allocates] |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Возвращаемое значение
TRUE, если allocation был заполнен
Флаги: Выполнение последним
© 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/GtkOverlay.html