ViewSwitcher
Object Hierarchy:
Adw.ViewSwitcher
Adw.ViewSwitcher
Adw.ViewSwitcher
Gtk.Widget
Gtk.Widget
Gtk.Widget->Adw.ViewSwitcher
GLib.InitiallyUnowned
GLib.InitiallyUnowned
GLib.InitiallyUnowned->Gtk.Widget
GLib.Object
GLib.Object
GLib.Object->GLib.InitiallyUnowned
Gtk.Accessible
Gtk.Accessible
Gtk.Accessible->Adw.ViewSwitcher
Gtk.Accessible->Gtk.Widget
Gtk.Buildable
Gtk.Buildable
Gtk.Buildable->Adw.ViewSwitcher
Gtk.Buildable->Gtk.Widget
Gtk.ConstraintTarget
Gtk.ConstraintTarget
Gtk.ConstraintTarget->Adw.ViewSwitcher
Gtk.ConstraintTarget->Gtk.Widget
Description:
[ CCode ( type_id = "adw_view_switcher_get_type ()" ) ]public sealed class ViewSwitcher : Widget , Accessible , Buildable , ConstraintTarget
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"> <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_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.
Content:
Properties:
Creation methods:
Methods:
Inherited Members:
All known members inherited from class Gtk.Widget
All known members inherited from class GLib.Object
@get
@new
@ref
@set
add_toggle_ref
add_weak_pointer
bind_property
connect
constructed
disconnect
dispose
dup_data
dup_qdata
force_floating
freeze_notify
get_class
get_data
get_property
get_qdata
get_type
getv
interface_find_property
interface_install_property
interface_list_properties
is_floating
new_valist
new_with_properties
newv
notify
notify_property
ref_count
ref_sink
remove_toggle_ref
remove_weak_pointer
replace_data
replace_qdata
set_data
set_data_full
set_property
set_qdata
set_qdata_full
set_valist
setv
steal_data
steal_qdata
thaw_notify
unref
watch_closure
weak_ref
weak_unref
All known members inherited from interface Gtk.Accessible
accessible_role
announce
get_accessible_parent
get_accessible_role
get_at_context
get_bounds
get_first_accessible_child
get_next_accessible_sibling
get_platform_state
reset_property
reset_relation
reset_state
set_accessible_parent
update_next_accessible_sibling
update_property
update_property_value
update_relation
update_relation_value
update_state
update_state_value
All known members inherited from interface Gtk.Buildable
add_child
custom_finished
custom_tag_end
custom_tag_start
get_buildable_id
get_id
get_internal_child
parser_finished
set_buildable_property
set_id