diff --git a/resources/cards/settings/ui.xml b/resources/cards/setup/ui.xml similarity index 100% rename from resources/cards/settings/ui.xml rename to resources/cards/setup/ui.xml diff --git a/resources/guessing/settings/ui.xml b/resources/guessing/settings/ui.xml deleted file mode 100644 index e69de29..0000000 diff --git a/resources/guessing/setup/ui.xml b/resources/guessing/setup/ui.xml new file mode 100644 index 0000000..17f9098 --- /dev/null +++ b/resources/guessing/setup/ui.xml @@ -0,0 +1,16 @@ + + + + diff --git a/resources/resources.gresource.xml b/resources/resources.gresource.xml index 9ce30b4..47e71d5 100644 --- a/resources/resources.gresource.xml +++ b/resources/resources.gresource.xml @@ -1,14 +1,14 @@ - org.foxarmy.settings.gschema.xml menu/ui.xml guessing/game/ui.xml - - cards/settings/ui.xml + guessing/setup/ui.xml + cards/setup/ui.xml + widgets/labled_switch/template.ui.xml diff --git a/resources/widgets/labled_switch/template.ui.xml b/resources/widgets/labled_switch/template.ui.xml new file mode 100644 index 0000000..5930a6f --- /dev/null +++ b/resources/widgets/labled_switch/template.ui.xml @@ -0,0 +1,16 @@ + + + + diff --git a/src/labled_switch/imp.rs b/src/labled_switch/imp.rs index 3528085..c060ea1 100644 --- a/src/labled_switch/imp.rs +++ b/src/labled_switch/imp.rs @@ -1,22 +1,44 @@ -use gtk::glib; +use std::cell::RefCell; + +use glib::subclass::InitializingObject; +use glib::Properties; use gtk::subclass::prelude::*; +use gtk::{glib, prelude::*, CompositeTemplate, Label, Switch}; -// Object holding the state -#[derive(Default)] -pub struct LabledSwitch; +#[derive(CompositeTemplate, Properties, Default)] +#[properties(wrapper_type = super::LabledSwitch)] +#[template(resource = "/org/foxarmy/learn-hieroglyph/widgets/labled_switch/template.ui.xml")] +pub struct LabledSwitch { + #[template_child] + pub switch_obj: TemplateChild, + #[template_child] + pub label_obj: TemplateChild