diff --git a/src/components/base/settingBox.rs b/src/components/base/settingBox.rs index 95fea43..bffe624 100644 --- a/src/components/base/settingBox.rs +++ b/src/components/base/settingBox.rs @@ -1,19 +1,21 @@ use crate::components::base::settingBoxImpl; use adw::glib; use adw::glib::{IsA, Object}; -use gtk::prelude::BoxExt; +use glib::subclass::prelude::ObjectSubclassIsExt; +use gtk::prelude::FrameExt; use gtk::Widget; glib::wrapper! { pub struct SettingBox(ObjectSubclass) - @extends gtk::Box, gtk::Widget, - @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable; + @extends gtk::Frame, gtk::Widget, + @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget; } impl SettingBox { - pub fn new(child: &impl IsA) -> Self { + pub fn new(child: &impl IsA, title: &str) -> Self { let entry: SettingBox = Object::builder().build(); - entry.append(child); + entry.set_child(Some(child)); + entry.imp().resetSettingLabel.set_text(title); entry } } \ No newline at end of file diff --git a/src/components/base/settingBoxImpl.rs b/src/components/base/settingBoxImpl.rs index da99683..e895ab5 100644 --- a/src/components/base/settingBoxImpl.rs +++ b/src/components/base/settingBoxImpl.rs @@ -1,17 +1,20 @@ -use gtk::{CompositeTemplate, glib}; +use gtk::{CompositeTemplate, glib, Label}; use gtk::subclass::prelude::*; use crate::components::base::settingBox; #[allow(non_snake_case)] #[derive(Default, CompositeTemplate)] #[template(resource = "/org/Xetibo/ReSet/resetSettingBox.ui")] -pub struct SettingBox {} +pub struct SettingBox { + #[template_child] + pub resetSettingLabel: TemplateChild