Class

AdwViewSwitcher

Description [src]

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

An adaptive view switcher.

view-switcher

An adaptive view switcher designed to switch between multiple views contained in a AdwViewStack in a similar fashion to GtkStackSwitcher.

AdwViewSwitcher buttons always have an icon and a label. They can be displayed side by side, or icon on top of the label. This can be controlled via the AdwViewSwitcher:policy property.

AdwViewSwitcher is intended to be used in a header bar together with AdwViewSwitcherBar at the bottom of the window, and a AdwBreakpoint 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 AdwViewSwitcher:policy to ADW_VIEW_SWITCHER_POLICY_WIDE in this case.

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

CSS nodes

AdwViewSwitcher has a single CSS node with name viewswitcher. It can have the style classes .wide and .narrow, matching its policy.

Accessibility

AdwViewSwitcher uses the GTK_ACCESSIBLE_ROLE_TAB_LIST role and uses the GTK_ACCESSIBLE_ROLE_TAB for its buttons.

Ancestors

  • GtkWidget
  • GInitiallyUnowned
  • GObject

Implements

  • GtkAccessible
  • GtkBuildable
  • GtkConstraintTarget

Constructors

adw_view_switcher_new

Creates a new AdwViewSwitcher.

Instance methods

adw_view_switcher_get_policy

Gets the policy of self.

adw_view_switcher_get_stack

Gets the stack controlled by self.

adw_view_switcher_set_policy

Sets the policy of self.

adw_view_switcher_set_stack

Sets the stack controlled by self.

Properties

Adw.ViewSwitcher:policy

The policy to determine which mode to use.

Adw.ViewSwitcher:stack

The stack the view switcher controls.

Class structure

struct AdwViewSwitcherClass {
  GtkWidgetClass parent_class;
  
}
Class members
parent_class
GtkWidgetClass
  No description available.