Struct cushy::widgets::Custom

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

A callback-based custom widget.

This type can be used to create inline widgets without defining a new type and implementing Widget/WrapperWidget for it.

Implementations§

source§

impl Custom

source

pub fn empty() -> Self

Returns a custom widget that has no child.

source

pub fn new(child: impl MakeWidget) -> Self

Returns a custom widget that contains child.

source

pub fn background_color(self, color: impl IntoValue<Color>) -> Self

Sets the background color of this widget to color and returns self.

If the color is set to a non-transparent value, it will be filled before any of the redraw callbacks are invoked.

This value coresponds to WrapperWidget::background_color.

source

pub fn on_redraw<Redraw>(self, redraw: Redraw) -> Self
where Redraw: Send + 'static + for<'context, 'clip, 'gfx, 'pass> FnMut(&mut GraphicsContext<'context, 'clip, 'gfx, 'pass>),

Sets redraw as the callback to invoke when redrawing this control.

If this control contains a child, its redraw function will be invoked after redraw is invoked. Use Self::on_redraw_after_child() to draw after the child widget.

This callback corresponds to WrapperWidget::redraw_background.

source

pub fn on_redraw_after_child<Redraw>(self, redraw: Redraw) -> Self
where Redraw: Send + 'static + for<'context, 'clip, 'gfx, 'pass> FnMut(&mut GraphicsContext<'context, 'clip, 'gfx, 'pass>),

Sets redraw as the callback to invoke when redrawing this control, after the child control has been redrawn.

If this control contains a child, its redraw function will be invoked before redraw is invoked. Use Self::on_redraw() to draw before the child widget.

redraw will be invoked regardless of whether a child is present.

This callback corresponds to WrapperWidget::redraw_foreground.

source

pub fn on_mounted<Mounted>(self, mounted: Mounted) -> Self
where Mounted: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Sets mounted to be invoked when this widget is mounted into a parent.

This callback corresponds to WrapperWidget::mounted.

source

pub fn on_unmounted<Mounted>(self, mounted: Mounted) -> Self
where Mounted: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Sets unmounted to be invoked when this widget is unmounted from its parent.

This callback corresponds to WrapperWidget::unmounted.

source

pub fn on_unhover<Unhover>(self, unhovered: Unhover) -> Self
where Unhover: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Invokes unhovered when the mouse cursor leaves the widget’s boundary.

This callback corresponds to WrapperWidget::unhover.

source

pub fn on_focus<Focused>(self, focus: Focused) -> Self
where Focused: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Invokes focus when the widget receives input focus.

This callback corresponds to WrapperWidget::focus.

source

pub fn on_blur<Blur>(self, blur: Blur) -> Self
where Blur: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Invokes blur when the widget loses input focus.

This callback corresponds to WrapperWidget::blur.

source

pub fn on_activate<Activated>(self, activated: Activated) -> Self
where Activated: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Invokes activated when this widget becomes the active widget.

This callback corresponds to WrapperWidget::activate.

source

