use glib::subclass::InitializingObject; use gtk::subclass::prelude::*; use gtk::{glib, Button, CompositeTemplate}; #[derive(CompositeTemplate, Default)] #[template(resource = "/org/foxarmy/learn-hieroglyph/cards/setup/ui.xml")] pub struct MemoryCardsSetupScene { #[template_child] pub edit_button: TemplateChild<Button>, #[template_child] pub start_button: TemplateChild<Button>, #[template_child] pub back_button: TemplateChild<Button>, } #[glib::object_subclass] impl ObjectSubclass for MemoryCardsSetupScene { const NAME: &'static str = "MemoryCardsSetupScene"; type Type = super::MemoryCardsSetupScene; type ParentType = gtk::ApplicationWindow; fn class_init(klass: &mut Self::Class) { klass.bind_template(); } fn instance_init(obj: &InitializingObject<Self>) { obj.init_template(); } } impl ObjectImpl for MemoryCardsSetupScene { fn constructed(&self) { self.parent_constructed(); } } impl WidgetImpl for MemoryCardsSetupScene {} impl WindowImpl for MemoryCardsSetupScene {} impl ApplicationWindowImpl for MemoryCardsSetupScene {}