use gtk::{ glib::{ self, subclass::{ object::{ObjectImpl, ObjectImplExt}, types::ObjectSubclass, InitializingObject, }, Object, }, subclass::{ box_::BoxImpl, widget::{CompositeTemplateClass, CompositeTemplateInitializingExt, WidgetImpl}, }, }; glib::wrapper! { pub struct SchistCategoryTransfersView(ObjectSubclass) @extends gtk::Box, gtk::Widget, @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable; } impl SchistCategoryTransfersView { pub fn new() -> Self { Object::builder().build() } } #[derive(gtk::CompositeTemplate, Default)] #[template(resource = "/net/joeac/schist/ui/category_transfers_view.ui")] pub struct SchistCategoryTransfersViewImpl {} #[glib::object_subclass] impl ObjectSubclass for SchistCategoryTransfersViewImpl { const NAME: &'static str = "SchistCategoryTransfersView"; type Type = SchistCategoryTransfersView; type ParentType = gtk::Box; fn class_init(klass: &mut Self::Class) { klass.bind_template(); } fn instance_init(obj: &InitializingObject) { obj.init_template(); } } impl ObjectImpl for SchistCategoryTransfersViewImpl { fn constructed(&self) { self.parent_constructed(); } } impl WidgetImpl for SchistCategoryTransfersViewImpl {} impl BoxImpl for SchistCategoryTransfersViewImpl {}