Spec-Zone.ru › GTK 4.0

GtkStack

GtkStack — Стек-контейнер

Функции

gboolean gtk_stack_page_get_visible ()
void gtk_stack_page_set_visible ()
const char * gtk_stack_page_get_title ()
void gtk_stack_page_set_title ()
const char * gtk_stack_page_get_name ()
void gtk_stack_page_set_name ()
gboolean gtk_stack_page_get_needs_attention ()
void gtk_stack_page_set-needs-attention ()
gboolean gtk_stack_page_get_use_underline ()
void gtk_stack_page_set-use-underline ()
const char * gtk_stack_page_get_icon_name ()
void gtk_stack_page_set-icon-name ()
GtkWidget * gtk_stack_page_get_child ()
GtkWidget * gtk_stack_new ()
GtkStackPage * gtk_stack_add_child ()
GtkStackPage * gtk_stack_add_named ()
GtkStackPage * gtk_stack_add_titled ()
void gtk_stack_remove ()
GtkWidget * gtk_stack_get_child_by_name ()
GtkStackPage * gtk_stack_get_page ()
GtkSelectionModel * gtk_stack_get_pages ()
void gtk_stack_set_visible_child ()
GtkWidget * gtk_stack_get-visible-child ()
void gtk_stack_set-visible-child-name ()
const char * gtk_stack_get-visible-child-name ()
void gtk_stack_set-visible-child-full ()
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 ()

Свойства

GtkWidget * child Чтение / Запись / Только для создания
char * имя_иконки Чтение / Запись
char * имя Чтение / Запись / Только для создания
gboolean требует_внимания Чтение / Запись
char * заголовок Чтение / Запись
gboolean использовать_подчеркивание Чтение / Запись
gboolean видимый Чтение / Запись
gboolean hhomogeneous Чтение / Запись
gboolean интерполировать_размер Чтение / Запись
GtkSelectionModel * страницы Чтение
guint продолжительность_перехода Чтение / Запись
gboolean переход_в_процессе Чтение
GtkStackTransitionType тип_перехода Чтение / Запись
gboolean vhomogeneous Чтение / Запись
GtkWidget * видимый_элемент Чтение / Запись
char * имя_видимого_элемента Чтение / Запись

Типы и значения

GtkStackPage
GtkStack
перечисление ТипПереходаGtkStack

Иерархия объектов

    GObject
    ├── GInitiallyUnowned
    │   ╰── GtkWidget
    │       ╰── GtkStack
    ╰── GtkStackPage

Реализованные интерфейсы

GtkStackPage реализует GtkAccessible.

GtkStack реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.

Файлы заголовков

#include <gtk/gtk.h>

Описание

Виджет GtkStack — это контейнер, который отображает только один из своих дочерних элементов за раз. В отличие от GtkNotebook, GtkStack не предоставляет пользователю средства для изменения видимого дочернего элемента. Вместо этого, для этой функциональности можно использовать виджет GtkStackSwitcher совместно с GtkStack.

Переходы между страницами могут быть анимированы как слайды или затемнения. Это можно контролировать с помощью gtk_stack_set_transition_type(). Эти анимации учитывают настройку “gtk-enable-animations”.

GtkStack сохраняет объект GtkStackPage для каждого добавленного дочернего элемента, который содержит дополнительные свойства для каждого элемента. Вы получаете GtkStackPage для дочернего элемента с помощью gtk_stack_get_page().

GtkStack как GtkBuildable

Чтобы установить свойства, специфичные для дочерних элементов, в файле .ui, создайте объекты GtkStackPage явно и задайте дочерний виджет как свойство на нём:

<object class="GtkStack" id="stack">
  <child>
    <object class="GtkStackPage">
      <property name="name">page1</property>
      <property name="title">In the beginning…</property>
      <property name="child">
        <object class="GtkLabel">
          <property name="label">It was dark</property>
        </object>
      </property>
    </object>
  </child>

Узлы CSS

GtkStack имеет единственный узел CSS с именем stack.

Доступность

