GtkStack
GtkStack — Стек-контейнер
Функции
Свойства
| gboolean | hhomogeneous | Чтение / Запись |
| gboolean | homogeneous | Чтение / Запись |
| gboolean | interpolate-size | Чтение / Запись |
| guint | transition-duration | Чтение / Запись |
| gboolean | transition-running | Чтение |
| GtkStackTransitionType | transition-type | Чтение / Запись |
| gboolean | vhomogeneous | Чтение / Запись |
| GtkWidget * | visible-child | Чтение / Запись |
| gchar * | visible-child-name | Чтение / Запись |
Свойства дочерних элементов
| gchar * | имя-пиктограммы | Чтение / Запись |
| gchar * | имя | Чтение / Запись |
| gboolean | требует-внимания | Чтение / Запись |
| gint | позиция | Чтение / Запись |
| gchar * | заголовок | Чтение / Запись |
Типы и значения
| struct | GtkStack |
| enum | ТипПереходаGtkStack |
Иерархия объектов
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 | объект 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 | объект 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 | объект 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 | объект GtkStack | |
child | дочерний элемент |
С версии: 3.10
gtk_stack_get_visible_child ()
GtkWidget *
gtk_stack_get_visible_child (GtkStack *stack); Возвращает текущий видимый дочерний элемент stack или NULL, если видимых дочерних элементов нет.
Параметры
stack | объект 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 | объект GtkStack | |
name | имя дочернего элемента, который необходимо сделать видимым |
С версии: 3.10
gtk_stack-get-visible-child-name ()
const gchar *
gtk_stack_get_visible_child_name (GtkStack *stack); Возвращает имя текущего видимого дочернего элемента stack или NULL, если видимого дочернего элемента нет.
Параметры
stack | объект 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 | объект GtkStack | |
name | имя дочернего элемента, который необходимо сделать видимым | |
transition | тип перехода |
С версии: 3.10
gtk_stack_set_homogeneous ()
void gtk_stack_set_homogeneous (GtkStack *stack,gboolean homogeneous);
Устанавливает GtkStack в однородный или разнородный режим. Если он однородный, GtkStack запросит одинаковый размер для всех своих дочерних элементов. Если нет, размер стека может измениться, когда другой дочерний элемент станет видимым.
Начиная с версии 3.16, однородность может быть настроена отдельно для горизонтального и вертикального размера с помощью свойств «hhomogeneous» и «vhomogeneous».
С версии: 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 запросит одинаковую ширину для всех своих дочерних элементов. Если нет, ширина стека может измениться, когда другой дочерний элемент станет видимым.
С версии: 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 запросит одинаковую высоту для всех своих дочерних элементов. Если нет, высота стека может измениться, когда другой дочерний элемент станет видимым.
С версии: 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 |
С версии: 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;
enum 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 | |
GTK_STACK_TRANSITION_TYPE_OVER_LEFT | Закрыть старую страницу, сдвинув влево. С версии: 3.12 | |
GTK_STACK_TRANSITION_TYPE_OVER_RIGHT | Закрыть старую страницу, сдвинув вправо. С версии: 3.12 | |
GTK_STACK_TRANSITION_TYPE_UNDER_UP | Открыть новую страницу, сдвинув вверх. С версии 3.12 | |
GTK_STACK_TRANSITION_TYPE_UNDER_DOWN | Открыть новую страницу, сдвинув вниз. С версии: 3.12 | |
GTK_STACK_TRANSITION_TYPE_UNDER_LEFT | Открыть новую страницу, сдвинув влево. С версии: 3.12 | |
GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT | Открыть новую страницу, сдвинув вправо. С версии: 3.12 | |
GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN | Закрыть старую страницу, сдвинув вверх, или открыть новую страницу, сдвинув вниз, в зависимости от порядка. С версии: 3.12 | |
GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP | Закрыть старую страницу, сдвинув вниз, или открыть новую страницу, сдвинув вверх, в зависимости от порядка. С версии: 3.14 | |
GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT | Закрыть старую страницу, сдвинув влево, или открыть новую страницу, сдвинув вправо, в зависимости от порядка. С версии: 3.14 | |
GTK_STACK_TRANSITION_TYPE_OVER-RIGHT-LEFT | Закрыть старую страницу, сдвинув вправо, или открыть новую страницу, сдвинув влево, в зависимости от порядка. С версии: 3.14 |
Подробное описание свойств
Свойство “hhomogeneous”
“hhomogeneous” gboolean
TRUE, если стековый элемент выделяет одинаковую ширину для всех дочерних элементов.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С: 3.16
Свойство “homogeneous”
“homogeneous” gboolean
Однородный размер.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “interpolate-size”
“interpolate-size” gboolean
Определяет, должна ли размер изменять плавно при переключении между элементами с различными размерами.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “transition-duration”
“transition-duration” guint
Продолжительность анимации в миллисекундах.
Флаги: Чтение / Запись
Значение по умолчанию: 200
Свойство “transition-running”
“transition-running” gboolean
Указывает, выполняется ли в настоящее время переход.
Флаги: Чтение
Значение по умолчанию: FALSE
Свойство “transition-type”
“transition-type” GtkStackTransitionType
Тип анимации, используемой для перехода.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_STACK_TRANSITION_TYPE_NONE
Свойство “vhomogeneous”
“vhomogeneous” gboolean
TRUE, если стековый элемент выделяет одинаковую высоту для всех дочерних элементов.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С: 3.16
Свойство “visible-child”
“visible-child” GtkWidget *
Виджет, который в настоящее время отображается в стеке.
Флаги: Чтение / Запись
Свойство “visible-child-name”
“visible-child-name” gchar *
Имя виджета, который в настоящее время отображается в стеке.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Подробное описание свойств дочерних элементов
Свойство “icon-name” дочернего элемента
“icon-name” gchar *
Имя значка страницы дочернего элемента.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “name” дочернего элемента
“name” gchar *
Имя страницы дочернего элемента.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “needs-attention” дочернего элемента
“needs-attention” gboolean
Устанавливает флаг, указывающий, требует ли дочерний элемент внимания пользователя. Это используется элементом GtkStackSwitcher для изменения внешнего вида соответствующей кнопки, когда страница требует внимания, и она не является текущей.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С: 3.12
Свойство “position” дочернего элемента
“position” gint
Индекс дочернего элемента в родительском элементе.
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: 0
Свойство “title” дочернего элемента
“title” gchar *
Заголовок страницы дочернего элемента.
Флаги: Чтение / Запись
Значение по умолчанию: 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.22/GtkStack.html