A view container for [class@ViewSwitcher].
`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 [class@ViewSwitcher], [class@InlineViewSwitcher]
or [class@ViewSwitcherSidebar] 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 [class@ViewSwitcher] will use to let
users identify which page is which. Set them using the [property@ViewStackPage:title], [property@ViewStackPage:icon-name], [
property@ViewStackPage:needs-attention], and [property@ViewStackPage:badge-number] properties.
`AdwViewStack` pages can also be grouped into sections, using the [property@ViewStackPage:starts-section] and [
property@ViewStackPage:section-title] properties. Currently, only [class@ViewSwitcherSidebar] displays groups.
Unlike [class@Gtk.Stack], transitions between views can only be animated via a crossfade and size changes are always interpolated.
Animations are disabled by default. Use [property@ViewStack:enable-transitions] to enable them.
`AdwViewStack` maintains a [class@ViewStackPage] object for each added child, which holds additional per-child properties. You obtain the
[class@ViewStackPage] for a child with [method@ViewStack.get_page] and you can obtain a [iface@Gtk.SelectionModel] containing all the
pages with [method@ViewStack.get_pages].
AdwViewStack as GtkBuildable
To set child-specific properties in a .ui file, create [class@ViewStackPage] objects explicitly, and set the child widget as a property
on it:
```xml <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> </object> ```
CSS nodes
`AdwViewStack` has a single CSS node named `stack`.
Accessibility
`AdwViewStack` uses the [enum@Gtk.AccessibleRole.tab-panel] for the stack pages which are the accessible parent objects of the child
widgets.