GtkStack использует GTK_ACCESSIBLE_ROLE_TAB_PANEL для страниц стека, которые являются доступными родительскими объектами для дочерних виджетов.

Функции

gtk_stack_page_get_visible ()

gboolean
gtk_stack_page_get_visible (GtkStackPage *self);

Возвращает, отображается ли page в его GtkStack. Это независимо от значения “visible” его GtkWidget.

Параметры

self

объект GtkStackPage

Возвращает

TRUE если page отображается

gtk_stack_page_set_visible ()

void
gtk_stack_page_set_visible (GtkStackPage *self,
                            gboolean visible);

Устанавливает новое значение свойства “visible” на visible.

Параметры

self

объект GtkStackPage

visible

Новое значение свойства

gtk_stack_page_get_title ()

const char *
gtk_stack_page_get_title (GtkStackPage *self);

Возвращает текущее значение свойства “title”.

Параметры

self

объект GtkStackPage

Возвращает

Значение свойства “title”. См. gtk_stack_page_set_title() для подробностей о установке нового значения.

[nullable]

gtk_stack_page_set_title ()

void
gtk_stack_page_set_title (GtkStackPage *self,
                          const char *setting);

Устанавливает новое значение свойства “title”. См. также gtk_stack_page_get_title()

Параметры

self

объект GtkStackPage

setting

новое значение.

[transfer none]

gtk_stack_page_get_name ()

const char *
gtk_stack_page_get_name (GtkStackPage *self);

Возвращает текущее значение свойства “name”.

Параметры

self

объект GtkStackPage

Возвращает

Значение свойства “name”. См. gtk_stack_page_set_name() для подробностей о установке нового значения.

[nullable]

gtk_stack_page_set_name ()

void
gtk_stack_page_set_name (GtkStackPage *self,
                         const char *setting);

Устанавливает новое значение свойства “name”. См. также gtk_stack_page_get_name()

Параметры

self

объект GtkStackPage

setting

новое значение.

[transfer none]

gtk_stack_page_get_needs_attention ()

gboolean
gtk_stack_page_get_needs_attention (GtkStackPage *self);

Возвращает текущее значение свойства “needs-attention”.

Параметры

self

объект GtkStackPage

Возвращает

Значение свойства “needs-attention”. См. gtk_stack_page_set_needs_attention() для подробностей о установке нового значения.

gtk_stack_page_set_needs_attention ()

void
gtk_stack_page_set_needs_attention (GtkStackPage *self,
                                    gboolean setting);

Устанавливает новое значение свойства “needs-attention”. См. также gtk_stack_page_get_needs_attention()

Параметры

self

объект GtkStackPage

setting

новое значение

gtk_stack_page_get_use_underline ()

gboolean
gtk_stack_page_get_use_underline (GtkStackPage *self);

Возвращает текущее значение свойства “use-underline”.

Параметры

self

объект GtkStackPage

Возвращает

Значение свойства “use-underline”. См. gtk_stack_page_set_use_underline() для подробностей о установке нового значения.

gtk_stack_page_set_use_underline ()

void
gtk_stack_page_set_use_underline (GtkStackPage *self,
                                  gboolean setting);

Устанавливает новое значение свойства “use-underline”. См. также gtk_stack_page_get_use_underline()

Параметры

self

объект GtkStackPage

setting

новое значение

gtk_stack_page_get_icon_name ()

const char *
gtk_stack_page_get_icon_name (GtkStackPage *self);

Возвращает текущее значение свойства “icon-name”.

Параметры

self

объект GtkStackPage

Возвращает

Значение свойства “icon-name”. См. gtk_stack_page_set_icon_name() для подробностей о установке нового значения.

[nullable]

gtk_stack_page_set_icon_name ()

void
gtk_stack_page_set_icon_name (GtkStackPage *self,
                              const char *setting);

Устанавливает новое значение свойства “icon-name”. См. также gtk_stack_page_get_icon_name()

Параметры

self

объект GtkStackPage

setting

новое значение.

[transfer none]

gtk_stack_page_get_child ()

