Klasse ViewSwitcher

Alle implementierten Schnittstellen:
PointerInterface

public class ViewSwitcher extends Widget
An adaptive view switcher.

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

An adaptive view switcher designed to switch between multiple views
contained in a [class@ViewStack] in a similar fashion to
[class@Gtk.StackSwitcher].

`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 [property@ViewSwitcher:policy] property.

`AdwViewSwitcher` is intended to be used in a header bar together with
[class@ViewSwitcherBar] at the bottom of the window, 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">
<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_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.

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcher.html

  • Konstruktordetails

    • ViewSwitcher

      public ViewSwitcher(PointerContainer pointer)
    • ViewSwitcher

      public ViewSwitcher()
      Creates a new `AdwViewSwitcher`.
  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • getPolicy

      public int getPolicy()
      Gets the policy of @self.
      Gibt zurück:
      the policy of @self
    • getStack

      public ViewStack getStack()
      Gets the stack controlled by @self.
      Gibt zurück:
      the stack
    • setPolicy

      public void setPolicy(int policy)
      Sets the policy of @self.
      Parameter:
      policy - the new policy
    • setStack

      public void setStack(@Nullable ViewStack stack)
      Sets the stack controlled by @self.
      Parameter:
      stack - a stack
    • asAccessible

      public Accessible asAccessible()
      Implements interface Accessible. Call this to get access to interface functions.
      Setzt außer Kraft:
      asAccessible in Klasse Widget
      Gibt zurück:
      Accessible
    • asBuildable

      public Buildable asBuildable()
      Implements interface Buildable. Call this to get access to interface functions.
      Setzt außer Kraft:
      asBuildable in Klasse Widget
      Gibt zurück:
      Buildable
    • asConstraintTarget

      public ConstraintTarget asConstraintTarget()
      Implements interface ConstraintTarget. Call this to get access to interface functions.
      Setzt außer Kraft:
      asConstraintTarget in Klasse Widget
      Gibt zurück:
      ConstraintTarget
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()