Enum druid::LifeCycle

source ·
pub enum LifeCycle {
    WidgetAdded,
    Size(Size),
    DisabledChanged(bool),
    HotChanged(bool),
    BuildFocusChain,
    FocusChanged(bool),
    ViewContextChanged(ViewContext),
    Internal(InternalLifeCycle),
}
Expand description

Application life cycle events.

Unlike Events, LifeCycle events are generated by Druid, and may occur at different times during a given pass of the event loop. The LifeCycle::WidgetAdded event, for instance, may occur when the app first launches (during the handling of Event::WindowConnected) or it may occur during update cycle, if some widget has been added there.

Similarly the LifeCycle::Size method occurs during layout, and LifeCycle::HotChanged can occur both during event (if the mouse moves over a widget) or in response to LifeCycle::ViewContextChanged, if a widget is moved away from under the mouse.

Variants§

§

WidgetAdded

Sent to a Widget when it is added to the widget tree. This should be the first message that each widget receives.

Widgets should handle this event in order to do any initial setup.

In addition to setup, this event is also used by the framework to track certain types of important widget state.

Registering children

Container widgets (widgets which use WidgetPod to manage children) must ensure that this event is forwarded to those children. The WidgetPod itself will handle registering those children with the system; this is required for things like correct routing of events.

§

Size(Size)

Called when the Size of the widget changes.

This will be called after Widget::layout, if the Size returned by the widget differs from its previous size.

§

DisabledChanged(bool)

Called when the Disabled state of the widgets is changed.

To check if a widget is disabled, see is_disabled.

To change a widget’s disabled state, see set_disabled.

§

HotChanged(bool)

Called when the “hot” status changes.

This will always be called before the event that triggered it; that is, when the mouse moves over a widget, that widget will receive LifeCycle::HotChanged before it receives Event::MouseMove.

See is_hot for discussion about the hot status.

§

BuildFocusChain

This is called when the widget-tree changes and Druid wants to rebuild the Focus-chain.

It is the only place from which register_for_focus should be called. By doing so the widget can get focused by other widgets using focus_next or focus_prev.

§

FocusChanged(bool)

Called when the focus status changes.

This will always be called immediately after a new widget gains focus. The newly focused widget will receive this with true and the widget that lost focus will receive this with false.

See EventCtx::is_focused for more information about focus.

§

ViewContextChanged(ViewContext)

Called when the ViewContext of this widget changed.

See view_context_changed on how and when to request this event.

§

Internal(InternalLifeCycle)

Internal Druid lifecycle event.

This should always be passed down to descendant WidgetPods.

Implementations§

Whether this event should be sent to widgets which are currently not visible and not accessible.

If a widget changes which children are hidden it must call children_changed. For a more detailed explanation of the hidden state, see Event::should_propagate_to_hidden.

Returns an event for a widget which maybe is overlapped by another widget.

When ignore is set to true the widget will set its hot state to false even if the cursor is inside its bounds.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

Calls U::from(self).

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

Performs the conversion.
Performs the conversion.
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more