App template

use gtk::prelude::{WidgetExt}; use relm4::*; struct AppComponents { component: RelmComponent<ComponentModel, AppModel>, } impl Components<AppModel> for AppComponents { fn init_components( parent_model: &AppModel, parent_sender: Sender<AppMsg>, ) -> Self { AppComponents { component: RelmComponent::new(parent_model, parent_sender.clone()), } } } enum AppMsg { } struct AppModel { } impl Model for AppModel { type Msg = AppMsg; type Widgets = AppWidgets; type Components = AppComponents; } impl AppUpdate for AppModel { fn update(&mut self, msg: AppMsg, components: &AppComponents, sender: Sender<AppMsg>) -> bool { match msg { } true } } #[relm4::widget] impl Widgets<AppModel, ()> for AppWidgets { view! { main_window = gtk::ApplicationWindow { } } } fn main() { let model = AppModel { }; let relm = RelmApp::new(model); relm.run(); }