pub trait WidgetExt<T>: Widget<T> + Sized + 'staticwhere
    T: Data,{
Show 28 methods // Provided methods fn padding(self, insets: impl Into<KeyOrValue<Insets>>) -> Padding<T, Self> { ... } fn center(self) -> Align<T> { ... } fn align_left(self) -> Align<T> { ... } fn align_right(self) -> Align<T> { ... } fn align_vertical(self, align: UnitPoint) -> Align<T> { ... } fn align_horizontal(self, align: UnitPoint) -> Align<T> { ... } fn fix_width(self, width: impl Into<KeyOrValue<f64>>) -> SizedBox<T> { ... } fn fix_height(self, height: impl Into<KeyOrValue<f64>>) -> SizedBox<T> { ... } fn fix_size( self, width: impl Into<KeyOrValue<f64>>, height: impl Into<KeyOrValue<f64>> ) -> SizedBox<T> { ... } fn expand(self) -> SizedBox<T> { ... } fn expand_width(self) -> SizedBox<T> { ... } fn expand_height(self) -> SizedBox<T> { ... } fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T> { ... } fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T> { ... } fn border( self, color: impl Into<KeyOrValue<Color>>, width: impl Into<KeyOrValue<f64>> ) -> Container<T> { ... } fn env_scope(self, f: impl Fn(&mut Env, &T) + 'static) -> EnvScope<T, Self> { ... } fn controller<C>(self, controller: C) -> ControllerHost<Self, C> where C: Controller<T, Self> { ... } fn on_added( self, f: impl Fn(&mut Self, &mut LifeCycleCtx<'_, '_>, &T, &Env) + 'static ) -> ControllerHost<Self, Added<T, Self>> { ... } fn on_click( self, f: impl Fn(&mut EventCtx<'_, '_>, &mut T, &Env) + 'static ) -> ControllerHost<Self, Click<T>> { ... } fn debug_paint_layout(self) -> EnvScope<T, Self> { ... } fn debug_widget_id(self) -> EnvScope<T, Self> { ... } fn debug_invalidation(self) -> DebugInvalidation<T, Self> { ... } fn debug_widget(self) -> EnvScope<T, Self> { ... } fn lens<S, L>(self, lens: L) -> LensWrap<S, T, L, Self> where S: Data, L: Lens<S, T> { ... } fn with_id(self, id: WidgetId) -> IdentityWrapper<Self> { ... } fn boxed(self) -> Box<dyn Widget<T> + 'static, Global> { ... } fn scroll(self) -> Scroll<T, Self> { ... } fn disabled_if( self, disabled_if: impl Fn(&T, &Env) -> bool + 'static ) -> DisabledIf<T, Self> { ... }
}
Expand description

A trait that provides extra methods for combining Widgets.

Provided Methods§

fn padding(self, insets: impl Into<KeyOrValue<Insets>>) -> Padding<T, Self>

Wrap this widget in a Padding widget with the given Insets.

Like Padding::new, this can accept a variety of arguments, including a Key referring to Insets in the Env.

fn center(self) -> Align<T>

Wrap this widget in an Align widget, configured to center it.

fn align_left(self) -> Align<T>

Wrap this widget in an Align widget, configured to align left.

fn align_right(self) -> Align<T>

Wrap this widget in an Align widget, configured to align right.

fn align_vertical(self, align: UnitPoint) -> Align<T>

Wrap this widget in an Align widget, configured to align vertically.

fn align_horizontal(self, align: UnitPoint) -> Align<T>

Wrap this widget in an Align widget, configured to align horizontally.

fn fix_width(self, width: impl Into<KeyOrValue<f64>>) -> SizedBox<T>

Wrap this widget in a SizedBox with an explicit width.

fn fix_height(self, height: impl Into<KeyOrValue<f64>>) -> SizedBox<T>

Wrap this widget in a SizedBox with an explicit height.

fn fix_size( self, width: impl Into<KeyOrValue<f64>>, height: impl Into<KeyOrValue<f64>> ) -> SizedBox<T>

