Leaflet#

Deprecated since version 1.4: See the migration guide

class Leaflet(**properties: Any)#

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Swipeable, Accessible, Buildable, ConstraintTarget, Orientable

An adaptive container acting like a box or a stack.

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/leaflet-narrow.png

The AdwLeaflet widget can display its children like a Box does or like a Stack does, adapting to size changes by switching between the two modes.

When there is enough space the children are displayed side by side, otherwise only one is displayed and the leaflet is said to be “folded”. The threshold is dictated by the preferred minimum sizes of the children. When a leaflet is folded, the children can be navigated using swipe gestures.

The “over” and “under” transition types stack the children one on top of the other, while the “slide” transition puts the children side by side. While navigating to a child on the side or below can be performed by swiping the current child away, navigating to an upper child requires dragging it from the edge where it resides. This doesn’t affect non-dragging swipes.

CSS nodes#

AdwLeaflet has a single CSS node with name leaflet. The node will get the style classes .folded when it is folded, .unfolded when it’s not, or none if it hasn’t computed its fold yet.

Constructors#

class Leaflet
classmethod new() Widget#

Creates a new AdwLeaflet.

Deprecated since version 1.4: See the migration guide

Methods#

class Leaflet
append(child: Widget) LeafletPage#

Adds a child to self.

Deprecated since version 1.4: See the migration guide

Parameters:

child – the widget to add

get_adjacent_child(direction: NavigationDirection) Widget | None#

Finds the previous or next navigatable child.

This will be the same child navigate or swipe gestures will navigate to.

If there’s no child to navigate to, NULL will be returned instead.

See navigatable.

Deprecated since version 1.4: See the migration guide

Parameters:

direction – the direction

get_can_navigate_back() bool#

Gets whether gestures and shortcuts for navigating backward are enabled.

Deprecated since version 1.4: See the migration guide

get_can_navigate_forward() bool#

Gets whether gestures and shortcuts for navigating forward are enabled.

Deprecated since version 1.4: See the migration guide

get_can_unfold() bool#

Gets whether self can unfold.

Deprecated since version 1.4: See the migration guide

get_child_by_name(name: str) Widget | None#

Finds the child of self with name.

Returns NULL if there is no child with this name.

See name.

Deprecated since version 1.4: See the migration guide

Parameters:

name – the name of the child to find

get_child_transition_params() SpringParams#

Gets the child transition spring parameters for self.

Deprecated since version 1.4: See the migration guide

get_child_transition_running() bool#

Gets whether a child transition is currently running for self.

Deprecated since version 1.4: See the migration guide

get_fold_threshold_policy() FoldThresholdPolicy#

Gets the fold threshold policy for self.

Deprecated since version 1.4: See the migration guide

get_folded() bool#

Gets whether self is folded.

The leaflet will be folded if the size allocated to it is smaller than the sum of the minimum or natural sizes of the children (see fold_threshold_policy), it will be unfolded otherwise.

Deprecated since version 1.4: See the migration guide

get_homogeneous() bool#

Gets whether self is homogeneous.

Deprecated since version 1.4: See the migration guide

get_mode_transition_duration() int#

Gets the mode transition animation duration for self.

Deprecated since version 1.4: See the migration guide

get_page(child: Widget) LeafletPage#

Returns the LeafletPage object for child.

Deprecated since version 1.4: See the migration guide

Parameters:

child – a child of self

get_pages() SelectionModel#

Returns a ListModel that contains the pages of the leaflet.

This can be used to keep an up-to-date view. The model also implements SelectionModel and can be used to track and change the visible page.

Deprecated since version 1.4: See the migration guide

get_transition_type() LeafletTransitionType#

Gets the type of animation used for transitions between modes and children.

Deprecated since version 1.4: See the migration guide

get_visible_child() Widget | None#

Gets the widget currently visible when the leaflet is folded.

Deprecated since version 1.4: See the migration guide

get_visible_child_name() str | None#

Gets the name of the currently visible child widget.

Deprecated since version 1.4: See the migration guide

insert_child_after(child: Widget, sibling: Widget | None = None) LeafletPage#

Inserts child in the position after sibling in the list of children.

If sibling is NULL, inserts child at the first position.

Deprecated since version 1.4: See the migration guide

Parameters:
  • child – the widget to insert

  • sibling – the sibling after which to insert child

navigate(direction: NavigationDirection) bool#

Navigates to the previous or next child.

The child must have the navigatable property set to TRUE, otherwise it will be skipped.

This will be the same child as returned by get_adjacent_child or navigated to via swipe gestures.

Deprecated since version 1.4: See the migration guide

Parameters:

direction – the direction

prepend(child: Widget) LeafletPage#

