Spec-Zone.ru › GTK 3.24

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

имя для child

С тех пор как: 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

имя для child

title

человеко-читаемое имя для child

С тех пор как: 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

имя дочернего элемента для поиска

Возвращает

запрашиваемый дочерний элемент GtkStack.

[transfer none][nullable]

С тех пор как: 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

дочерний элемент stack

С тех пор как: 3.10

gtk_stack_get_visible_child ()

GtkWidget *
gtk_stack_get_visible_child (GtkStack *stack);

Получает текущий видимый дочерний элемент stack или NULL, если видимых дочерних элементов нет.

Параметры

stack

a GtkStack

Возвращает

видимый дочерний элемент GtkStack.

[transfer none][nullable]

С тех пор как: 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

Возвращает

имя видимого дочернего элемента GtkStack.

[transfer none][nullable]

С тех пор как: 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

TRUE для того, чтобы сделать stack однородным

С версии: 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

TRUE для того, чтобы сделать stack горизонтально однородным

С версии: 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

TRUE для того, чтобы сделать stack вертикально однородным

С версии: 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

См. также

GtkNotebook, GtkStackSwitcher

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API