Wrap this widget in an SizedBox with an explicit width and height

fn expand(self) -> SizedBox<T>

Wrap this widget in a SizedBox with an infinite width and height.

Only call this method if you want your widget to occupy all available space. If you only care about expanding in one of width or height, use expand_width or expand_height instead.

fn expand_width(self) -> SizedBox<T>

Wrap this widget in a SizedBox with an infinite width.

This will force the child to use all available space on the x-axis.

fn expand_height(self) -> SizedBox<T>

Wrap this widget in a SizedBox with an infinite width.

This will force the child to use all available space on the y-axis.

fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>

Wrap this widget in a Container with the provided background brush.

See Container::background for more information.

fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>

Wrap this widget in a Container with the provided foreground brush.

See Container::foreground for more information.

fn border( self, color: impl Into<KeyOrValue<Color>>, width: impl Into<KeyOrValue<f64>> ) -> Container<T>

Wrap this widget in a Container with the given border.

Arguments can be either concrete values, or a Key of the respective type.

fn env_scope(self, f: impl Fn(&mut Env, &T) + 'static) -> EnvScope<T, Self>

Wrap this widget in a EnvScope widget, modifying the parent Env with the provided closure.

fn controller<C>(self, controller: C) -> ControllerHost<Self, C>where C: Controller<T, Self>,

Wrap this widget with the provided Controller.

fn on_added( self, f: impl Fn(&mut Self, &mut LifeCycleCtx<'_, '_>, &T, &Env) + 'static ) -> ControllerHost<Self, Added<T, Self>>

Provide a closure that will be called when this widget is added to the widget tree.

You can use this to perform any initial setup.

This is equivalent to handling the LifeCycle::WidgetAdded event in a custom Controller.

fn on_click( self, f: impl Fn(&mut EventCtx<'_, '_>, &mut T, &Env) + 'static ) -> ControllerHost<Self, Click<T>>

Control the events of this widget with a Click widget. The closure provided will be called when the widget is clicked with the left mouse button.

The child widget will also be updated on LifeCycle::HotChanged and mouse down, which can be useful for painting based on ctx.is_active() and ctx.is_hot().

fn debug_paint_layout(self) -> EnvScope<T, Self>

Draw the layout Rects of this widget and its children.

fn debug_widget_id(self) -> EnvScope<T, Self>

Display the WidgetIds for this widget and its children, when hot.

When this is true, widgets that are hot (are under the mouse cursor) will display their ids in their bottom right corner.

These ids may overlap; in this case the id of a child will obscure the id of its parent.

fn debug_invalidation(self) -> DebugInvalidation<T, Self>

Draw a color-changing rectangle over this widget, allowing you to see the invalidation regions.

fn debug_widget(self) -> EnvScope<T, Self>

Set the DEBUG_WIDGET env variable for this widget (and its descendants).

This does nothing by default, but you can use this variable while debugging to only print messages from particular instances of a widget.

fn lens<S, L>(self, lens: L) -> LensWrap<S, T, L, Self>where S: Data, L: Lens<S, T>,

Wrap this widget in a LensWrap widget for the provided Lens.

fn with_id(self, id: WidgetId) -> IdentityWrapper<Self>

Assign the widget a specific WidgetId.

You must ensure that a given WidgetId is only ever used for a single widget at a time.

An id may be reused over time; for instance if you replace one widget with another, you may reuse the first widget’s id.

fn boxed(self) -> Box<dyn Widget<T> + 'static, Global>

Wrap this widget in a Box.

fn scroll(self) -> Scroll<T, Self>

Wrap this widget in a Scroll widget.

fn disabled_if( self, disabled_if: impl Fn(&T, &Env) -> bool + 'static ) -> DisabledIf<T, Self>

Wrap this widget in a DisabledIf widget.

The provided closure will determine if the widget is disabled. See is_disabled or set_disabled for more info about disabled state.

Implementors§

§

impl<T, W> WidgetExt<T> for Wwhere T: Data, W: Widget<T> + 'static,