GtkWidget *
gtk_stack_page_get_child (GtkStackPage *self);

Возвращает дочерний элемент стека, к которому принадлежит self.

Параметры

self

a GtkStackPage

Возвращает

дочерний элемент, к которому принадлежит self.

[transfer none]

gtk_stack_new ()

GtkWidget *
gtk_stack_new (void);

Создаёт новый контейнер GtkStack.

Возвращает

новый GtkStack

gtk_stack_add_child ()

GtkStackPage *
gtk_stack_add_child (GtkStack *stack,
                     GtkWidget *child);

Добавляет дочерний элемент в stack.

Параметры

stack

a GtkStack

child

виджет для добавления

Возвращает

GtkStackPage для child.

[transfer none]

gtk_stack_add_named ()

GtkStackPage *
gtk_stack_add_named (GtkStack *stack,
                     GtkWidget *child,
                     const char *name);

Добавляет дочерний элемент в stack. Дочерний элемент идентифицируется по name.

Параметры

stack

a GtkStack

child

виджет для добавления

name

имя для child или NULL.

[nullable]

Возвращает

GtkStackPage для child.

[transfer none]

gtk_stack_add_titled ()

GtkStackPage *
gtk_stack_add_titled (GtkStack *stack,
                      GtkWidget *child,
                      const char *name,
                      const char *title);

Добавляет дочерний элемент в stack. Дочерний элемент идентифицируется по name. title будет использоваться GtkStackSwitcher для представления child на панели вкладок, поэтому оно должно быть коротким.

Параметры

stack

a GtkStack

child

виджет для добавления

name

имя для child.

[nullable]

title

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

Возвращает

GtkStackPage для child.

[transfer none]

gtk_stack_remove ()

void
gtk_stack_remove (GtkStack *stack,
                  GtkWidget *child);

Удаляет дочерний виджет из stack.

Параметры

stack

a GtkStack

child

дочерний элемент для удаления

gtk_stack_get_child_by_name ()

GtkWidget *
gtk_stack_get_child_by_name (GtkStack *stack,
                             const char *name);

Ищет дочерний элемент GtkStack с заданным именем. Возвращает NULL если дочернего элемента с этим именем нет.

Параметры

stack

a GtkStack

name

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

Возвращает

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

[transfer none][nullable]

gtk_stack_get_page ()

GtkStackPage *
gtk_stack_get_page (GtkStack *stack,
                    GtkWidget *child);

Возвращает объект GtkStackPage для child.

Параметры

stack

a GtkStack

child

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

Возвращает

GtkStackPage для child.

[transfer none]

gtk_stack_get_pages ()

GtkSelectionModel *
gtk_stack_get_pages (GtkStack *stack);

Возвращает GListModel, содержащий страницы стека, который можно использовать для поддержания актуального представления. Модель также реализует GtkSelectionModel и может использоваться для отслеживания и изменения видимой страницы.

Параметры

stack

a GtkStack

Возвращает

GtkSelectionModel для дочерних элементов стека.

[transfer full]

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

gtk_stack_get_visible_child ()

GtkWidget *
gtk_stack_get_visible_child (GtkStack *stack);

Возвращает текущего видимого потомка stack или NULL, если видимых потомков нет.

Параметры

stack

a GtkStack

Возвращает

видимый потомок GtkStack.

[transfer none][nullable]

gtk_stack_set_visible_child_name ()

void
gtk_stack_set_visible_child_name (GtkStack *stack,
                                  const char *name);

Делает видимым потомка с указанным именем.

Если child отличается от текущего видимого потомка, переход между ними будет анимирован с текущим типом перехода stack.

Обратите внимание, что сам виджет-потомок должен быть видим (см. gtk_widget_show()), чтобы стать видимым потомком stack.

Параметры

stack

a GtkStack

name

имя потомка, который нужно сделать видимым

gtk_stack_get_visible_child_name ()

const char *
gtk_stack_get_visible_child_name (GtkStack *stack);

Возвращает имя текущего видимого потомка stack или NULL, если видимого потомка нет.

Параметры

