StateHandler

Trait StateHandler 

Source
pub trait StateHandler: Sized {
    type Model: Clone;
    type Message;
    type Input;
    type Output;

    // Required methods
    fn new(_link: HandlerLink<Self>) -> Self;
    fn state(&mut self) -> &mut Rc<Self::Model>;

    // Provided methods
    fn changed(&mut self) { ... }
    fn update(&mut self, _msg: Self::Message) -> Changed { ... }
    fn handle_input(&mut self, msg: Self::Input, _who: HandlerId) -> Changed { ... }
}
Expand description

Determines how state should be created, modified, and shared.

Required Associated Types§

Required Methods§

Source

fn new(_link: HandlerLink<Self>) -> Self

Create new state.

Source

fn state(&mut self) -> &mut Rc<Self::Model>

Return a reference to current state.

Provided Methods§

Source

fn changed(&mut self)

Called after state is changed.

Source

fn update(&mut self, _msg: Self::Message) -> Changed

Receive messages from components.

Source

fn handle_input(&mut self, msg: Self::Input, _who: HandlerId) -> Changed

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§