Struct libbismuth::builders::LapelBuilder
source · pub struct LapelBuilder { /* private fields */ }
Expand description
A builder-pattern type to construct Lapel
objects.
Implementations§
source§impl LapelBuilder
impl LapelBuilder
sourcepub fn content(self, content: &impl IsA<Widget>) -> Self
pub fn content(self, content: &impl IsA<Widget>) -> Self
The content widget.
It’s always displayed when unfolded, and partially visible when folded.
sourcepub fn fold_duration(self, fold_duration: u32) -> Self
pub fn fold_duration(self, fold_duration: u32) -> Self
The fold transition animation duration, in milliseconds.
sourcepub fn fold_policy(self, fold_policy: LapelFoldPolicy) -> Self
pub fn fold_policy(self, fold_policy: LapelFoldPolicy) -> Self
The fold policy for the lapel.
sourcepub fn fold_threshold_policy(
self,
fold_threshold_policy: FoldThresholdPolicy,
) -> Self
pub fn fold_threshold_policy( self, fold_threshold_policy: FoldThresholdPolicy, ) -> Self
Determines when the lapel will fold.
If set to BIS_FOLD_THRESHOLD_POLICY_MINIMUM
, lapel will only fold when
the children cannot fit anymore. With BIS_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.
sourcepub fn lapel(self, lapel: &impl IsA<Widget>) -> Self
pub fn lapel(self, lapel: &impl IsA<Widget>) -> Self
The lapel widget.
It’s only visible when reveal-progress
is greater than 0.
sourcepub fn lapel_position(self, lapel_position: PackType) -> Self
pub fn lapel_position(self, lapel_position: PackType) -> Self
The lapel position.
If it’s set to GTK_PACK_START
, the lapel is displayed before the content,
if GTK_PACK_END
, it’s displayed after the content.
sourcepub fn locked(self, locked: bool) -> Self
pub fn locked(self, locked: bool) -> Self
Whether the lapel is locked.
If FALSE
, folding when the lapel is revealed automatically closes it, and
unfolding it when the lapel is not revealed opens it. If TRUE
,
reveal-lapel
value never changes on its own.
sourcepub fn modal(self, modal: bool) -> Self
pub fn modal(self, modal: bool) -> Self
Whether the lapel is modal.
If TRUE
, clicking the content widget while lapel is revealed, as well as
pressing the Esc key, will close the lapel. If FALSE
, clicks
are passed through to the content widget.
sourcepub fn reveal_lapel(self, reveal_lapel: bool) -> Self
pub fn reveal_lapel(self, reveal_lapel: bool) -> Self
Whether the lapel widget is revealed.
sourcepub fn reveal_params(self, reveal_params: &SpringParams) -> Self
pub fn reveal_params(self, reveal_params: &SpringParams) -> Self
The reveal animation spring parameters.
The default value is equivalent to:
⚠️ The following code is in c ⚠️
bis_spring_params_new (1, 0.5, 500)
sourcepub fn separator(self, separator: &impl IsA<Widget>) -> Self
pub fn separator(self, separator: &impl IsA<Widget>) -> Self
The separator widget.
It’s displayed between content and lapel when there’s no shadow to display.
When exactly it’s visible depends on the transition-type
value.
sourcepub fn swipe_to_close(self, swipe_to_close: bool) -> Self
pub fn swipe_to_close(self, swipe_to_close: bool) -> Self
Whether the lapel can be closed with a swipe gesture.
The area that can be swiped depends on the transition-type
value.
sourcepub fn swipe_to_open(self, swipe_to_open: bool) -> Self
pub fn swipe_to_open(self, swipe_to_open: bool) -> Self
Whether the lapel can be opened with a swipe gesture.
The area that can be swiped depends on the transition-type
value.
sourcepub fn transition_type(self, transition_type: LapelTransitionType) -> Self
pub fn transition_type(self, transition_type: LapelTransitionType) -> Self
the type of animation used for reveal and fold transitions.
lapel
is transparent by default, which means the content
will be seen through it with BIS_LAPEL_TRANSITION_TYPE_OVER
transitions;
add the .background
style class to it if
this is unwanted.
sourcepub fn can_focus(self, can_focus: bool) -> Self
pub fn can_focus(self, can_focus: bool) -> Self
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.
sourcepub fn can_target(self, can_target: bool) -> Self
pub fn can_target(self, can_target: bool) -> Self
Whether the widget can receive pointer events.
sourcepub fn css_classes(self, css_classes: impl Into<StrV>) -> Self
pub fn css_classes(self, css_classes: impl Into<StrV>) -> Self
A list of css classes applied to this widget.
sourcepub fn css_name(self, css_name: impl Into<GString>) -> Self
pub fn css_name(self, css_name: impl Into<GString>) -> Self
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.
sourcepub fn focus_on_click(self, focus_on_click: bool) -> Self
pub fn focus_on_click(self, focus_on_click: bool) -> Self
Whether the widget should grab focus when it is clicked with the mouse.
This property is only relevant for widgets that can take focus.
sourcepub fn focusable(self, focusable: bool) -> Self
pub fn focusable(self, focusable: bool) -> Self
Whether this widget itself will accept the input focus.
sourcepub fn has_tooltip(self, has_tooltip: bool) -> Self
pub fn has_tooltip(self, has_tooltip: bool) -> Self
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 [query-tooltip
][struct@crate::gtk::Widget#query-tooltip] to
determine whether it will provide a tooltip or not.
sourcepub fn height_request(self, height_request: i32) -> Self
pub fn height_request(self, height_request: i32) -> Self
Override for height request of the widget.
If this is -1, the natural request will be used.
sourcepub fn hexpand_set(self, hexpand_set: bool) -> Self
pub fn hexpand_set(self, hexpand_set: bool) -> Self
Whether to use the hexpand
property.
sourcepub fn layout_manager(self, layout_manager: &impl IsA<LayoutManager>) -> Self
pub fn layout_manager(self, layout_manager: &impl IsA<LayoutManager>) -> Self
The [gtk::LayoutManager
][crate::gtk::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.
sourcepub fn margin_bottom(self, margin_bottom: i32) -> Self
pub fn margin_bottom(self, margin_bottom: i32) -> Self
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
[WidgetExtManual::set_size_request()
][crate::gtk::prelude::WidgetExtManual::set_size_request()] for example.
sourcepub fn margin_end(self, margin_end: i32) -> Self
pub fn margin_end(self, margin_end: i32) -> Self
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
[WidgetExtManual::set_size_request()
][crate::gtk::prelude::WidgetExtManual::set_size_request()] for example.
sourcepub fn margin_start(self, margin_start: i32) -> Self
pub fn margin_start(self, margin_start: i32) -> Self
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
[WidgetExtManual::set_size_request()
][crate::gtk::prelude::WidgetExtManual::set_size_request()] for example.
sourcepub fn margin_top(self, margin_top: i32) -> Self
pub fn margin_top(self, margin_top: i32) -> Self
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
[WidgetExtManual::set_size_request()
][crate::gtk::prelude::WidgetExtManual::set_size_request()] for example.
sourcepub fn receives_default(self, receives_default: bool) -> Self
pub fn receives_default(self, receives_default: bool) -> Self
Whether the widget will receive the default action when it is focused.
sourcepub fn tooltip_markup(self, tooltip_markup: impl Into<GString>) -> Self
pub fn tooltip_markup(self, tooltip_markup: impl Into<GString>) -> Self
Sets the text of tooltip to be the given string, which is marked up with Pango markup.
Also see Gtk::Tooltip::set_markup()
.
This is a convenience property which will take care of getting the
tooltip shown if the given string is not None
:
[has-tooltip
][struct@crate::gtk::Widget#has-tooltip] will automatically be set to true
and there will be taken care of [query-tooltip
][struct@crate::gtk::Widget#query-tooltip] in
the default signal handler.
Note that if both [tooltip-text
][struct@crate::gtk::Widget#tooltip-text] and
[tooltip-markup
][struct@crate::gtk::Widget#tooltip-markup] are set, the last one wins.
sourcepub fn tooltip_text(self, tooltip_text: impl Into<GString>) -> Self
pub fn tooltip_text(self, tooltip_text: impl Into<GString>) -> Self
Sets the text of tooltip to be the given string.
Also see Gtk::Tooltip::set_text()
.
This is a convenience property which will take care of getting the
tooltip shown if the given string is not None
:
[has-tooltip
][struct@crate::gtk::Widget#has-tooltip] will automatically be set to true
and there will be taken care of [query-tooltip
][struct@crate::gtk::Widget#query-tooltip] in
the default signal handler.
Note that if both [tooltip-text
][struct@crate::gtk::Widget#tooltip-text] and
[tooltip-markup
][struct@crate::gtk::Widget#tooltip-markup] are set, the last one wins.
sourcepub fn vexpand_set(self, vexpand_set: bool) -> Self
pub fn vexpand_set(self, vexpand_set: bool) -> Self
Whether to use the vexpand
property.
sourcepub fn width_request(self, width_request: i32) -> Self
pub fn width_request(self, width_request: i32) -> Self
Override for width request of the widget.
If this is -1, the natural request will be used.