stack

a GtkStack

Возвращает

имя видимого потомка GtkStack.

[transfer none][nullable]

gtk_stack_set_visible_child_full ()

void
gtk_stack_set_visible_child_full (GtkStack *stack,
                                  const char *name,
                                  GtkStackTransitionType transition);

Делает видимым потомка с указанным именем.

Обратите внимание, что сам виджет-потомок должен быть видим (см. gtk_widget_show()), чтобы стать видимым потомком stack.

Параметры

stack

a GtkStack

name

имя потомка, который нужно сделать видимым

transition

тип перехода, который нужно использовать

gtk_stack_set_hhomogeneous ()

void
gtk_stack_set_hhomogeneous (GtkStack *stack,
                            gboolean hhomogeneous);

Устанавливает GtkStack как горизонтально однородный или нет. Если он однородный, GtkStack будет запрашивать одинаковую ширину для всех своих потомков. Если нет, ширина стека может изменяться, когда становится видимым другой потомок.

Параметры

stack

a GtkStack

hhomogeneous

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

gtk_stack_get_hhomogeneous ()

gboolean
gtk_stack_get_hhomogeneous (GtkStack *stack);

Возвращает, является ли stack горизонтально однородным. См. gtk_stack_set_hhomogeneous().

Параметры

stack

a GtkStack

Возвращает

является ли stack горизонтально однородным.

gtk_stack_set_vhomogeneous ()

void
gtk_stack_set_vhomogeneous (GtkStack *stack,
                            gboolean vhomogeneous);

Устанавливает GtkStack как вертикально однородный или нет. Если он однородный, GtkStack будет запрашивать одинаковую высоту для всех своих потомков. Если нет, высота стека может изменяться, когда становится видимым другой потомок.

Параметры

stack

a GtkStack

vhomogeneous

TRUE сделать stack вертикально однородным

gtk_stack_get_vhomogeneous ()

gboolean
gtk_stack_get_vhomogeneous (GtkStack *stack);

Возвращает, является ли stack вертикально однородным. См. gtk_stack_set_vhomogeneous().

Параметры

stack

a GtkStack

Возвращает

является ли stack вертикально однородным.

gtk_stack_set_transition_duration ()

void
gtk_stack_set_transition_duration (GtkStack *stack,
                                   guint duration);

Устанавливает продолжительность переходов между страницами в stack.

Параметры

stack

a GtkStack

duration

новая продолжительность в миллисекундах

gtk_stack_get_transition_duration ()

guint
gtk_stack_get_transition_duration (GtkStack *stack);

Возвращает время (в миллисекундах), которое займут переходы между страницами в stack.

Параметры

stack

a GtkStack

Возвращает

продолжительность перехода

gtk_stack_set_transition_type ()

void
gtk_stack_set_transition_type (GtkStack *stack,
                               GtkStackTransitionType transition);

Устанавливает тип анимации, который будет использоваться для переходов между страницами в stack. Доступные типы включают различные виды затухания и слайдов.

Тип перехода может быть изменен без проблем во время выполнения, поэтому можно изменить анимацию в зависимости от страницы, которая собирается стать текущей.

Параметры

stack

a GtkStack

transition

новый тип перехода

gtk_stack_get_transition_type ()

GtkStackTransitionType
gtk_stack_get_transition_type (GtkStack *stack);

Возвращает тип анимации, который будет использоваться для переходов между страницами в stack.

Параметры

stack

a GtkStack

Возвращает

текущий тип перехода stack

gtk_stack_get_transition_running ()

gboolean
gtk_stack_get_transition_running (GtkStack *stack);

Возвращает, находится ли stack в данный момент в процессе перехода с одной страницы на другую.

Параметры

stack

a GtkStack

Возвращаемое значение

TRUE если переход выполняется, FALSE в противном случае.

gtk_stack_get_interpolate_size ()

gboolean
gtk_stack_get_interpolate_size (GtkStack *stack);

Возвращает, настроен ли GtkStack на интерполяцию размеров дочерних элементов при переключении страниц.

Параметры

