Struct gtk4::builders::LabelBuilder

source ·
pub struct LabelBuilder { /* private fields */ }
Expand description

A builder-pattern type to construct Label objects.

Implementations§

Create a new LabelBuilder.

Build the Label.

A list of style attributes to apply to the text of the label.

The preferred place to ellipsize the string, if the label does not have enough room to display the entire string.

Note that setting this property to a value other than pango::EllipsizeMode::None has the side-effect that the label requests only enough space to display the ellipsis “…”. In particular, this means that ellipsizing labels do not work well in notebook tabs, unless the property::NotebookPage::tab-expand child property is set to true. Other ways to set a label’s width are WidgetExt::set_size_request() and Label::set_width_chars().

A menu model whose contents will be appended to the context menu.

The alignment of the lines in the text of the label, relative to each other.

This does not affect the alignment of the label within its allocation. See property::Label::xalign for that.

The contents of the label.

If the string contains Pango markup (see parse_markup()), you will have to set the property::Label::use-markup property to true in order for the label to display the markup attributes. See also Label::set_markup() for a convenience function that sets both this property and the property::Label::use-markup property at the same time.

If the string contains underlines acting as mnemonics, you will have to set the property::Label::use-underline property to true in order for the label to display them.

The number of lines to which an ellipsized, wrapping label should be limited.

This property has no effect if the label is not wrapping or ellipsized. Set this property to -1 if you don’t want to limit the number of lines.

The desired maximum width of the label, in characters.

If this property is set to -1, the width will be calculated automatically.

See the section on text layout for details of how property::Label::width-chars and property::Label::max-width-chars determine the width of ellipsized and wrapped labels.

The widget to be activated when the labels mnemonic key is pressed.

Available on crate feature v4_6 only.

Select the line wrapping for the natural size request.

This only affects the natural size requested. For the actual wrapping used, see the property::Label::wrap-mode property.

The default is NaturalWrapMode::Inherit, which inherits the behavior of the property::Label::wrap-mode property.

Whether the label text can be selected with the mouse.

Whether the label is in single line mode.

In single line mode, the height of the label does not depend on the actual text, it is always set to ascent + descent of the font. This can be an advantage in situations where resizing the label because of text changes would be distracting, e.g. in a statusbar.

Available on crate feature v4_8 only.

Custom tabs for this label.

true if the text of the label includes Pango markup.

See parse_markup().

true if the text of the label indicates a mnemonic with _.

The desired width of the label, in characters.

If this property is set to -1, the width will be calculated automatically.

See the section on text layout for details of how property::Label::width-chars and property::Label::max-width-chars determine the width of ellipsized and wrapped labels.

true if the label text will wrap if it gets too wide.

Controls how the line wrapping is done.

This only affects the formatting if line wrapping is on (see the property::Label::wrap property). The default is pango::WrapMode::Word, which means wrap on word boundaries.

For sizing behavior, also consider the property::Label::natural-wrap-mode property.

The horizontal alignment of the label text inside its size allocation.

Compare this to property::Widget::halign, which determines how the labels size allocation is positioned in the space available for the label.

The vertical alignment of the label text inside its size allocation.

Compare this to property::Widget::valign, which determines how the labels size allocation is positioned in the space available for the label.

Whether the widget or any of its descendents can accept the input focus.

This property is meant to be set by widget implementations, typically in their instance init function.

Whether the widget can receive pointer events.

A list of css classes applied to this widget.

The name of this widget in the CSS tree.

This property is meant to be set by widget implementations, typically in their instance init function.

The cursor used by @widget.

Whether the widget should grab focus when it is clicked with the mouse.

This property is only relevant for widgets that can take focus.

Whether this widget itself will accept the input focus.

How to distribute horizontal space if widget gets extra space.

Enables or disables the emission of the ::query-tooltip signal on @widget.

A value of true indicates that @widget can have a tooltip, in this case the widget will be queried using signal::Widget::query-tooltip to determine whether it will provide a tooltip or not.

Override for height request of the widget.

If this is -1, the natural request will be used.

Whether to expand horizontally.

Whether to use the hexpand property.

The LayoutManager instance to use to compute the preferred size of the widget, and allocate its children.

This property is meant to be set by widget implementations, typically in their instance init function.

Margin on bottom side of widget.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from WidgetExt::set_size_request() for example.

Margin on end of widget, horizontally.

This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from WidgetExt::set_size_request() for example.

Margin on start of widget, horizontally.

This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from WidgetExt::set_size_request() for example.

Margin on top side of widget.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from WidgetExt::set_size_request() for example.

The name of the widget.

The requested opacity of the widget.

How content outside the widget’s content area is treated.

This property is meant to be set by widget implementations, typically in their instance init function.

Whether the widget will receive the default action when it is focused.

Whether the widget responds to input.

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

Also see Tooltip::set_markup().

This is a convenience property which will take care of getting the tooltip shown if the given string is not None: property::Widget::has-tooltip will automatically be set to true and there will be taken care of signal::Widget::query-tooltip in the default signal handler.

Note that if both property::Widget::tooltip-text and property::Widget::tooltip-markup are set, the last one wins.

Sets the text of tooltip to be the given string.

Also see Tooltip::set_text().

This is a convenience property which will take care of getting the tooltip shown if the given string is not None: property::Widget::has-tooltip will automatically be set to true and there will be taken care of signal::Widget::query-tooltip in the default signal handler.

Note that if both property::Widget::tooltip-text and property::Widget::tooltip-markup are set, the last one wins.

How to distribute vertical space if widget gets extra space.

Whether to expand vertically.

Whether to use the vexpand property.

Whether the widget is visible.

Override for width request of the widget.

If this is -1, the natural request will be used.

The accessible role of the given Accessible implementation.

The accessible role cannot be changed once set.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.