libpanel/auto/
layered_settings.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{
8    object::ObjectType as _,
9    prelude::*,
10    signal::{connect_raw, SignalHandlerId},
11    translate::*,
12};
13use std::boxed::Box as Box_;
14
15glib::wrapper! {
16    #[doc(alias = "PanelLayeredSettings")]
17    pub struct LayeredSettings(Object<ffi::PanelLayeredSettings, ffi::PanelLayeredSettingsClass>);
18
19    match fn {
20        type_ => || ffi::panel_layered_settings_get_type(),
21    }
22}
23
24impl LayeredSettings {
25    #[doc(alias = "panel_layered_settings_new")]
26    pub fn new(schema_id: &str, path: &str) -> LayeredSettings {
27        assert_initialized_main_thread!();
28        unsafe {
29            from_glib_full(ffi::panel_layered_settings_new(
30                schema_id.to_glib_none().0,
31                path.to_glib_none().0,
32            ))
33        }
34    }
35
36    #[doc(alias = "panel_layered_settings_append")]
37    pub fn append(&self, settings: &impl IsA<gio::Settings>) {
38        unsafe {
39            ffi::panel_layered_settings_append(
40                self.to_glib_none().0,
41                settings.as_ref().to_glib_none().0,
42            );
43        }
44    }
45
46    #[doc(alias = "panel_layered_settings_get_boolean")]
47    #[doc(alias = "get_boolean")]
48    pub fn is_boolean(&self, key: &str) -> bool {
49        unsafe {
50            from_glib(ffi::panel_layered_settings_get_boolean(
51                self.to_glib_none().0,
52                key.to_glib_none().0,
53            ))
54        }
55    }
56
57    #[doc(alias = "panel_layered_settings_get_default_value")]
58    #[doc(alias = "get_default_value")]
59    pub fn default_value(&self, key: &str) -> glib::Variant {
60        unsafe {
61            from_glib_full(ffi::panel_layered_settings_get_default_value(
62                self.to_glib_none().0,
63                key.to_glib_none().0,
64            ))
65        }
66    }
67
68    #[doc(alias = "panel_layered_settings_get_double")]
69    #[doc(alias = "get_double")]
70    pub fn double(&self, key: &str) -> f64 {
71        unsafe {
72            ffi::panel_layered_settings_get_double(self.to_glib_none().0, key.to_glib_none().0)
73        }
74    }
75
76    #[doc(alias = "panel_layered_settings_get_int")]
77    #[doc(alias = "get_int")]
78    pub fn int(&self, key: &str) -> i32 {
79        unsafe { ffi::panel_layered_settings_get_int(self.to_glib_none().0, key.to_glib_none().0) }
80    }
81
82    #[doc(alias = "panel_layered_settings_get_key")]
83    #[doc(alias = "get_key")]
84    pub fn key(&self, key: &str) -> gio::SettingsSchemaKey {
85        unsafe {
86            from_glib_full(ffi::panel_layered_settings_get_key(
87                self.to_glib_none().0,
88                key.to_glib_none().0,
89            ))
90        }
91    }
92
93    #[doc(alias = "panel_layered_settings_get_string")]
94    #[doc(alias = "get_string")]
95    pub fn string(&self, key: &str) -> glib::GString {
96        unsafe {
97            from_glib_full(ffi::panel_layered_settings_get_string(
98                self.to_glib_none().0,
99                key.to_glib_none().0,
100            ))
101        }
102    }
103
104    #[doc(alias = "panel_layered_settings_get_uint")]
105    #[doc(alias = "get_uint")]
106    pub fn uint(&self, key: &str) -> u32 {
107        unsafe { ffi::panel_layered_settings_get_uint(self.to_glib_none().0, key.to_glib_none().0) }
108    }
109
110    #[doc(alias = "panel_layered_settings_get_user_value")]
111    #[doc(alias = "get_user_value")]
112    pub fn user_value(&self, key: &str) -> Option<glib::Variant> {
113        unsafe {
114            from_glib_full(ffi::panel_layered_settings_get_user_value(
115                self.to_glib_none().0,
116                key.to_glib_none().0,
117            ))
118        }
119    }
120
121    #[doc(alias = "panel_layered_settings_get_value")]
122    #[doc(alias = "get_value")]
123    pub fn value(&self, key: &str) -> glib::Variant {
124        unsafe {
125            from_glib_full(ffi::panel_layered_settings_get_value(
126                self.to_glib_none().0,
127                key.to_glib_none().0,
128            ))
129        }
130    }
131
132    #[doc(alias = "panel_layered_settings_list_keys")]
133    pub fn list_keys(&self) -> Vec<glib::GString> {
134        unsafe {
135            FromGlibPtrContainer::from_glib_full(ffi::panel_layered_settings_list_keys(
136                self.to_glib_none().0,
137            ))
138        }
139    }
140
141    #[doc(alias = "panel_layered_settings_set_boolean")]
142    pub fn set_boolean(&self, key: &str, val: bool) {
143        unsafe {
144            ffi::panel_layered_settings_set_boolean(
145                self.to_glib_none().0,
146                key.to_glib_none().0,
147                val.into_glib(),
148            );
149        }
150    }
151
152    #[doc(alias = "panel_layered_settings_set_double")]
153    pub fn set_double(&self, key: &str, val: f64) {
154        unsafe {
155            ffi::panel_layered_settings_set_double(
156                self.to_glib_none().0,
157                key.to_glib_none().0,
158                val,
159            );
160        }
161    }
162
163    #[doc(alias = "panel_layered_settings_set_int")]
164    pub fn set_int(&self, key: &str, val: i32) {
165        unsafe {
166            ffi::panel_layered_settings_set_int(self.to_glib_none().0, key.to_glib_none().0, val);
167        }
168    }
169
170    #[doc(alias = "panel_layered_settings_set_string")]
171    pub fn set_string(&self, key: &str, val: &str) {
172        unsafe {
173            ffi::panel_layered_settings_set_string(
174                self.to_glib_none().0,
175                key.to_glib_none().0,
176                val.to_glib_none().0,
177            );
178        }
179    }
180
181    #[doc(alias = "panel_layered_settings_set_uint")]
182    pub fn set_uint(&self, key: &str, val: u32) {
183        unsafe {
184            ffi::panel_layered_settings_set_uint(self.to_glib_none().0, key.to_glib_none().0, val);
185        }
186    }
187
188    #[doc(alias = "panel_layered_settings_set_value")]
189    pub fn set_value(&self, key: &str, value: &glib::Variant) {
190        unsafe {
191            ffi::panel_layered_settings_set_value(
192                self.to_glib_none().0,
193                key.to_glib_none().0,
194                value.to_glib_none().0,
195            );
196        }
197    }
198
199    #[doc(alias = "panel_layered_settings_unbind")]
200    pub fn unbind(&self, property: &str) {
201        unsafe {
202            ffi::panel_layered_settings_unbind(self.to_glib_none().0, property.to_glib_none().0);
203        }
204    }
205
206    pub fn path(&self) -> Option<glib::GString> {
207        ObjectExt::property(self, "path")
208    }
209
210    #[doc(alias = "schema-id")]
211    pub fn schema_id(&self) -> Option<glib::GString> {
212        ObjectExt::property(self, "schema-id")
213    }
214
215    #[doc(alias = "changed")]
216    pub fn connect_changed<F: Fn(&Self, &str) + 'static>(
217        &self,
218        detail: Option<&str>,
219        f: F,
220    ) -> SignalHandlerId {
221        unsafe extern "C" fn changed_trampoline<F: Fn(&LayeredSettings, &str) + 'static>(
222            this: *mut ffi::PanelLayeredSettings,
223            object: *mut std::ffi::c_char,
224            f: glib::ffi::gpointer,
225        ) {
226            let f: &F = &*(f as *const F);
227            f(
228                &from_glib_borrow(this),
229                &glib::GString::from_glib_borrow(object),
230            )
231        }
232        unsafe {
233            let f: Box_<F> = Box_::new(f);
234            let detailed_signal_name = detail.map(|name| format!("changed::{name}\0"));
235            let signal_name: &[u8] = detailed_signal_name
236                .as_ref()
237                .map_or(c"changed".to_bytes(), |n| n.as_bytes());
238            connect_raw(
239                self.as_ptr() as *mut _,
240                signal_name.as_ptr() as *const _,
241                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
242                    changed_trampoline::<F> as *const (),
243                )),
244                Box_::into_raw(f),
245            )
246        }
247    }
248}