adw.view_switcher_bar

Module for ViewSwitcherBar class

Types 3

A view switcher action bar.

view-switcher-bar

An action bar letting you switch between multiple views contained in a adw.view_stack.ViewStack, via an adw.view_switcher.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.

adw.view_switcher_bar.ViewSwitcherBar is intended to be used together with adw.view_switcher.ViewSwitcher in a header bar, and a adw.breakpoint.Breakpoint showing the view switcher bar on narrow sizes, while removing the view switcher from the header bar, as follows:

<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 adw.view_switcher.ViewSwitcher.policy to adw.types.ViewSwitcherPolicy.Wide in this case.

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

CSS nodes

adw.view_switcher_bar.ViewSwitcherBar has a single CSS node with name viewswitcherbar.

Methods
GType _gType() @property
ViewSwitcherBar self()Returns `this`, for use in `with` statements.
ViewSwitcherBarGidBuilder builder()Get builder for [adw.view_switcher_bar.ViewSwitcherBar] Returns: New builder object
bool reveal() @propertyGet `reveal` property. Returns: Whether the bar should be revealed or hidden.
void reveal(bool propval) @propertySet `reveal` property. Params: propval = Whether the bar should be revealed or hidden.
adw.view_stack.ViewStack stack() @propertyGet `stack` property. Returns: The stack the view switcher controls.
void stack(adw.view_stack.ViewStack propval) @propertySet `stack` property. Params: propval = The stack the view switcher controls.
bool getReveal()Gets whether self should be revealed or hidden. Returns: whether self is revealed
adw.view_stack.ViewStack getStack()Gets the stack controlled by self. Returns: the stack
void setReveal(bool reveal)Sets whether self should be revealed or hidden.
void setStack(adw.view_stack.ViewStack stack = null)Sets the stack controlled by self.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new [adw.view_switcher_bar.ViewSwitcherBar]. Returns: the newly created [adw.view_switcher_bar.ViewSwitcherBar]

Fluent builder implementation template for adw.view_switcher_bar.ViewSwitcherBar

Methods
T reveal(bool propval)Set `reveal` property. Params: propval = Whether the bar should be revealed or hidden. Returns: Builder instance for fluent chaining
T stack(adw.view_stack.ViewStack propval)Set `stack` property. Params: propval = The stack the view switcher controls. Returns: Builder instance for fluent chaining