Class
AdwWrapLayout
since: 1.7
Description [src]
final class Adw.WrapLayout : Gtk.LayoutManager
implements Gtk.Orientable {
/* No available fields */
}
A box-like layout that can wrap into multiple lines.
AdwWrapLayout is similar to GtkBoxLayout, but can wrap lines when
the widgets cannot fit otherwise. Unlike GtkFlowBox, the children
aren’t arranged into a grid and behave more like words in a wrapping label.
Like GtkBoxLayout, AdwWrapLayout is orientable and has spacing:
AdwWrapLayout:child-spacingbetween children in the same line;AdwWrapLayout:line-spacingbetween lines.
Note
Unlike GtkBoxLayout, AdwWrapLayout cannot follow the CSS
border-spacing property.
Use the AdwWrapLayout:natural-line-length property to determine the
layout’s natural size, e.g. when using it in a GtkPopover.
Normally, a horizontal AdwWrapLayout wraps left to right and top to bottom
for left-to-right languages. Both of these directions can be reversed, using
the AdwWrapLayout:pack-direction and
AdwWrapLayout:wrap-reverse properties. Additionally, the alignment
of each line can be controlled with the AdwWrapLayout:align property.
Lines can be justified using the AdwWrapLayout:justify property,
filling the entire line by either increasing child size or spacing depending
on the value. Set AdwWrapLayout:justify-last-line to justify the last
line as well.
By default, AdwWrapLayout wraps as soon as the previous line cannot fit
any more children without shrinking them past their natural size. Set
AdwWrapLayout:wrap-policy to ADW_WRAP_MINIMUM to only
wrap once all the children in the previous line have been shrunk to their
minimum size.
To make each line take the same amount of space, set
AdwWrapLayout:line-homogeneous to TRUE.
Spacing and natural line length can scale with the text scale factor, use the
AdwWrapLayout:child-spacing-unit,
AdwWrapLayout:line-spacing-unit and/or
AdwWrapLayout:natural-line-length-unit properties to enable that behavior.
See AdwWrapBox.
Available since: 1.7
Instance methods
adw_wrap_layout_get_justify
Gets whether and how each complete line is stretched to fill the entire widget.
since: 1.7
adw_wrap_layout_get_justify_last_line
Gets whether the last line should be stretched to fill the entire widget.
since: 1.7
adw_wrap_layout_get_line_homogeneous
Gets whether all lines should take the same amount of space.
since: 1.7
adw_wrap_layout_set_justify
Sets whether and how each complete line should be stretched to fill the entire widget.
since: 1.7
adw_wrap_layout_set_justify_last_line
Sets whether the last line should be stretched to fill the entire widget.
since: 1.7
adw_wrap_layout_set_line_homogeneous
Sets whether all lines should take the same amount of space.
since: 1.7
adw_wrap_layout_set_natural_line_length_unit
Sets the length unit for natural line length.
since: 1.7
Methods inherited from GtkLayoutManager (6)
gtk_layout_manager_allocate
Assigns the given width, height, and baseline to a widget, and computes the position and sizes of the children of the widget using the layout management policy of manager.
gtk_layout_manager_get_layout_child
Retrieves a GtkLayoutChild instance for the GtkLayoutManager,
creating one if necessary.
gtk_layout_manager_get_request_mode
Retrieves the request mode of manager.
gtk_layout_manager_get_widget
Retrieves the GtkWidget using the given GtkLayoutManager.
gtk_layout_manager_layout_changed
Queues a resize on the GtkWidget using manager, if any.
gtk_layout_manager_measure
Measures the size of the widget using manager, for the given orientation and size.
Methods inherited from GtkOrientable (2)
gtk_orientable_get_orientation
Retrieves the orientation of the orientable.
gtk_orientable_set_orientation
Sets the orientation of the orientable.
Properties
Adw.WrapLayout:justify
Determines whether and how each complete line should be stretched to fill the entire widget.
since: 1.7
Adw.WrapLayout:justify-last-line
Whether the last line should be stretched to fill the entire widget.
since: 1.7
Properties inherited from GtkOrientable (1)
Gtk.Orientable:orientation
The orientation of the orientable.
Signals
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.