Creates a new adw.navigation_view.NavigationView.
Permanently adds page to self.
Connect to GetNextPage signal.
Connect to Popped signal.
Connect to Pushed signal.
Connect to Replaced signal.
Finds a page in self by its tag.
Gets whether self animates page transitions.
Returns a gio.list_model.ListModel that contains the pages in navigation stack.
Gets whether pressing Escape pops the current page on self.
Gets the previous page for page.
Gets the currently visible page in self.
Pops the visible page from the navigation stack.
Pops pages from the navigation stack until page is visible.
Pops pages from the navigation stack until page with the tag tag is visible.
Pushes page onto the navigation stack.
Pushes the page with the tag tag onto the navigation stack.
Removes page from self.
Replaces the current navigation stack with pages.
Replaces the current navigation stack with pages with the tags tags.
Sets whether self should animate page transitions.
Sets whether pressing Escape pops the current page on self.
Gets the progress self will snap back to after the gesture is canceled.
Gets the swipe distance of self.
Gets the current progress of self.
Gets the snap points of self.
Gets the area self can start a swipe from for the given direction and gesture type.
Obtains the current default reading direction.
Sets the default reading direction for widgets.
Enable or disable an action installed with gtk.widget_class.WidgetClass.installAction.
For widgets that can be “activated” (buttons, menu items, etc.), this function activates them.
Looks up the action in the action groups associated with widget and its ancestors, and activates it.
Activates the default.activate action from widget.
Adds controller to widget so that it will receive events.
Adds a style class to widget.
Adds a widget to the list of mnemonic labels for this widget.
Queues an animation frame update and adds a callback to be called before each frame.
This function is only used by gtk.widget.Widget subclasses, to assign a size, position and (optionally) baseline to their child widgets.
Called by widgets as the user moves around the window using keyboard shortcuts.
Computes the bounds for widget in the coordinate space of target.
Computes whether a container should give this widget extra space when possible.
Translates the given point in widget's coordinates to coordinates relative to target’s coordinate system.
Computes a matrix suitable to describe a transformation from widget's coordinate system into target's coordinate system.
Tests if the point at (x, y) is contained in widget.
Creates a new pango.context.Context with the appropriate font map, font options, font description, and base direction for drawing text for this widget.
Creates a new pango.layout.Layout with the appropriate font map, font description, and base direction for drawing text for this widget.
Clears the template children for the given widget.
Checks to see if a drag movement has passed the GTK drag threshold.
Notifies the user about an input-related error on this widget.
Returns the baseline that has currently been allocated to widget.
Returns the height that has currently been allocated to widget.
Returns the width that has currently been allocated to widget.
Gets the first ancestor of widget with type widget_type.
Returns the baseline that has currently been allocated to widget.
Determines whether the input focus can enter widget or any of its children.
Queries whether widget can be the target of pointer events.
Gets the value set with gtk.widget.Widget.setChildVisible.
Gets the clipboard object for widget.
Gets the current foreground color for the widget’s CSS style.
Returns the list of style classes applied to widget.
Returns the CSS name that is used for self.
Queries the cursor set on widget.
Gets the reading direction for a particular widget.
Get the gdk.display.Display for the toplevel window associated with this widget.
Returns the widget’s first child.
Returns the current focus child of widget.
Returns whether the widget should grab focus when it is clicked with the mouse.
Determines whether widget can own the input focus.
Gets the font map of widget.
Returns the cairo.font_options.FontOptions of widget.
Obtains the frame clock for a widget.
Gets the horizontal alignment of widget.
Returns the current value of the has-tooltip property.
Returns the content height of the widget.
Gets whether the widget would like any available extra horizontal space.
Gets whether gtk.widget.Widget.setHexpand has been used to explicitly set the expand flag on this widget.
Returns the widget’s last child.
Retrieves the layout manager used by widget.
Whether the widget is mapped.
Gets the bottom margin of widget.
Gets the end margin of widget.
Gets the start margin of widget.
Gets the top margin of widget.
Retrieves the name of a widget.
Returns the nearest gtk.native.Native ancestor of widget.
Returns the widget’s next sibling.
#Fetches the requested opacity for this widget.
Returns the widget’s overflow value.
Gets a pango.context.Context with the appropriate font map, font description, and base direction for this widget.
Returns the parent widget of widget.
Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.
Returns the widget’s previous sibling.
Gets the primary clipboard of widget.
Determines whether widget is realized.
Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
Returns the gtk.root.Root widget of widget.
Retrieves the internal scale factor that maps from window coordinates to the actual device pixels.
Returns the widget’s sensitivity.
Gets the settings object holding the settings used for this widget.
Returns the content width or height of the widget.
Gets the size request that was explicitly set for the widget using gtk.widget.Widget.setSizeRequest.
Returns the widget state as a flag set.
Returns the style context associated to widget.
Fetch an object build from the template XML for widget_type in this widget instance.
Gets the contents of the tooltip for widget.
Gets the contents of the tooltip for widget.
Gets the vertical alignment of widget.
Gets whether the widget would like any available extra vertical space.
Gets whether gtk.widget.Widget.setVexpand has been used to explicitly set the expand flag on this widget.
Determines whether the widget is visible.
Returns the content width of the widget.
Causes widget to have the keyboard focus for the gtk.window.Window it's inside.
Returns whether css_class is currently applied to widget.
Determines whether widget is the current default widget within its toplevel.
Determines if the widget has the global input focus.
Determines if the widget should show a visible indication that it has the global input focus.
Reverses the effects of gtk.widget.Widget.show.
Returns whether the widget is currently being destroyed.
Creates and initializes child widgets defined in templates.
Inserts group into widget.
Inserts widget into the child widget list of parent.
Inserts widget into the child widget list of parent.
Determines whether widget is somewhere inside ancestor, possibly with intermediate containers.
Determines whether widget can be drawn to.
Determines if the widget is the focus widget within its toplevel.
Returns the widget’s effective sensitivity.
Determines whether the widget and all its parents are marked as visible.
Emits the ::keynav-failed signal on the widget.
Returns the widgets for which this widget is the target of a mnemonic.
Causes a widget to be mapped if it isn’t already.
Measures widget in the orientation orientation and for the given for_size.
Emits the ::mnemonic-activate signal.
Returns a gio.list_model.ListModel to track the children of widget.
Returns a gio.list_model.ListModel to track the gtk.event_controller.EventControllers of widget.
Finds the descendant of widget closest to the point (x, y).
Flags the widget for a rerun of the vfuncGtk.Widget.size_allocate function.
Schedules this widget to be redrawn in the paint phase of the current or the next frame.
Flags a widget to have its size renegotiated.
Creates the GDK resources associated with a widget.
Removes controller from widget, so that it doesn't process events anymore.
Removes a style from widget.
Removes a widget from the list of mnemonic labels for this widget.
Removes a tick callback previously registered with gtk.widget.Widget.addTickCallback.
Specifies whether the input focus can enter the widget or any of its children.
Sets whether widget can be the target of pointer events.
Sets whether widget should be mapped along with its parent.
Clear all style classes applied to widget and replace them with classes.
Sets the cursor to be shown when pointer devices point towards widget.
Sets a named cursor to be shown when pointer devices point towards widget.
Sets the reading direction on a particular widget.
Set child as the current focus child of widget.
Sets whether the widget should grab focus when it is clicked with the mouse.
Specifies whether widget can own the input focus.
Sets the font map to use for Pango rendering.
Sets the cairo.font_options.FontOptions used for Pango rendering in this widget.
Sets the horizontal alignment of widget.
Sets the has-tooltip property on widget to has_tooltip.
Sets whether the widget would like any available extra horizontal space.
Sets whether the hexpand flag will be used.
Sets the layout manager delegate instance that provides an implementation for measuring and allocating the children of widget.
Sets the bottom margin of widget.
Sets the end margin of widget.
Sets the start margin of widget.
Sets the top margin of widget.
Sets a widgets name.
Request the widget to be rendered partially transparent.
Sets how widget treats content that is drawn outside the widget's content area.
Sets parent as the parent widget of widget.
Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
Sets the sensitivity of a widget.
Sets the minimum size of a widget.
Turns on flag values in the current widget state.
Sets markup as the contents of the tooltip, which is marked up with Pango markup.
Sets text as the contents of the tooltip.
Sets the vertical alignment of widget.
Sets whether the widget would like any available extra vertical space.
Sets whether the vexpand flag will be used.
Sets the visibility state of widget.
Returns whether widget should contribute to the measuring and allocation of its parent.
Flags a widget to be displayed.
Snapshot the a child of widget.
Translate coordinates relative to src_widget’s allocation to coordinates relative to dest_widget’s allocations.
Triggers a tooltip query on the display where the toplevel of widget is located.
Causes a widget to be unmapped if it’s currently mapped.
Dissociate widget from its parent.
Causes a widget to be unrealized (frees all GDK resources associated with the widget).
Turns off flag values for the current widget state.
Connect to Destroy signal.
Connect to DirectionChanged signal.
Connect to Hide signal.
Connect to KeynavFailed signal.
Connect to Map signal.
Connect to MnemonicActivate signal.
Connect to MoveFocus signal.
Connect to QueryTooltip signal.
Connect to Realize signal.
Connect to Show signal.
Connect to StateFlagsChanged signal.
Connect to Unmap signal.
Connect to Unrealize signal.
Gets the progress self will snap back to after the gesture is canceled.
Gets the swipe distance of self.
Gets the current progress of self.
Gets the snap points of self.
Gets the area self can start a swipe from for the given direction and gesture type.
A page-based navigation container.
<picture> <source srcset="navigation-view-dark.png" media="(prefers-color-scheme: dark)"> <img src="navigation-view.png" alt="navigation-view"> </picture>
adw.navigation_view.NavigationView presents one child at a time, similar to gtk.stack.Stack.
adw.navigation_view.NavigationView can only contain class@NavigationPage children.
It maintains a navigation stack that can be controlled with adw.navigation_view.NavigationView.push and adw.navigation_view.NavigationView.pop. The whole navigation stack can also be replaced using adw.navigation_view.NavigationView.replace.
adw.navigation_view.NavigationView allows to manage pages statically or dynamically.
Static pages can be added using the adw.navigation_view.NavigationView.add method. The adw.navigation_view.NavigationView will keep a reference to these pages, but they aren't accessible to the user until adw.navigation_view.NavigationView.push is called (except for the first page, which is pushed automatically). Use the adw.navigation_view.NavigationView.remove method to remove them. This is useful for applications that have a small number of unique pages and just need navigation between them.
Dynamic pages are automatically destroyed once they are popped off the navigation stack. To add a page like this, push it using the adw.navigation_view.NavigationView.push method without calling adw.navigation_view.NavigationView.add first.
Tags
Static pages, as well as any pages in the navigation stack, can be accessed by their property@NavigationPage:tag. For example, adw.navigation_view.NavigationView.pushByTag can be used to push a static page that's not in the navigation stack without having to keep a reference to it manually.
Header Bar Integration
When used inside adw.navigation_view.NavigationView, class@HeaderBar will automatically display a back button that can be used to go back to the previous page when possible. The button also has a context menu, allowing to pop multiple pages at once, potentially across multiple navigation views.
Set property@HeaderBar:show-back-button to FALSE to disable this behavior in rare scenarios where it's unwanted.
adw.header_bar.HeaderBar will also display the title of the adw.navigation_page.NavigationPage it's placed into, so most applications shouldn't need to customize it at all.
Shortcuts and Gestures
adw.navigation_view.NavigationView supports the following shortcuts for going to the previous page:
Additionally, it supports interactive gestures:
These gestures have transitions enabled regardless of the property@NavigationView:animate-transitions value.
Applications can also enable shortcuts for pushing another page onto the navigation stack via connecting to the signal@NavigationView::get-next-page signal, in that case the following shortcuts are supported:
For right-to-left locales, the gestures and shortcuts are reversed.
property@NavigationPage:can-pop can be used to disable them, along with the header bar back buttons.
Actions
adw.navigation_view.NavigationView defines actions for controlling the navigation stack. actions for controlling the navigation stack:
push, and is equivalent to calling adw.navigation_view.NavigationView.pushByTag.
the navigation stack, equivalent to calling adw.navigation_view.NavigationView.pop.
adw.navigation_view.NavigationView as gtk.buildable.Buildable
adw.navigation_view.NavigationView allows to add pages as children, equivalent to using the adw.navigation_view.NavigationView.add method.
Example of an adw.navigation_view.NavigationView UI definition:
<picture> <source srcset="navigation-view-example-dark.png" media="(prefers-color-scheme: dark)"> <img src="navigation-view-example.png" alt="navigation-view-example"> </picture>
CSS nodes
adw.navigation_view.NavigationView has a single CSS node with the name navigation-view.
Accessibility
adw.navigation_view.NavigationView uses the gtk.types.AccessibleRole.Group role.