pub fn on_deactivate<Deactivated>(self, deactivated: Deactivated) -> Self
where Deactivated: Send + 'static + for<'context> FnMut(&mut EventContext<'context>),

Invokes deactivated when this widget no longer is the active widget.

This callback corresponds to WrapperWidget::deactivate.

source

pub fn on_accept_focus<AcceptFocus>(self, accept: AcceptFocus) -> Self
where AcceptFocus: Send + 'static + for<'context> FnMut(&mut EventContext<'context>) -> bool,

Invokes accept when this widget is set to receive input focus. If this function returns true, this widget will become the focused widget.

This callback corresponds to WrapperWidget::accept_focus.

source

pub fn on_allow_blur<AllowBlur>(self, allow_blur: AllowBlur) -> Self
where AllowBlur: Send + 'static + for<'context> FnMut(&mut EventContext<'context>) -> bool,

Invokes allow_blur when this widget is about to lose focus. If allow_blur returns false, focus will be disallowed from leaving this widget.

This callback corresponds to WrapperWidget::allow_blur.

source

pub fn on_advance_focus<AdvanceFocus>(self, advance_focus: AdvanceFocus) -> Self
where AdvanceFocus: Send + 'static + for<'context> FnMut(VisualOrder, &mut EventContext<'context>) -> EventHandling,

Invokes advance_focus when this widget has focus and focus is requested to advance to another widget. Returning HANDLED will signal to Cushy that the focus has moved and the request should not be processed any further.

This callback corresponds to WrapperWidget::advance_focus.

source

pub fn on_adjust_child_constraints<AdjustChildConstraints>( self, adjust_child_constraints: AdjustChildConstraints ) -> Self
where AdjustChildConstraints: Send + 'static + for<'context, 'clip, 'gfx, 'pass> FnMut(Size<ConstraintLimit>, &mut LayoutContext<'context, 'clip, 'gfx, 'pass>) -> Size<ConstraintLimit>,

Invokes adjust_child_constraints before measuring the child widget. The returned constraints will be passed along to the child in its layout function.

This callback corresponds to WrapperWidget::adjust_child_constraints.

source

pub fn on_position_child<PositionChild>( self, position_child: PositionChild ) -> Self
where PositionChild: Send + 'static + for<'context, 'clip, 'gfx, 'pass> FnMut(Size<Px>, Size<ConstraintLimit>, &mut LayoutContext<'context, 'clip, 'gfx, 'pass>) -> WrappedLayout,

Invokes position_child to determine the position of a measured child.

This callback corresponds to WrapperWidget::position_child.

source

pub fn on_hit_test<HitTest>(self, hit_test: HitTest) -> Self
where HitTest: Send + 'static + for<'context> FnMut(Point<Px>, &mut EventContext<'context>) -> bool,

Invokes hit_test when determining if a location should be considered interacting with this widget.

This callback corresponds to WrapperWidget::hit_test.

source

pub fn on_hover<Hover>(self, hover: Hover) -> Self
where Hover: Send + 'static + for<'context> FnMut(Point<Px>, &mut EventContext<'context>) -> Option<CursorIcon>,

Invokes hover when a mouse cursor is above this widget.

This callback corresponds to WrapperWidget::hover.

source

pub fn on_mouse_down<MouseDown>(self, mouse_down: MouseDown) -> Self
where MouseDown: Send + 'static + for<'context> FnMut(Point<Px>, DeviceId, MouseButton, &mut EventContext<'context>) -> EventHandling,

Invokes mouse_down when a mouse button is pushed on a location where Self::on_hit_test returned true.

Returning HANDLED will set this widget as the handler for the DeviceId and MouseButton. Future mouse events for the same device and button will be sent to this widget’s Self::on_mouse_drag and Self::on_mouse_up callbacks.

This callback corresponds to WrapperWidget::mouse_down.

source

pub fn on_mouse_drag<MouseDrag>(self, mouse_drag: MouseDrag) -> Self
where MouseDrag: Send + 'static + for<'context> FnMut(Point<Px>, DeviceId, MouseButton, &mut EventContext<'context>),

Invokes mouse_drag when the mouse cursor moves while a tracked button is presed.

This callback corresponds to WrapperWidget::mouse_drag.

source

pub fn on_mouse_up<MouseUp>(self, mouse_up: MouseUp) -> Self
where MouseUp: Send + 'static + for<'context> FnMut(Option<Point<Px>>, DeviceId, MouseButton, &mut EventContext<'context>),

Invokes mouse_up when a tracked mouse button is released.

This callback corresponds to WrapperWidget::mouse_up.

source

pub fn on_ime<OnIme>(self, ime: OnIme) -> Self
where OnIme: Send + 'static + for<'context> FnMut(Ime, &mut EventContext<'context>) -> EventHandling,

Invokes ime when an input manager event occurs.

This callback corresponds to WrapperWidget::ime.

source

pub fn on_keyboard_input<KeyboardInput>( self, keyboard_input: KeyboardInput ) -> Self
where KeyboardInput: Send + 'static + for<'context> FnMut(DeviceId, KeyEvent, bool, &mut EventContext<'context>) -> EventHandling,

Invokes keyboard_input when a keyboard event occurs.

This callback corresponds to WrapperWidget::keyboard_input.

source

pub fn mouse_wheel<MouseWheel>(self, mouse_wheel: MouseWheel) -> Self
where MouseWheel: Send + 'static + for<'context> FnMut(DeviceId, MouseScrollDelta, TouchPhase, &mut EventContext<'context>) -> EventHandling,

Invokes mouse_wheel when a mouse wheel event occurs.

This callback corresponds to WrapperWidget::mouse_wheel.

Trait Implementations§

source§

impl Debug for Custom

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Custom

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl WrapperWidget for Custom

source§

fn child_mut(&mut self) -> &mut WidgetRef

Returns the child widget.
source§

fn redraw_background(&mut self, context: &mut GraphicsContext<'_, '_, '_, '_>)

Draws the background of the widget. Read more
source§

fn redraw_foreground(&mut self, context: &mut GraphicsContext<'_, '_, '_, '_>)

Draws the foreground of the widget. Read more
source§

fn adjust_child_constraints( &mut self, available_space: Size<ConstraintLimit>, context: &mut LayoutContext<'_, '_, '_, '_> ) -> Size<ConstraintLimit>

Returns the adjusted contraints to use when laying out the child.
source§

fn position_child( &mut self, size: Size<Px>, available_space: Size<ConstraintLimit>, context: &mut LayoutContext<'_, '_, '_, '_> ) -> WrappedLayout

Returns the layout after positioning the child that occupies size.
source§

fn background_color(&mut self, context: &WidgetContext<'_>) -> Option<Color>

Returns the background color to render behind the wrapped widget.
source§

fn mounted(&mut self, context: &mut EventContext<'_>)

The widget has been mounted into a parent widget.
source§

fn unmounted(&mut self, context: &mut EventContext<'_>)

The widget has been removed from its parent widget.
source§

fn hit_test( &mut self, location: Point<Px>, context: &mut EventContext<'_> ) -> bool

Returns true if this widget should respond to mouse input at location.
source§

fn hover( &mut self, location: Point<Px>, context: &mut EventContext<'_> ) -> Option<CursorIcon>

The widget is currently has a cursor hovering it at location.
source§

fn unhover(&mut self, context: &mut EventContext<'_>)

The widget is no longer being hovered.
source§

fn accept_focus(&mut self, context: &mut EventContext<'_>) -> bool

This widget has been targeted to be focused. If this function returns true, the widget will be focused. If false, Cushy will continue searching for another focus target.
source§

fn focus(&mut self, context: &mut EventContext<'_>)

The widget has received focus for user input.
source§

fn blur(&mut self, context: &mut EventContext<'_>)

The widget is no longer focused for user input.
source§

fn activate(&mut self, context: &mut EventContext<'_>)

The widget has become the active widget.
source§

fn deactivate(&mut self, context: &mut EventContext<'_>)

The widget is no longer active.
source§

fn mouse_down( &mut self, location: Point<Px>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_> ) -> EventHandling

A mouse button event has occurred at location. Returns whether the event has been handled or not. Read more
source§

fn mouse_drag( &mut self, location: Point<Px>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_> )

A mouse button is being held down as the cursor is moved across the widget.
source§

fn mouse_up( &mut self, location: Option<Point<Px>>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_> )

A mouse button is no longer being pressed.
source§

fn keyboard_input( &mut self, device_id: DeviceId, input: KeyEvent, is_synthetic: bool, context: &mut EventContext<'_> ) -> EventHandling

A keyboard event has been sent to this widget. Returns whether the event has been handled or not.
source§

fn ime(&mut self, ime: Ime, context: &mut EventContext<'_>) -> EventHandling

An input manager event has been sent to this widget. Returns whether the event has been handled or not.
source§

fn mouse_wheel( &mut self, device_id: DeviceId, delta: MouseScrollDelta, phase: TouchPhase, context: &mut EventContext<'_> ) -> EventHandling

A mouse wheel event has been sent to this widget. Returns whether the event has been handled or not.
source§

fn advance_focus( &mut self, direction: VisualOrder, context: &mut EventContext<'_> ) -> EventHandling

The widget should switch to the next focusable area within this widget, honoring direction in a consistent manner. Returning HANDLED will cause the search for the next focus widget stop.
source§

fn allow_blur(&mut self, context: &mut EventContext<'_>) -> bool

The widget is about to lose focus. Returning true allows the focus to switch away from this widget.
source§

fn summarize(&self, f: &mut Formatter<'_>) -> Result

Writes a summary of this widget into fmt. Read more
source§

fn root_behavior( &mut self, context: &mut EventContext<'_> ) -> Option<RootBehavior>

Returns the behavior this widget should apply when positioned at the root of the window.
source§

fn layout_child( &mut self, available_space: Size<ConstraintLimit>, context: &mut LayoutContext<'_, '_, '_, '_> ) -> WrappedLayout

Returns the rectangle that the child widget should occupy given available_space.

Auto Trait Implementations§

§

impl Freeze for Custom

§

impl !RefUnwindSafe for Custom

§

impl Send for Custom

§

impl !Sync for Custom

§

impl Unpin for Custom

§

impl !UnwindSafe for Custom

Blanket Implementations§

source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
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, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar> ) -> T

Converts self into C, using the provided parameters.
source§

impl<A> Cast for A

source§

fn cast<To>(self) -> To
where To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
source§

impl<A> CastFrom<A> for A

source§

fn from_cast(from: A) -> A

Returns from as Self.
source§

impl<A, B> CastInto<A> for B
where A: CastFrom<B>,

source§

fn cast_into(self) -> A

Returns self as To.
source§

impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromAngle<T> for T

source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoAngle<U> for T
where U: FromAngle<T>,

source§

fn into_angle(self) -> U

Performs a conversion into T.
source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar> ) -> T

Converts self into C, using the provided parameters.
source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> IntoReadOnly<T> for T

source§

fn into_read_only(self) -> ReadOnly<T>

Returns self as a ReadOnly.
source§

impl<T> IntoStimulus<T> for T

source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
source§

impl<T> IntoValue<Option<T>> for T

source§

fn into_value(self) -> Value<Option<T>>

Returns this type as a Value.
source§

impl<T> IntoValue<T> for T

source§

fn into_value(self) -> Value<T>

Returns this type as a Value.
source§

impl<T> MakeWidget for T

source§

fn make_widget(self) -> WidgetInstance

Returns a new widget.
source§

fn into_window(self) -> Window<WidgetInstance>

Returns a new window containing self as the root widget.
source§

fn build_virtual_window(self) -> CushyWindowBuilder

Returns a builder for a VirtualWindow.
source§

fn build_recorder(self) -> VirtualRecorderBuilder<Rgb8>

Returns a builder for a VirtualRecorder
source§

fn with_styles(self, styles: impl IntoValue<Styles>) -> Style
where Self: Sized,

Associates styles with this widget. Read more
source§

fn with<C: ComponentDefinition>( self, name: &C, component: impl IntoValue<C::ComponentType> ) -> Style

Associates a style component with self.
source§

fn with_dynamic<C: ComponentDefinition>( self, name: &C, dynamic: impl IntoDynamicComponentValue ) -> Style

Associates a style component with self, resolving its value using dynamic at runtime.
source§

fn h1(self) -> Style

Styles self with the largest of 6 heading styles.
source§

fn h2(self) -> Style

Styles self with the second largest of 6 heading styles.
source§

fn h3(self) -> Style

Styles self with the third largest of 6 heading styles.
source§

fn h4(self) -> Style

Styles self with the third smallest of 6 heading styles.
source§

fn h5(self) -> Style

Styles self with the second smallest of 6 heading styles.
source§

fn h6(self) -> Style

Styles self with the smallest of 6 heading styles.
source§

fn xxxx_large(self) -> Style

Styles self with the largest text size.
source§

fn xxx_large(self) -> Style

Styles self with the second largest text size.
source§

fn xx_large(self) -> Style

Styles self with the third largest text size.
source§

fn x_large(self) -> Style

Styles self with the fourth largest text size.
source§

fn large(self) -> Style

Styles self with the fifth largest text size.
source§

fn default_size(self) -> Style

Styles self with the third smallest text size.
source§

fn small(self) -> Style

Styles self with the second smallest text size.
source§

fn x_small(self) -> Style

Styles self with the smallest text size.
source§

fn with_next_focus( self, next_focus: impl IntoValue<Option<WidgetId>> ) -> WidgetInstance

Sets the widget that should be focused next. Read more
source§

fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance

Sets this widget to be enabled/disabled based on enabled and returns self. Read more
source§

fn into_default(self) -> WidgetInstance

Sets this widget as a “default” widget. Read more
source§

fn into_escape(self) -> WidgetInstance

Sets this widget as an “escape” widget. Read more
source§

fn and(self, other: impl MakeWidget) -> WidgetList

Returns a collection of widgets using self and other.
source§

fn expand(self) -> Expand

Expands self to grow to fill its parent.
source§

fn expand_weighted(self, weight: u8) -> Expand

Expands self to grow to fill its parent proportionally with other weighted siblings.
source§

fn expand_horizontally(self) -> Expand

Expands self to grow to fill its parent horizontally.
source§

fn expand_vertically(self) -> Expand

Expands self to grow to fill its parent vertically.
source§

fn size<T>(self, size: Size<T>) -> Resize
where T: Into<DimensionRange>,

Resizes self to size.
source§

fn width(self, width: impl Into<DimensionRange>) -> Resize

Resizes self to width. Read more
source§

fn height(self, height: impl Into<DimensionRange>) -> Resize

Resizes self to height. Read more
source§

fn into_button(self) -> Button

Returns this widget as the contents of a clickable button.
source§

fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox

Returns this widget as the label of a Checkbox.
source§

fn centered(self) -> Align

Aligns self to the center vertically and horizontally.
source§

fn align_left(self) -> Align

Aligns self to the left.
source§

fn align_right(self) -> Align

Aligns self to the right.
source§

fn align_top(self) -> Align

Aligns self to the top.
source§

fn align_bottom(self) -> Align

Aligns self to the bottom.
source§

fn fit_horizontally(self) -> Align

Fits self horizontally within its parent.
source§

fn fit_vertically(self) -> Align

Fits self vertically within its parent.
source§

fn scroll(self) -> Scroll

Allows scrolling self both vertically and horizontally.
source§

fn vertical_scroll(self) -> Scroll

Allows scrolling self vertically.
source§

fn horizontal_scroll(self) -> Scroll

Allows scrolling self horizontally.
source§

fn widget_ref(self) -> WidgetRef

Creates a WidgetRef for use as child widget.
source§

fn contain(self) -> Container

Wraps self in a Container.
source§

fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container

Wraps self in a Container with the specified level.
source§

fn background_color(self, color: impl IntoValue<Color>) -> Container

Returns a new widget that renders color behind self.
source§

fn pad(self) -> Container

Wraps self with the default padding.
source§

fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container

Wraps self with the specified padding.
source§

fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed

Applies theme to self and its children.
source§

fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode

Applies mode to self and its children.
source§

fn collapse_horizontally( self, collapse_when: impl IntoDynamic<bool> ) -> Collapse

Returns a widget that collapses self horizontally based on the dynamic boolean value. Read more
source§

fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse

Returns a widget that collapses self vertically based on the dynamic boolean value. Read more
source§

fn disclose(self) -> Disclose

Returns a new widget that allows hiding and showing contents.
source§

fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated

Returns a widget that shows validation errors and/or hints.
source§

fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped

Returns a widget that shows tip on layer when self is hovered.
source§

impl<T> MakeWidgetWithTag for T
where T: Widget,

source§

fn make_with_tag(self, id: WidgetTag) -> WidgetInstance

Returns a new WidgetInstance whose WidgetId comes from tag.
source§

impl<T> Open for T
where T: MakeWidget,

source§

fn open<App>( self, app: &mut App ) -> Result<Option<WindowHandle>, EventLoopError>
where App: Application + ?Sized,

Opens the provided type as a window inside of app.
source§

fn run_in(self, app: PendingApp) -> Result<(), EventLoopError>

Runs the provided type inside of the pending app, returning Ok(()) upon successful execution and program exit. Note that this function may not ever return on some platforms.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
source§

impl<T> Run for T
where T: MakeWidget,

source§

fn run(self) -> Result<(), EventLoopError>

Runs the provided type, returning Ok(()) upon successful execution and program exit. Note that this function may not ever return on some platforms.
source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
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.
source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
source§

impl<T> Widget for T
where T: WrapperWidget,

source§

fn root_behavior( &mut self, context: &mut EventContext<'_> ) -> Option<(RootBehavior, WidgetInstance)>

Returns a reference to a single child widget if this widget is a widget that primarily wraps a single other widget to customize its behavior.
source§

fn redraw(&mut self, context: &mut GraphicsContext<'_, '_, '_, '_>)

Redraw the contents of this widget.
source§

fn layout( &mut self, available_space: Size<ConstraintLimit>, context: &mut LayoutContext<'_, '_, '_, '_> ) -> Size<UPx>

Layout this widget and returns the ideal size based on its contents and the available_space.
source§

fn mounted(&mut self, context: &mut EventContext<'_>)

The widget has been mounted into a parent widget.
source§

fn unmounted(&mut self, context: &mut EventContext<'_>)

The widget has been removed from its parent widget.
source§

fn hit_test( &mut self, location: Point<Px>, context: &mut EventContext<'_> ) -> bool

Returns true if this widget should respond to mouse input at location.
source§

fn hover( &mut self, location: Point<Px>, context: &mut EventContext<'_> ) -> Option<CursorIcon>

The widget is currently has a cursor hovering it at location.
source§

fn unhover(&mut self, context: &mut EventContext<'_>)

The widget is no longer being hovered.
source§

fn accept_focus(&mut self, context: &mut EventContext<'_>) -> bool

This widget has been targeted to be focused. If this function returns true, the widget will be focused. If false, Cushy will continue searching for another focus target.
source§

fn focus(&mut self, context: &mut EventContext<'_>)

The widget has received focus for user input.
source§

fn blur(&mut self, context: &mut EventContext<'_>)

The widget is no longer focused for user input.
source§

fn activate(&mut self, context: &mut EventContext<'_>)

The widget has become the active widget.
source§

fn deactivate(&mut self, context: &mut EventContext<'_>)

The widget is no longer active.
source§

fn mouse_down( &mut self, location: Point<Px>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_> ) -> ControlFlow<EventHandled, EventIgnored>

A mouse button event has occurred at location. Returns whether the event has been handled or not. Read more
source§

fn mouse_drag( &mut self, location: Point<Px>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_> )

A mouse button is being held down as the cursor is moved across the widget.
source§

fn mouse_up( &mut self, location: Option<Point<Px>>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_> )

A mouse button is no longer being pressed.
source§

fn keyboard_input( &mut self, device_id: DeviceId, input: KeyEvent, is_synthetic: bool, context: &mut EventContext<'_> ) -> ControlFlow<EventHandled, EventIgnored>

A keyboard event has been sent to this widget. Returns whether the event has been handled or not.
source§

fn ime( &mut self, ime: Ime, context: &mut EventContext<'_> ) -> ControlFlow<EventHandled, EventIgnored>

An input manager event has been sent to this widget. Returns whether the event has been handled or not.
source§

fn mouse_wheel( &mut self, device_id: DeviceId, delta: MouseScrollDelta, phase: TouchPhase, context: &mut EventContext<'_> ) -> ControlFlow<EventHandled, EventIgnored>

A mouse wheel event has been sent to this widget. Returns whether the event has been handled or not.
source§

fn advance_focus( &mut self, direction: VisualOrder, context: &mut EventContext<'_> ) -> ControlFlow<EventHandled, EventIgnored>

The widget should switch to the next focusable area within this widget, honoring direction in a consistent manner. Returning HANDLED will cause the search for the next focus widget stop.
source§

fn allow_blur(&mut self, context: &mut EventContext<'_>) -> bool

The widget is about to lose focus. Returning true allows the focus to switch away from this widget.
source§

fn summarize(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Writes a summary of this widget into fmt. Read more
source§

fn full_control_redraw(&self) -> bool

Returns true if this widget handles all built-in style components that apply. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

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

source§

impl<T> WasmNotSend for T
where T: Send,