Adw.ViewStack
Description: Reference for Adw.ViewStack

### Class

# AdwViewStack

#### Description [src]

    final class Adw.ViewStack : Gtk.Widget {
      /* No available fields */
    }

A view container for `AdwViewSwitcher`.

`AdwViewStack` is a container which only shows one page at a time. It is typically used to hold an application’s main views.

It doesn’t provide a way to transition between pages. Instead, a separate widget such as `AdwViewSwitcher` can be used with `AdwViewStack` to provide this functionality.

`AdwViewStack` pages can have a title, an icon, an attention request, and a numbered badge that `AdwViewSwitcher` will use to let users identify which page is which. Set them using the `AdwViewStackPage:title`, `AdwViewStackPage:icon-name`, `AdwViewStackPage:needs-attention`, and `AdwViewStackPage:badge-number` properties.

Transitions between views are animated by crossfading. These animations respect the `GtkSettings:gtk-enable-animations` setting.

`AdwViewStack` maintains a `AdwViewStackPage` object for each added child, which holds additional per-child properties. You obtain the `AdwViewStackPage` for a child with adw_view_stack_get_page() and you can obtain a `GtkSelectionModel` containing all the pages with adw_view_stack_get_pages().

## AdwViewStack as GtkBuildable

To set child-specific properties in a .ui file, create `AdwViewStackPage` objects explicitly, and set the child widget as a property on it:

      <object class="AdwViewStack" id="stack">
        <child>
          <object class="AdwViewStackPage">
            <property name="name">overview</property>
            <property name="title">Overview</property>
            <property name="child">
              <object class="AdwStatusPage">
                <property name="title">Welcome!</property>
              </object>
            </property>
          </object>
        </child>

## CSS nodes

`AdwViewStack` has a single CSS node named `stack`.

Available since: | 1.0

#### Hierarchy

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### adw_view_stack_new

Creates a new `AdwViewStack`.

Available since: 1.0

#### Instance methods

###### adw_view_stack_add

Adds a child to `self`.

Available since: 1.0

###### adw_view_stack_add_named

Adds a child to `self`.

Available since: 1.0

###### adw_view_stack_add_titled

Adds a child to `self`.

Available since: 1.0

###### adw_view_stack_get_child_by_name

Finds the child with `name` in `self`.

Available since: 1.0

###### adw_view_stack_get_hhomogeneous

Gets whether `self` is horizontally homogeneous.

Available since: 1.0

###### adw_view_stack_get_interpolate_size

Gets whether `self` will interpolate its size when changing the visible child.

Available since: 1.0

###### adw_view_stack_get_page

Gets the `AdwViewStackPage` object for `child`.

Available since: 1.0

###### adw_view_stack_get_pages

Returns a `GListModel` that contains the pages of the stack.

Available since: 1.0

###### adw_view_stack_get_transition_running

Gets whether the `self` is currently in a transition from one page to another.

Available since: 1.0

###### adw_view_stack_get_vhomogeneous

Gets whether `self` is vertically homogeneous.

Available since: 1.0

###### adw_view_stack_get_visible_child

Gets the currently visible child of `self`, .

Available since: 1.0

###### adw_view_stack_get_visible_child_name

Returns the name of the currently visible child of `self`.

Available since: 1.0

###### adw_view_stack_remove

Removes a child widget from `self`.

Available since: 1.0

###### adw_view_stack_set_hhomogeneous

Sets `self` to be horizontally homogeneous or not.

Available since: 1.0

###### adw_view_stack_set_interpolate_size

Sets whether `self` will interpolate its size when changing the visible child.

Available since: 1.0

###### adw_view_stack_set_vhomogeneous

Sets `self` to be vertically homogeneous or not.

Available since: 1.0

###### adw_view_stack_set_visible_child

Makes `child` the visible child of `self`.

Available since: 1.0

###### adw_view_stack_set_visible_child_name

Makes the child with `name` visible.

Available since: 1.0

#### Properties

###### Adw.ViewStack:hhomogeneous

Whether the stack allocates the same width for all children.

Available since: 1.0

###### Adw.ViewStack:interpolate-size

Whether the stack interpolates its size when changing the visible child.

Available since: 1.0

###### Adw.ViewStack:pages

A selection model with the stack’s pages.

###### Adw.ViewStack:transition-running

Whether a transition is currently running.

Available since: 1.0

###### Adw.ViewStack:vhomogeneous

Whether the stack allocates the same height for all children.

Available since: 1.0

###### Adw.ViewStack:visible-child

The widget currently visible in the stack.

Available since: 1.0

###### Adw.ViewStack:visible-child-name

The name of the widget currently visible in the stack.

Available since: 1.0

#### Class structure

    struct AdwViewStackClass {
      GtkWidgetClass parent_class;

    }

###### Class members

`parent_class` |
    GtkWidgetClass
| No description available.