ClampLayout#

class ClampLayout(**properties: Any)#

Superclasses: LayoutManager, Object

Implemented Interfaces: Orientable

A layout manager constraining its children to a given size.

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

AdwClampLayout constraints the size of the widgets it contains to a given maximum size. It will constrain the width if it is horizontal, or the height if it is vertical. The expansion of the children from their minimum to their maximum size is eased out for a smooth transition.

If a child requires more than the requested maximum size, it will be allocated the minimum size it can fit in instead.

AdwClampLayout can scale with the text scale factor, use the unit property to enable that behavior.

See also: Clamp, ClampScrollable.

Constructors#

class ClampLayout
classmethod new() LayoutManager#

Creates a new AdwClampLayout.

Methods#

class ClampLayout
get_maximum_size() int#

Gets the maximum size allocated to the children.

get_tightening_threshold() int#

Gets the size above which the children are clamped.

get_unit() LengthUnit#

Gets the length unit for maximum size and tightening threshold.

Added in version 1.4.

set_maximum_size(maximum_size: int) None#

Sets the maximum size allocated to the children.

It is the width if the layout is horizontal, or the height if it is vertical.

Parameters:

maximum_size – the maximum size

set_tightening_threshold(tightening_threshold: int) None#

Sets the size above which the children are clamped.

Starting from this size, the layout will tighten its grip on the children, slowly allocating less and less of the available size up to the maximum allocated size. Below that threshold and below the maximum size, the children will be allocated all the available size.

If the threshold is greater than the maximum size to allocate to the children, they will be allocated the whole size up to the maximum. If the threshold is lower than the minimum size to allocate to the children, that size will be used as the tightening threshold.

Effectively, tightening the grip on a child before it reaches its maximum size makes transitions to and from the maximum size smoother when resizing.

Parameters:

tightening_threshold – the tightening threshold

set_unit(unit: LengthUnit) None#

Sets the length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.

Added in version 1.4.

Parameters:

unit – the length unit

Properties#

class ClampLayout
props.maximum_size: int#

The type of the None singleton.

props.tightening_threshold: int#

The type of the None singleton.

props.unit: LengthUnit#

The type of the None singleton.

Added in version 1.4.