GtkStack
GtkStack — Контейнер стекирования
Функции
| GtkWidget * | gtk_stack_new () |
| void | gtk_stack_add_named () |
| void | gtk_stack_add_titled () |
| GtkWidget * | gtk_stack_get_child_by_name () |
| void | gtk_stack_set_visible_child () |
| GtkWidget * | gtk_stack_get_visible_child () |
| void | gtk_stack_set_visible_child_name () |
| const gchar * | gtk_stack_get_visible_child_name () |
| void | gtk_stack_set_visible_child_full () |
| void | gtk_stack_set_homogeneous () |
| gboolean | gtk_stack_get_homogeneous () |
| void | gtk_stack_set_hhomogeneous () |
| gboolean | gtk_stack_get_hhomogeneous () |
| void | gtk_stack_set_vhomogeneous () |
| gboolean | gtk_stack_get_vhomogeneous () |
| void | gtk_stack_set_transition_duration () |
| guint | gtk_stack_get_transition_duration () |
| void | gtk_stack_set_transition_type () |
| GtkStackTransitionType | gtk_stack_get_transition_type () |
| gboolean | gtk_stack_get_transition_running () |
| gboolean | gtk_stack_get_interpolate_size () |
| void | gtk_stack_set_interpolate_size () |
Свойства
| gboolean | hhomogeneous | Чтение / Запись |
| gboolean | homogeneous | Чтение / Запись |
| gboolean | interpolate-size | Чтение / Запись |
| guint | transition-duration | Чтение / Запись |
| gboolean | transition-running | Чтение |
| GtkStackTransitionType | transition-type | Чтение / Запись |
| gboolean | vhomogeneous | Чтение / Запись |
| GtkWidget * | visible-child | Чтение / Запись |
| char * | visible-child-name | Чтение / Запись |
Свойства дочерних элементов
| char * | icon-name | Чтение / Запись |
| char * | name | Чтение / Запись |
| gboolean | needs-attention | Чтение / Запись |
| int | position | Чтение / Запись |
| char * | title | Чтение / Запись |
Типы и значения
| struct | GtkStack |
| enum | GtkStackTransitionType |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkStack
Реализованные интерфейсы
GtkStack реализует AtkImplementorIface и GtkBuildable.
Включения
#include <gtk/gtk.h>
Описание
Виджет GtkStack представляет собой контейнер, который отображает только один из своих дочерних элементов в любой момент времени. В отличие от GtkNotebook, GtkStack не предоставляет пользователям способ изменить видимый дочерний элемент. Вместо этого, для этой функциональности может быть использован виджет GtkStackSwitcher вместе с GtkStack.
Переходы между страницами могут быть анимированы как слайды или затухания. Это можно контролировать с помощью gtk_stack_set_transition_type(). Эти анимации учитывают настройку “gtk-enable-animations”.
Виджет GtkStack был добавлен в GTK+ 3.10.
CSS-узлы
GtkStack имеет один CSS-узел с именем stack.
Функции
gtk_stack_new ()
GtkWidget *
gtk_stack_new (void); Создаёт новый контейнер GtkStack.
Возвращает
новый GtkStack
С тех пор как: 3.10
gtk_stack_add_named ()
void gtk_stack_add_named (GtkStack *stack,GtkWidget *child,const gchar *name);
Добавляет дочерний элемент в stack. Дочерний элемент идентифицируется по name.
Параметры
stack | a GtkStack | |
child | виджет для добавления | |
name | имя для |
С тех пор как: 3.10
gtk_stack_add_titled ()
void gtk_stack_add_titled (GtkStack *stack,GtkWidget *child,const gchar *name,const gchar *title);
Добавляет дочерний элемент в stack. Дочерний элемент идентифицируется по name. title будет использоваться GtkStackSwitcher для представления child в палитре, поэтому оно должно быть коротким.
Параметры
stack | a GtkStack | |
child | виджет для добавления | |
name | имя для | |
title | человеко-читаемое имя для |
С тех пор как: 3.10
gtk_stack_get_child_by_name ()
GtkWidget * gtk_stack_get_child_by_name (GtkStack *stack,const gchar *name);
Ищет дочерний элемент GtkStack с заданным именем. Возвращает NULL , если такого элемента нет.
Параметры
stack | a GtkStack | |
name | имя дочернего элемента для поиска |
С тех пор как: 3.12
gtk_stack_set_visible_child ()
void gtk_stack_set_visible_child (GtkStack *stack,GtkWidget *child);
Делает child видимым дочерним элементом stack.
Если child отличается от текущего видимого дочернего элемента, переход между ними будет анимирован с использованием текущего типа перехода stack.
Обратите внимание, что виджет child должен быть сам по себе видимым (см. gtk_widget_show()), чтобы стать видимым дочерним элементом stack.
Параметры
stack | a GtkStack | |
child | дочерний элемент |
С тех пор как: 3.10
gtk_stack_get_visible_child ()
GtkWidget *
gtk_stack_get_visible_child (GtkStack *stack); Получает текущий видимый дочерний элемент stack или NULL, если видимых дочерних элементов нет.
Параметры
stack | a GtkStack |
С тех пор как: 3.10
gtk_stack_set_visible_child_name ()
void gtk_stack_set_visible_child_name (GtkStack *stack,const gchar *name);
Делает видимым дочерний элемент с заданным именем.
Если child отличается от текущего видимого дочернего элемента, переход между ними будет анимирован с использованием текущего типа перехода stack.
Обратите внимание, что виджет дочернего элемента должен быть сам по себе видимым (см. gtk_widget_show()), чтобы стать видимым дочерним элементом stack.
Параметры
stack | a GtkStack | |
name | имя дочернего элемента для отображения |
С тех пор как: 3.10
gtk_stack_get_visible_child_name ()
const gchar *
gtk_stack_get_visible_child_name (GtkStack *stack); Возвращает имя текущего видимого дочернего элемента stack или NULL, если видимого дочернего элемента нет.
Параметры
stack | a GtkStack |
С тех пор как: 3.10
gtk_stack-set-visible-child-full ()
void gtk_stack_set_visible_child_full (GtkStack *stack,const gchar *name,GtkStackTransitionType transition);
Делает видимым дочерний элемент с заданным именем.
Обратите внимание, что виджет дочернего элемента должен быть сам по себе видимым (см. gtk_widget_show()), чтобы стать видимым дочерним элементом stack.
Параметры
stack | a GtkStack | |
name | имя дочернего элемента для отображения | |
transition | тип перехода |
С тех пор как: 3.10
gtk_stack_set_homogeneous ()
void gtk_stack_set_homogeneous (GtkStack *stack,gboolean homogeneous);
Устанавливает GtkStack как однородный или нет. Если он однородный, GtkStack будет запрашивать один и тот же размер для всех своих дочерних элементов. Если нет, размер стека может измениться, когда станет видимым другой дочерний элемент.
Начиная с версии 3.16, однородность может управляться отдельно для горизонтального и вертикального размера с помощью “hhomogeneous” и “vhomogeneous”.
Параметры
stack | a GtkStack | |
homogeneous |
|
С версии: 3.10
gtk_stack_get_homogeneous ()
gboolean
gtk_stack_get_homogeneous (GtkStack *stack); Возвращает, является ли stack однородным. См. gtk_stack_set_homogeneous().
Параметры
stack | a GtkStack |
Возвращает
является ли stack однородным.
С версии: 3.10
gtk_stack_set_hhomogeneous ()
void gtk_stack_set_hhomogeneous (GtkStack *stack,gboolean hhomogeneous);
Устанавливает GtkStack как горизонтально однородный или нет. Если он однородный, GtkStack будет запрашивать одинаковую ширину для всех своих дочерних элементов. Если нет, ширина стека может измениться, когда станет видимым другой дочерний элемент.
Параметры
stack | a GtkStack | |
hhomogeneous |
|
С версии: 3.16
gtk_stack_get_hhomogeneous ()
gboolean
gtk_stack_get_hhomogeneous (GtkStack *stack); Возвращает, является ли stack горизонтально однородным. См. gtk_stack_set_hhomogeneous().
Параметры
stack | a GtkStack |
Возвращает
является ли stack горизонтально однородным.
С версии: 3.16
gtk_stack_set_vhomogeneous ()
void gtk_stack_set_vhomogeneous (GtkStack *stack,gboolean vhomogeneous);
Устанавливает GtkStack как вертикально однородный или нет. Если он однородный, GtkStack будет запрашивать одинаковую высоту для всех своих дочерних элементов. Если нет, высота стека может измениться, когда станет видимым другой дочерний элемент.
Параметры
stack | a GtkStack | |
vhomogeneous |
|
С версии: 3.16
gtk_stack_get_vhomogeneous ()
gboolean
gtk_stack_get_vhomogeneous (GtkStack *stack); Возвращает, является ли stack вертикально однородным. См. gtk_stack_set_vhomogeneous().
Параметры
stack | a GtkStack |
Возвращает
является ли stack вертикально однородным.
С версии: 3.16
gtk_stack_set_transition_duration ()
void gtk_stack_set_transition_duration (GtkStack *stack,guint duration);
Устанавливает длительность переходов между страницами в stack.
Параметры
stack | a GtkStack | |
duration | новая длительность в миллисекундах |
С версии: 3.10
gtk_stack_get_transition_duration ()
guint
gtk_stack_get_transition_duration (GtkStack *stack); Возвращает количество времени (в миллисекундах), которое займут переходы между страницами в stack.
Параметры
stack | a GtkStack |
Возвращает
длительность перехода
С версии: 3.10
gtk_stack_set_transition_type ()
void gtk_stack_set_transition_type (GtkStack *stack,GtkStackTransitionType transition);
Устанавливает тип анимации, которая будет использоваться для переходов между страницами в stack. Доступные типы включают различные виды затуханий и слайдов.
Тип перехода может быть изменен без проблем во время выполнения, поэтому можно изменить анимацию в зависимости от страницы, которая должна стать текущей.
Параметры
stack | a GtkStack | |
transition | новый тип перехода |
С версии: 3.10
gtk_stack_get_transition_type ()
GtkStackTransitionType
gtk_stack_get_transition_type (GtkStack *stack); Возвращает тип анимации, которая будет использоваться для переходов между страницами в stack.
Параметры
stack | a GtkStack |
Возвращает
текущий тип перехода stack
С версии: 3.10
gtk_stack_get_transition_running ()
gboolean
gtk_stack_get_transition_running (GtkStack *stack); Возвращает, находится ли stack в настоящее время в процессе перехода со страницы на страницу.
Параметры
stack | a GtkStack |
Возвращает
TRUE если переход выполняется в данный момент, FALSE в противном случае.
С: 3.12
gtk_stack_get_interpolate_size ()
gboolean
gtk_stack_get_interpolate_size (GtkStack *stack); Возвращает, настроена ли GtkStack для интерполяции размеров дочерних элементов при переключении страниц.
Параметры
stack | A GtkStack |
Возвращает
TRUE если размеры дочерних элементов интерполируются
С: 3.18
gtk_stack_set_interpolate_size ()
void gtk_stack_set_interpolate_size (GtkStack *stack,gboolean interpolate_size);
Устанавливает, будет ли stack интерполировать свой размер при изменении видимого дочернего элемента. Если свойство “interpolate-size” установлено в TRUE, stack будет интерполировать свой размер между текущим размером и размером, который он примет после изменения видимого дочернего элемента, в соответствии с заданной длительностью перехода.
Параметры
stack | A GtkStack | |
interpolate_size | новое значение |
С: 3.18
Типы и Значения
struct GtkStack
struct GtkStack;
перечисление GtkStackTransitionType
Эти значения перечисления описывают возможные переходы между страницами в виджете GtkStack.
Новые значения могут быть добавлены в это перечисление со временем.
Элементы
GTK_STACK_TRANSITION_TYPE_NONE | Отсутствует переход | |
GTK_STACK_TRANSITION_TYPE_CROSSFADE | Переход с перекрытием | |
GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT | Переход со сдвигом справа налево | |
GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT | Переход со сдвигом слева направо | |
GTK_STACK_TRANSITION_TYPE_SLIDE_UP | Переход со сдвигом снизу вверх | |
GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN | Переход со сдвигом сверху вниз | |
GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT | Переход со сдвигом слева направо или справа налево, в зависимости от порядка элементов | |
GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN | Переход со сдвигом сверху вниз или снизу вверх, в зависимости от порядка элементов | |
GTK_STACK_TRANSITION_TYPE_OVER_UP | Старая страница закрывается сдвигом вверх. С версии 3.12 | |
GTK_STACK_TRANSITION_TYPE_OVER_DOWN | Старая страница закрывается сдвигом вниз. С версии 3.12 | |
Подробное описание свойств
Свойство “hhomogeneous”
“hhomogeneous” gboolean
TRUE если стопка выделяет одинаковую ширину для всех дочерних элементов.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 3.16
Свойство “homogeneous”
“homogeneous” gboolean
Однородное изменение размера.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “interpolate-size”
“interpolate-size” gboolean
Определяет, будет ли размер плавно изменяться при переключении между дочерними элементами с различными размерами.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “transition-duration”
“transition-duration” guint
Продолжительность анимации в миллисекундах.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: 200
Свойство “transition-running”
“transition-running” gboolean
Указывает, выполняется ли в данный момент переход.
Владелец: GtkStack
Флаги: Чтение
Значение по умолчанию: FALSE
Свойство “transition-type”
“transition-type” GtkStackTransitionType
Тип анимации, используемой для перехода.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: GTK_STACK_TRANSITION_TYPE_NONE
Свойство “vhomogeneous”
“vhomogeneous” gboolean
TRUE если стопка выделяет одинаковую высоту для всех дочерних элементов.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 3.16
Свойство “visible-child”
“visible-child” GtkWidget *
Виджет, который в данный момент отображается в стопке.
Владелец: GtkStack
Флаги: Чтение / Запись
Свойство “visible-child-name”
“visible-child-name” char *
Имя виджета, который в данный момент отображается в стопке.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Подробное описание свойств дочерних элементов
Свойство “icon-name” дочернего элемента
“icon-name” char *
Имя значка страницы дочернего элемента.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “name” дочернего элемента
“name” char *
Имя страницы дочернего элемента.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “needs-attention” дочернего элемента
“needs-attention” gboolean
Устанавливает флаг, указывающий, требует ли дочерний элемент внимания пользователя. Используется GtkStackSwitcher для изменения внешнего вида соответствующей кнопки, когда страница требует внимания, но не является текущей.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.12
Свойство “position” дочернего элемента
“position” int
Индекс дочернего элемента в родительском элементе.
Владелец: GtkStack
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: 0
Свойство “title” дочернего элемента
“title” char *
Заголовок страницы дочернего элемента.
Владелец: GtkStack
Флаги: Чтение / Запись
Значение по умолчанию: NULL
См. также
© 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/GtkStack.html