Trait ComponentController

Source
pub trait ComponentController<C: Component> {
    // Required methods
    fn sender(&self) -> &Sender<C::Input>;
    fn state(&self) -> &StateWatcher<C>;
    fn widget(&self) -> &C::Root;
    fn detach_runtime(&mut self);

    // Provided methods
    fn emit(&self, event: C::Input) { ... }
    fn model(&self) -> Ref<'_, C> { ... }
    fn widgets(&self) -> Ref<'_, C::Widgets> { ... }
}
Expand description

Shared behavior of component controller types.

Required Methods§

Source

fn sender(&self) -> &Sender<C::Input>

Provides access to the component’s sender.

Source

fn state(&self) -> &StateWatcher<C>

Provides access to the state of a component.

Source

fn widget(&self) -> &C::Root

Returns the root widget of the component.

Source

fn detach_runtime(&mut self)

Dropping this type will usually stop the runtime of the component. With this method you can give the runtime a static lifetime. In other words, dropping the controller or connector will not stop the runtime anymore, instead it will run until the app is closed.

Provided Methods§

Source

fn emit(&self, event: C::Input)

Emits an input to the component.

Examples found in repository?
examples/message_broker.rs (line 216)
210    fn update(&mut self, msg: Self::Input, _sender: ComponentSender<Self>) {
211        match msg {
212            AppMsg::SetMode(mode) => {
213                self.mode = mode;
214            }
215            AppMsg::ShowDialog => {
216                self.dialog.emit(DialogMsg::Show);
217            }
218        }
219    }
More examples
Hide additional examples
examples/components.rs (line 211)
205    fn update(&mut self, msg: Self::Input, _sender: ComponentSender<Self>) {
206        match msg {
207            AppMsg::SetMode(mode) => {
208                self.mode = mode;
209            }
210            AppMsg::CloseRequest => {
211                self.dialog.emit(DialogMsg::Show);
212            }
213            AppMsg::Close => {
214                relm4::main_application().quit();
215            }
216        }
217    }
Source

fn model(&self) -> Ref<'_, C>

Returns a reference to the Component.

Source

fn widgets(&self) -> Ref<'_, C::Widgets>

Returns a reference to the Component::Widgets.

Implementors§