Struct libbismuth::builders::HuggerBuilder

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

A builder-pattern type to construct Hugger objects.

Implementations§

source§

impl HuggerBuilder

source

pub fn allow_none(self, allow_none: bool) -> Self

Whether to allow squeezing beyond the last child’s minimum size.

If set to TRUE, the hugger can shrink to the point where no child can be shown. This is functionally equivalent to appending a widget with 0×0 minimum size.

source

pub fn homogeneous(self, homogeneous: bool) -> Self

Whether all children have the same size for the opposite orientation.

For example, if a hugger is horizontal and is homogeneous, it will request the same height for all its children. If it isn’t, the hugger may change size when a different child becomes visible.

source

pub fn interpolate_size(self, interpolate_size: bool) -> Self

Whether the hugger interpolates its size when changing the visible child.

If TRUE, the hugger will interpolate its size between the one of the previous visible child and the one of the new visible child, according to the set transition duration and the orientation, e.g. if the hugger is horizontal, it will interpolate the its height.

source

pub fn switch_threshold_policy( self, switch_threshold_policy: FoldThresholdPolicy, ) -> Self

The switch threshold policy.

Determines when the hugger will switch children.

If set to BIS_FOLD_THRESHOLD_POLICY_MINIMUM, it will only switch when the visible child cannot fit anymore. With BIS_FOLD_THRESHOLD_POLICY_NATURAL, it will switch as soon as the visible child doesn’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 switching.

source

pub fn transition_duration(self, transition_duration: u32) -> Self

The transition animation duration, in milliseconds.

source

pub fn transition_type(self, transition_type: HuggerTransitionType) -> Self

The type of animation used for transitions between children.

source

pub fn xalign(self, xalign: f32) -> Self

The horizontal alignment, from 0 (start) to 1 (end).

This affects the children allocation during transitions, when they exceed the size of the hugger.

For example, 0.5 means the child will be centered, 0 means it will keep the start side aligned and overflow the end side, and 1 means the opposite.

source

pub fn yalign(self, yalign: f32) -> Self

The vertical alignment, from 0 (top) to 1 (bottom).

This affects the children allocation during transitions, when they exceed the size of the hugger.

For example, 0.5 means the child will be centered, 0 means it will keep the top side aligned and overflow the bottom side, and 1 means the opposite.

source

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.

source

pub fn can_target(self, can_target: bool) -> Self

Whether the widget can receive pointer events.

source

pub fn css_classes(self, css_classes: impl Into<StrV>) -> Self

A list of css classes applied to this widget.

source

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.

source

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.

source

pub fn focusable(self, focusable: bool) -> Self

Whether this widget itself will accept the input focus.

source

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.

source

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.

source

pub fn hexpand(self, hexpand: bool) -> Self

Whether to expand horizontally.

source

pub fn hexpand_set(self, hexpand_set: bool) -> Self

Whether to use the hexpand property.

source

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.

source

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.

source

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.

source

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.

source

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.

source

pub fn name(self, name: impl Into<GString>) -> Self

The name of the widget.

source

pub fn opacity(self, opacity: f64) -> Self

The requested opacity of the widget.

source

pub fn receives_default(self, receives_default: bool) -> Self

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

source

pub fn sensitive(self, sensitive: bool) -> Self

Whether the widget responds to input.

source

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.

source

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.

source

pub fn vexpand(self, vexpand: bool) -> Self

Whether to expand vertically.

source

pub fn vexpand_set(self, vexpand_set: bool) -> Self

Whether to use the vexpand property.

source

pub fn visible(self, visible: bool) -> Self

Whether the widget is visible.

source

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.

source

pub fn build(self) -> Hugger

Build the Hugger.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.