stack

A GtkStack

Возвращаемое значение

TRUE если размеры дочерних элементов интерполируются

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

the new value

Типы и значения

GtkStackPage

typedef struct _GtkStackPage GtkStackPage;

GtkStack

typedef struct _GtkStack 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

Накрыть старую страницу, сдвинув вверх

GTK_STACK_TRANSITION_TYPE_OVER_DOWN

Накрыть старую страницу, сдвинув вниз

GTK_STACK_TRANSITION_TYPE_OVER_LEFT

Накрыть старую страницу, сдвинув влево

GTK_STACK_TRANSITION_TYPE_OVER_RIGHT

Накрыть старую страницу, сдвинув вправо

GTK_STACK_TRANSITION_TYPE_UNDER_UP

Раскрыть новую страницу, сдвинув вверх

GTK_STACK_TRANSITION_TYPE_UNDER_DOWN

Раскрыть новую страницу, сдвинув вниз

GTK_STACK_TRANSITION_TYPE_UNDER_LEFT

Раскрыть новую страницу, сдвинув влево

GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT

Раскрыть новую страницу, сдвинув вправо

GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN

Накрыть старую страницу, сдвинув вверх, или раскрыть новую страницу, сдвинув вниз, в зависимости от порядка

GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP

Накрыть старую страницу, сдвинув вниз, или раскрыть новую страницу, сдвинув вверх, в зависимости от порядка

GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT

Накрыть старую страницу, сдвинув влево, или раскрыть новую страницу, сдвинув вправо, в зависимости от порядка

GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT

Накрыть старую страницу, сдвинув вправо, или раскрыть новую страницу, сдвинув влево, в зависимости от порядка

GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT

Представьте, что страницы являются сторонами куба, и поверните этот куб влево

GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT

Представьте, что страницы являются сторонами куба, и поверните этот куб вправо

GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT

Представьте, что страницы являются сторонами куба, и поверните этот куб влево или вправо в зависимости от порядка дочерних элементов

Подробное описание свойств

Свойство “child”

  “child”                    GtkWidget *

Элемент страницы.

Владелец: GtkStackPage

Флаги: Чтение / Запись / Только для создания

Свойство “icon-name”

  “icon-name”                char *

Имя значка дочерней страницы.

Владелец: GtkStackPage

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “name”

  “name”                     char *

Имя дочерней страницы.

Владелец: GtkStackPage

Флаги: Чтение / Запись / Только для создания

Значение по умолчанию: NULL

Свойство “needs-attention”

  “needs-attention”          gboolean

Устанавливает флаг, указывающий, требует ли страница внимания пользователя. Используется GtkStackSwitcher для изменения внешнего вида соответствующей кнопки, когда страница требует внимания, но не является текущей.

Владелец: GtkStackPage

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “title”

  “title”                    char *

Заголовок дочерней страницы.

Владелец: GtkStackPage

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “use-underline”

  “use-underline”            gboolean

Если установлено, подчеркивание в заголовке указывает, что следующий символ должен использоваться для комбинации клавиш.

Владелец: GtkStackPage

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “visible”

  “visible”                  gboolean

Видимость этой страницы.

Владелец: GtkStackPage

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “hhomogeneous”

  “hhomogeneous”             gboolean

TRUE если стеку выделяется одинаковая ширина для всех дочерних элементов.

Владелец: GtkStack

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “interpolate-size”

  “interpolate-size”         gboolean

Определяет, должна ли изменяться размер плавно при переходе между дочерними элементами с разными размерами.

Владелец: GtkStack

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “pages”

  “pages”                    GtkSelectionModel *

Модель выбора со страницами стека.

Владелец: GtkStack

Флаги: Чтение

Свойство “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

Свойство “visible-child”

  “visible-child”            GtkWidget *

Виджет, который в данный момент виден в стеке.

Владелец: GtkStack

Флаги: Чтение / Запись

Свойство “visible-child-name”

  “visible-child-name”       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-old.gnome.org/gtk4/4.0/GtkStack.html

Spec-Zone.ru

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