Trait relm::Update

source ·
pub trait Updatewhere
    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§


type Model

The type of the model.


type ModelParam: Sized

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


type Msg

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

Required Methods§


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

Create the initial model.


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

Method called when a message is received from an event.

Provided Methods§


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

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