use gtk::prelude::GtkWindowExt; use relm4::{gtk, ComponentParts, ComponentSender, SimpleComponent}; #[derive(Default)] struct App; #[relm4_macros::component] impl SimpleComponent for App { type Init = (); type Input = (); type Output = (); type Widgets = AppWidgets; view! { gtk::Window { set_title: Some("Simple app"), set_default_size: (300, 100), gtk::Box { gtk::Builder::from_string("") .object::("label") .unwrap() -> gtk::Label {}, }, } } fn init( _init: Self::Init, _root: Self::Root, _sender: ComponentSender, ) -> ComponentParts { let model = Self; let widgets = view_output!(); ComponentParts { model, widgets } } fn update(&mut self, _msg: Self::Input, _sender: ComponentSender) {} }