Struct gtk::LabelBuilder [−][src]
pub struct LabelBuilder { /* fields omitted */ }
Expand description
A builder-pattern type to construct Label
objects.
Implementations
Create a new LabelBuilder
.
The angle that the baseline of the label makes with the horizontal, in degrees, measured counterclockwise. An angle of 90 reads from from bottom to top, an angle of 270, from top to bottom. Ignored if the label is selectable.
The preferred place to ellipsize the string, if the label does
not have enough room to display the entire string, specified as a
pango::EllipsizeMode
.
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 Notebook
tab-expand child property is set to true
. Other ways
to set a label’s width are WidgetExt::set_size_request()
and
LabelExt::set_width_chars()
.
The contents of the label.
If the string contains [Pango XML markup][PangoMarkupFormat], 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 LabelExt::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][label-text-layout]
for details of how property::Label::width-chars
and property::Label::max-width-chars
determine the width of ellipsized and wrapped labels.
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.
Set this property to true
to make the label track which links
have been visited. It will then apply the StateFlags::VISITED
when rendering this link, in addition to StateFlags::LINK
.
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][label-text-layout]
for details of how property::Label::width-chars
and property::Label::max-width-chars
determine the width of ellipsized and wrapped labels.
If line wrapping is on (see the property::Label::wrap
property) this controls
how the line wrapping is done. The default is pango::WrapMode::Word
, which
means wrap on word boundaries.
The xalign property determines the horizontal aligment of the label text
inside the labels 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 yalign property determines the vertical aligment of the label text
inside the labels 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 to expand in both directions. Setting this sets both property::Widget::hexpand
and property::Widget::vexpand
This is supported on crate feature v3_20
only.
v3_20
only.Whether the widget should grab focus when it is clicked with the mouse.
This property is only relevant for widgets that can take focus.
Before 3.20, several widgets (GtkButton, GtkFileChooserButton, GtkComboBox) implemented this property individually.
How to distribute horizontal space if widget gets extra space, see Align
Enables or disables the emission of signal::Widget::query-tooltip
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.
Note that setting this property to true
for the first time will change
the event masks of the GdkWindows of this widget to include leave-notify
and motion-notify events. This cannot and will not be undone when the
property is set to false
again.
Whether to expand horizontally. See WidgetExt::set_hexpand()
.
Whether to use the property::Widget::hexpand
property. See WidgetExt::is_hexpand_set()
.
Sets all four sides’ margin at once. If read, returns max margin on any side.
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 requested opacity of the widget. See WidgetExt::set_opacity()
for
more details about window opacity.
Before 3.8 this was only available in GtkWindow
Sets the text of tooltip to be the given string, which is marked up
with the [Pango text markup language][PangoMarkupFormat].
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, see Align
Whether to expand vertically. See WidgetExt::set_vexpand()
.
Whether to use the property::Widget::vexpand
property. See WidgetExt::is_vexpand_set()
.
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for LabelBuilder
impl !Send for LabelBuilder
impl !Sync for LabelBuilder
impl Unpin for LabelBuilder
impl UnwindSafe for LabelBuilder
Blanket Implementations
Mutably borrows from an owned value. Read more