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§

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.

Implementors§