adw.view_switcher_bar
Module for [ViewSwitcherBar] class
Types 3
A view switcher action bar.
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.
[adw.view_switcher_bar.ViewSwitcherBar] is intended to be used together with [adw.view_switcher.ViewSwitcher] 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:
<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: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.
ViewSwitcherBar self()Returns `this`, for use in `with` statements.ViewSwitcherBarGidBuilder builder()Get builder for [adw.viewswitcherbar.ViewSwitcherBar] Returns: New builder objectbool 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 revealedadw.view_stack.ViewStack getStack()Gets the stack controlled by self. Returns: the stackvoid 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.T reveal(bool propval)Set `reveal` property. Params: propval = Whether the bar should be revealed or hidden. Returns: Builder instance for fluent chainingT stack(adw.view_stack.ViewStack propval)Set `stack` property. Params: propval = The stack the view switcher controls. Returns: Builder instance for fluent chainingFluent builder for [adw.view_switcher_bar.ViewSwitcherBar]