Class
AdwNavigationSplitView
since: 1.4
Description [src]
final class Adw.NavigationSplitView : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}
A widget presenting sidebar and content side by side or as a navigation view.
AdwNavigationSplitView
has two AdwNavigationPage
children: sidebar and
content, and displays them side by side.
When AdwNavigationSplitView:collapsed
is set to TRUE
, it instead
puts both children inside an AdwNavigationView
. The
AdwNavigationSplitView:show-content
controls which child is visible
while collapsed.
See also AdwOverlaySplitView
.
AdwNavigationSplitView
is typically used together with an AdwBreakpoint
setting the collapsed
property to TRUE
on small widths, as follows:
<object class="AdwWindow">
<property name="width-request">280</property>
<property name="height-request">200</property>
<property name="default-width">800</property>
<property name="default-height">800</property>
<child>
<object class="AdwBreakpoint">
<condition>max-width: 400sp</condition>
<setter object="split_view" property="collapsed">True</setter>
</object>
</child>
<property name="content">
<object class="AdwNavigationSplitView" id="split_view">
<property name="sidebar">
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Sidebar</property>
<property name="child">
<!-- ... -->
</property>
</object>
</property>
<property name="content">
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Content</property>
<property name="child">
<!-- ... -->
</property>
</object>
</property>
</object>
</property>
</object>
Sizing
When not collapsed, AdwNavigationSplitView
changes the sidebar width
depending on its own width.
If possible, it tries to allocate a fraction of the total width, controlled
with the AdwNavigationSplitView:sidebar-width-fraction
property.
The sidebar also has minimum and maximum sizes, controlled with the
AdwNavigationSplitView:min-sidebar-width
and
AdwNavigationSplitView:max-sidebar-width
properties.
The minimum and maximum sizes are using the length unit specified with the
AdwNavigationSplitView:sidebar-width-unit
.
By default, sidebar is using 25% of the total width, with 180sp as the minimum size and 280sp as the maximum size.
Header Bar Integration
When used inside AdwNavigationSplitView
, AdwHeaderBar
will
automatically hide the window buttons in the middle.
When collapsed, it also displays a back button for the content widget, as
well as the page titles. See AdwNavigationView
documentation for details.
Actions
AdwNavigationSplitView
defines the same actions as AdwNavigationView
, but
they can be used even when the split view is not collapsed:
-
navigation.push
takes a string parameter specifying the tag of the page to push. If it matches the tag of the content widget, it setsAdwNavigationSplitView:show-content
toTRUE
. -
navigation.pop
doesn’t take any parameters and setsAdwNavigationSplitView:show-content
toFALSE
.
AdwNavigationSplitView
as GtkBuildable
The AdwNavigationSplitView
implementation of the GtkBuildable
interface supports setting the sidebar widget by specifying “sidebar” as the
“type” attribute of a <child>
element, Specifying “content” child type or
omitting it results in setting the content widget.
CSS nodes
AdwNavigationSplitView
has a single CSS node with the name
navigation-split-view
.
When collapsed, it contains a child node with the name navigation-view
containing both children.
navigation-split-view
╰── navigation-view
├── [sidebar child]
╰── [content child]
When not collapsed, it contains two nodes with the name widget
, one with
the .sidebar-pane
style class, the other one with .content-view
style
class, containing the sidebar and content children respectively.
navigation-split-view
├── widget.sidebar-pane
│ ╰── [sidebar child]
╰── widget.content-pane
╰── [content child]
Accessibility
AdwNavigationSplitView
uses the GTK_ACCESSIBLE_ROLE_GROUP
role.
Available since: 1.4
Instance methods
adw_navigation_split_view_get_show_content
Gets which page is visible when self
is collapsed.
since: 1.4
adw_navigation_split_view_get_sidebar_width_fraction
Gets the preferred sidebar width fraction for self
.
since: 1.4
adw_navigation_split_view_get_sidebar_width_unit
Gets the length unit for minimum and maximum sidebar widths.
since: 1.4
adw_navigation_split_view_set_show_content
Sets which page is visible when self
is collapsed.
since: 1.4
adw_navigation_split_view_set_sidebar_width_fraction
Sets the preferred sidebar width as a fraction of the total width of self
.
since: 1.4
adw_navigation_split_view_set_sidebar_width_unit
Sets the length unit for minimum and maximum sidebar widths.
since: 1.4
Methods inherited from GtkAccessible (19)
gtk_accessible_announce
Requests the user’s screen reader to announce the given message.
gtk_accessible_get_accessible_parent
Retrieves the accessible parent for an accessible object.
gtk_accessible_get_accessible_role
Retrieves the accessible role of an accessible object.
gtk_accessible_get_at_context
Retrieves the accessible implementation for the given GtkAccessible
.
gtk_accessible_get_bounds
Queries the coordinates and dimensions of this accessible.
gtk_accessible_get_first_accessible_child
Retrieves the first accessible child of an accessible object.
gtk_accessible_get_next_accessible_sibling
Retrieves the next accessible sibling of an accessible object.
gtk_accessible_get_platform_state
Query a platform state, such as focus.
gtk_accessible_reset_property
Resets the accessible property
to its default value.
gtk_accessible_reset_relation
Resets the accessible relation
to its default value.
gtk_accessible_reset_state
Resets the accessible state
to its default value.
gtk_accessible_set_accessible_parent
Sets the parent and sibling of an accessible object.
gtk_accessible_update_next_accessible_sibling
Updates the next accessible sibling of self
.
gtk_accessible_update_property
Updates a list of accessible properties.
gtk_accessible_update_property_value
Updates an array of accessible properties.
gtk_accessible_update_relation
Updates a list of accessible relations.
gtk_accessible_update_relation_value
Updates an array of accessible relations.
gtk_accessible_update_state
Updates a list of accessible states. See the GtkAccessibleState
documentation for the value types of accessible states.
gtk_accessible_update_state_value
Updates an array of accessible states.
Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id
Gets the ID of the buildable
object.
Properties
Adw.NavigationSplitView:sidebar-width-fraction
The preferred sidebar width as a fraction of the total width.
since: 1.4
Adw.NavigationSplitView:sidebar-width-unit
The length unit for minimum and maximum sidebar widths.
since: 1.4
Properties inherited from GtkWidget (34)
Gtk.Widget:can-focus
Whether the widget or any of its descendents can accept the input focus.
Gtk.Widget:can-target
Whether the widget can receive pointer events.
Gtk.Widget:css-classes
A list of css classes applied to this widget.
Gtk.Widget:css-name
The name of this widget in the CSS tree.
Gtk.Widget:cursor
The cursor used by widget
.
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
Gtk.Widget:focusable
Whether this widget itself will accept the input focus.
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space.
Gtk.Widget:has-default
Whether the widget is the default widget.
Gtk.Widget:has-focus
Whether the widget has the input focus.
Gtk.Widget:has-tooltip
Enables or disables the emission of the ::query-tooltip signal on widget
.
Gtk.Widget:height-request
Override for height request of the widget.
Gtk.Widget:hexpand
Whether to expand horizontally.
Gtk.Widget:hexpand-set
Whether to use the hexpand
property.
Gtk.Widget:layout-manager
The GtkLayoutManager
instance to use to compute the preferred size
of the widget, and allocate its children.
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
Gtk.Widget:margin-end
Margin on end of widget, horizontally.
Gtk.Widget:margin-start
Margin on start of widget, horizontally.
Gtk.Widget:margin-top
Margin on top side of widget.
Gtk.Widget:name
The name of the widget.
Gtk.Widget:opacity
The requested opacity of the widget.
Gtk.Widget:overflow
How content outside the widget’s content area is treated.
Gtk.Widget:parent
The parent widget of this widget.
Gtk.Widget:receives-default
Whether the widget will receive the default action when it is focused.
Gtk.Widget:root
The GtkRoot
widget of the widget tree containing this widget.
Gtk.Widget:scale-factor
The scale factor of the widget.
Gtk.Widget:sensitive
Whether the widget responds to input.
Gtk.Widget:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with Pango markup.
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space.
Gtk.Widget:vexpand
Whether to expand vertically.
Gtk.Widget:vexpand-set
Whether to use the vexpand
property.
Gtk.Widget:visible
Whether the widget is visible.
Gtk.Widget:width-request
Override for width request of the widget.
Properties inherited from GtkAccessible (1)
Gtk.Accessible:accessible-role
The accessible role of the given GtkAccessible
implementation.
Signals
Signals inherited from GtkWidget (13)
GtkWidget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold.
GtkWidget::direction-changed
Emitted when the text direction of a widget changes.
GtkWidget::hide
Emitted when widget
is hidden.
GtkWidget::keynav-failed
Emitted if keyboard navigation fails.
GtkWidget::map
Emitted when widget
is going to be mapped.
GtkWidget::mnemonic-activate
Emitted when a widget is activated via a mnemonic.
GtkWidget::move-focus
Emitted when the focus is moved.
GtkWidget::query-tooltip
Emitted when the widget’s tooltip is about to be shown.
GtkWidget::realize
Emitted when widget
is associated with a GdkSurface
.
GtkWidget::show
Emitted when widget
is shown.
GtkWidget::state-flags-changed
Emitted when the widget state changes.
GtkWidget::unmap
Emitted when widget
is going to be unmapped.
GtkWidget::unrealize
Emitted when the GdkSurface
associated with widget
is destroyed.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.