Inserts child at the first position in self.

Deprecated since version 1.4: See the migration guide

Parameters:

child – the widget to prepend

remove(child: Widget) None#

Removes a child widget from self.

Deprecated since version 1.4: See the migration guide

Parameters:

child – the child to remove

reorder_child_after(child: Widget, sibling: Widget | None = None) None#

Moves child to the position after sibling in the list of children.

If sibling is NULL, moves child to the first position.

Deprecated since version 1.4: See the migration guide

Parameters:
  • child – the widget to move, must be a child of self

  • sibling – the sibling to move child after

set_can_navigate_back(can_navigate_back: bool) None#

Sets whether gestures and shortcuts for navigating backward are enabled.

The supported gestures are:

  • One-finger swipe on touchscreens

  • Horizontal scrolling on touchpads (usually two-finger swipe)

  • Back/forward mouse buttons

The keyboard back/forward keys are also supported, as well as the Alt+:kbd: shortcut for horizontal orientation, or Alt+:kbd: for vertical orientation.

If the orientation is horizontal, for right-to-left locales, gestures and shortcuts are reversed.

Only children that have navigatable set to TRUE can be navigated to.

Deprecated since version 1.4: See the migration guide

Parameters:

can_navigate_back – the new value

set_can_navigate_forward(can_navigate_forward: bool) None#

Sets whether gestures and shortcuts for navigating forward are enabled.

The supported gestures are:

  • One-finger swipe on touchscreens

  • Horizontal scrolling on touchpads (usually two-finger swipe)

  • Back/forward mouse buttons

The keyboard back/forward keys are also supported, as well as the Alt+:kbd: shortcut for horizontal orientation, or Alt+:kbd: for vertical orientation.

If the orientation is horizontal, for right-to-left locales, gestures and shortcuts are reversed.

Only children that have navigatable set to TRUE can be navigated to.

Deprecated since version 1.4: See the migration guide

Parameters:

can_navigate_forward – the new value

set_can_unfold(can_unfold: bool) None#

Sets whether self can unfold.

Deprecated since version 1.4: See the migration guide

Parameters:

can_unfold – whether self can unfold

set_child_transition_params(params: SpringParams) None#

Sets the child transition spring parameters for self.

The default value is equivalent to:

adw_spring_params_new (1, 0.5, 500)

Deprecated since version 1.4: See the migration guide

Parameters:

params – the new parameters

set_fold_threshold_policy(policy: FoldThresholdPolicy) None#

Sets the fold threshold policy for self.

If set to ADW_FOLD_THRESHOLD_POLICY_MINIMUM, it will only fold when the children cannot fit anymore. With ADW_FOLD_THRESHOLD_POLICY_NATURAL, it will fold as soon as children don’t get their natural size.

This can be useful if you have a long ellipsizing label and want to let it ellipsize instead of immediately folding.

Deprecated since version 1.4: See the migration guide

Parameters:

policy – the policy to use

set_homogeneous(homogeneous: bool) None#

Sets self to be homogeneous or not.

If set to FALSE, different children can have different size along the opposite orientation.

Deprecated since version 1.4: See the migration guide

Parameters:

homogeneous – whether to make self homogeneous

set_mode_transition_duration(duration: int) None#

Sets the mode transition animation duration for self.

Deprecated since version 1.4: See the migration guide

Parameters:

duration – the new duration, in milliseconds

set_transition_type(transition: LeafletTransitionType) None#

Sets the type of animation used for transitions between modes and children.

The transition type can be changed without problems at runtime, so it is possible to change the animation based on the mode or child that is about to become current.

Deprecated since version 1.4: See the migration guide

Parameters:

transition – the new transition type

set_visible_child(visible_child: Widget) None#

Sets the widget currently visible when the leaflet is folded.

The transition is determined by transition_type and child_transition_params. The transition can be cancelled by the user, in which case visible child will change back to the previously visible child.

Deprecated since version 1.4: See the migration guide

Parameters:

visible_child – the new child

set_visible_child_name(name: str) None#

Makes the child with the name name visible.

See visible_child.

Deprecated since version 1.4: See the migration guide

Parameters:

name – the name of a child

Properties#

class Leaflet
props.can_navigate_back: bool#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.can_navigate_forward: bool#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.can_unfold: bool#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.child_transition_params: SpringParams#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.child_transition_running: bool#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.fold_threshold_policy: FoldThresholdPolicy#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.folded: bool#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.homogeneous: bool#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.mode_transition_duration: int#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.pages: SelectionModel#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.transition_type: LeafletTransitionType#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.visible_child: Widget#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide

props.visible_child_name: str#

The type of the None singleton.

Deprecated since version 1.4: See the migration guide