Trait Update

Source
pub trait Update
where Self: Sized, Self::Msg: DisplayVariant,
{ type Model; type ModelParam: Sized; type Msg; // Required methods fn model(relm: &Relm<Self>, param: Self::ModelParam) -> Self::Model; fn update(&mut self, event: Self::Msg); // Provided method fn subscriptions(&mut self, _relm: &Relm<Self>) { ... } }
Expand description

Trait for a basic (non-widget) component. A component has a model (data) associated with it and can mutate it when it receives a message (in the update() method).

Required Associated Types§

Source

type Model

The type of the model.

Source

type ModelParam: Sized

The type of the parameter of the model() function used to initialize the model.

Source

type Msg

The type of the messages sent to the update() method.

Required Methods§

Source

fn model(relm: &Relm<Self>, param: Self::ModelParam) -> Self::Model

Create the initial model.

Source

fn update(&mut self, event: Self::Msg)

Method called when a message is received from an event.

Provided Methods§

Source

fn subscriptions(&mut self, _relm: &Relm<Self>)

Connect the subscriptions. Subscriptions are Future/Stream that are spawn when the object is created.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§