Adw.ViewSwitcherBar

g Adw.ViewSwitcherBar Adw.ViewSwitcherBar GObject.GInterface GObject.GInterface Gtk.Accessible Gtk.Accessible GObject.GInterface->Gtk.Accessible Gtk.Buildable Gtk.Buildable GObject.GInterface->Gtk.Buildable Gtk.ConstraintTarget Gtk.ConstraintTarget GObject.GInterface->Gtk.ConstraintTarget GObject.InitiallyUnowned GObject.InitiallyUnowned Gtk.Widget Gtk.Widget GObject.InitiallyUnowned->Gtk.Widget GObject.Object GObject.Object GObject.Object->GObject.InitiallyUnowned Gtk.Accessible->Gtk.Widget Gtk.Buildable->Gtk.Widget Gtk.ConstraintTarget->Gtk.Widget Gtk.Widget->Adw.ViewSwitcherBar

Subclasses:

None

Methods

Inherited:

Gtk.Widget (181), GObject.Object (37), Gtk.Accessible (15), Gtk.Buildable (1)

Structs:

Gtk.WidgetClass (18), GObject.ObjectClass (5)

class

new ()

get_reveal ()

get_stack ()

set_reveal (reveal)

set_stack (stack)

Virtual Methods

Inherited:

Gtk.Widget (25), GObject.Object (7), Gtk.Accessible (6), Gtk.Buildable (9)

Properties

Inherited:

Gtk.Widget (34), Gtk.Accessible (1)

Name

Type

Flags

Short Description

reveal

bool

r/w/en

stack

Adw.ViewStack

r/w/en

Signals

Inherited:

Gtk.Widget (13), GObject.Object (1)

Fields

Inherited:

Gtk.Widget (13), GObject.Object (1)

Class Details

class Adw.ViewSwitcherBar(**kwargs)
Bases:

Gtk.Widget

Abstract:

No

Structure:

Adw.ViewSwitcherBarClass

A view switcher action bar.

<picture> <source srcset=”view-switcher-bar-dark.png” media=”(prefers-color-scheme: dark)”> <img src=”view-switcher-bar.png” alt=”view-switcher-bar”> </picture>

An action bar letting you switch between multiple views contained in a [class`ViewStack`], via an [class`ViewSwitcher`]. It is designed to be put at the bottom of a window and to be revealed only on really narrow windows, e.g. on mobile phones. It can’t be revealed if there are less than two pages.

AdwViewSwitcherBar is intended to be used together with AdwViewSwitcher in a header bar, and a [class`Breakpoint`] showing the view switcher bar on narrow sizes, while removing the view switcher from the header bar, as follows:

``xml <object class=”AdwWindow”>

<property name=”width-request”>360</property> <property name=”height-request”>200</property> <child>

<object class=”AdwBreakpoint”>

<condition>max-width: 550sp</condition> <setter object=”switcher_bar” property=”reveal”>True</setter> <setter object=”header_bar” property=”title-widget”/>

</object>

</child> <property name=”content”>

<object class=”AdwToolbarView”>
<child type=”top”>
<object class=”AdwHeaderBar” id=”header_bar”>
<property name=”title-widget”>
<object class=”AdwViewSwitcher”>

<property name=”stack”>stack</property> <property name=”policy”>wide</property>

</object>

</property>

</object>

</child> <property name=”content”>

<object class=”AdwViewStack” id=”stack”/>

</property> <child type=”bottom”>

<object class=”AdwViewSwitcherBar” id=”switcher_bar”>

<property name=”stack”>stack</property>

</object>

</child>

</object>

</property>

</object> ``

It’s recommended to set [property`ViewSwitcher`:py:data::policy<Adw.ViewSwitcherBar.props.policy>] to ADW_VIEW_SWITCHER_POLICY_WIDE in this case.

You may have to adjust the breakpoint condition for your specific pages.

CSS nodes

AdwViewSwitcherBar has a single CSS node with name`` viewswitcherbar``.

classmethod new()
Returns:

the newly created AdwViewSwitcherBar

Return type:

Gtk.Widget

Creates a new AdwViewSwitcherBar.

get_reveal()
Returns:

whether self is revealed

Return type:

bool

Gets whether self should be revealed or hidden.

get_stack()
Returns:

the stack

Return type:

Adw.ViewStack or None

Gets the stack controlled by self.

set_reveal(reveal)
Parameters:

reveal (bool) – whether to reveal self

Sets whether self should be revealed or hidden.

set_stack(stack)
Parameters:

stack (Adw.ViewStack or None) – a stack

Sets the stack controlled by self.

Property Details

Adw.ViewSwitcherBar.props.reveal
Name:

reveal

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE, EXPLICIT_NOTIFY

Whether the bar should be revealed or hidden.

Adw.ViewSwitcherBar.props.stack
Name:

stack

Type:

Adw.ViewStack

Default Value:

None

Flags:

READABLE, WRITABLE, EXPLICIT_NOTIFY

The stack the view switcher controls.