gtk/auto/
settings.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use gdk;
6use glib::object::Cast;
7use glib::object::IsA;
8use glib::signal::connect_raw;
9use glib::signal::SignalHandlerId;
10use glib::translate::*;
11use glib::GString;
12use glib::StaticType;
13use glib::Value;
14use glib_sys;
15use gobject_sys;
16use gtk_sys;
17use libc;
18use std::boxed::Box as Box_;
19use std::fmt;
20use std::mem::transmute;
21use StyleProvider;
22
23glib_wrapper! {
24    pub struct Settings(Object<gtk_sys::GtkSettings, gtk_sys::GtkSettingsClass, SettingsClass>) @implements StyleProvider;
25
26    match fn {
27        get_type => || gtk_sys::gtk_settings_get_type(),
28    }
29}
30
31impl Settings {
32    pub fn get_default() -> Option<Settings> {
33        assert_initialized_main_thread!();
34        unsafe { from_glib_none(gtk_sys::gtk_settings_get_default()) }
35    }
36
37    pub fn get_for_screen(screen: &gdk::Screen) -> Option<Settings> {
38        assert_initialized_main_thread!();
39        unsafe {
40            from_glib_none(gtk_sys::gtk_settings_get_for_screen(
41                screen.to_glib_none().0,
42            ))
43        }
44    }
45
46    //#[cfg_attr(feature = "v3_16", deprecated)]
47    //pub fn install_property(pspec: /*Ignored*/&glib::ParamSpec) {
48    //    unsafe { TODO: call gtk_sys:gtk_settings_install_property() }
49    //}
50
51    //#[cfg_attr(feature = "v3_16", deprecated)]
52    //pub fn install_property_parser(pspec: /*Ignored*/&glib::ParamSpec, parser: /*Unimplemented*/FnMut(/*Ignored*/glib::ParamSpec, /*Ignored*/glib::String, &glib::Value) -> bool) {
53    //    unsafe { TODO: call gtk_sys:gtk_settings_install_property_parser() }
54    //}
55}
56
57pub const NONE_SETTINGS: Option<&Settings> = None;
58
59pub trait SettingsExt: 'static {
60    #[cfg(any(feature = "v3_20", feature = "dox"))]
61    fn reset_property(&self, name: &str);
62
63    #[cfg_attr(feature = "v3_16", deprecated)]
64    fn set_double_property(&self, name: &str, v_double: f64, origin: &str);
65
66    #[cfg_attr(feature = "v3_16", deprecated)]
67    fn set_long_property(&self, name: &str, v_long: libc::c_long, origin: &str);
68
69    //#[cfg_attr(feature = "v3_16", deprecated)]
70    //fn set_property_value(&self, name: &str, svalue: /*Ignored*/&SettingsValue);
71
72    #[cfg_attr(feature = "v3_16", deprecated)]
73    fn set_string_property(&self, name: &str, v_string: &str, origin: &str);
74
75    fn get_property_gtk_alternative_button_order(&self) -> bool;
76
77    fn set_property_gtk_alternative_button_order(&self, gtk_alternative_button_order: bool);
78
79    fn get_property_gtk_alternative_sort_arrows(&self) -> bool;
80
81    fn set_property_gtk_alternative_sort_arrows(&self, gtk_alternative_sort_arrows: bool);
82
83    fn get_property_gtk_application_prefer_dark_theme(&self) -> bool;
84
85    fn set_property_gtk_application_prefer_dark_theme(
86        &self,
87        gtk_application_prefer_dark_theme: bool,
88    );
89
90    fn get_property_gtk_cursor_blink(&self) -> bool;
91
92    fn set_property_gtk_cursor_blink(&self, gtk_cursor_blink: bool);
93
94    fn get_property_gtk_cursor_blink_time(&self) -> i32;
95
96    fn set_property_gtk_cursor_blink_time(&self, gtk_cursor_blink_time: i32);
97
98    fn get_property_gtk_cursor_blink_timeout(&self) -> i32;
99
100    fn set_property_gtk_cursor_blink_timeout(&self, gtk_cursor_blink_timeout: i32);
101
102    fn get_property_gtk_cursor_theme_name(&self) -> Option<GString>;
103
104    fn set_property_gtk_cursor_theme_name(&self, gtk_cursor_theme_name: Option<&str>);
105
106    fn get_property_gtk_cursor_theme_size(&self) -> i32;
107
108    fn set_property_gtk_cursor_theme_size(&self, gtk_cursor_theme_size: i32);
109
110    fn get_property_gtk_decoration_layout(&self) -> Option<GString>;
111
112    fn set_property_gtk_decoration_layout(&self, gtk_decoration_layout: Option<&str>);
113
114    fn get_property_gtk_dialogs_use_header(&self) -> bool;
115
116    fn set_property_gtk_dialogs_use_header(&self, gtk_dialogs_use_header: bool);
117
118    fn get_property_gtk_dnd_drag_threshold(&self) -> i32;
119
120    fn set_property_gtk_dnd_drag_threshold(&self, gtk_dnd_drag_threshold: i32);
121
122    fn get_property_gtk_double_click_distance(&self) -> i32;
123
124    fn set_property_gtk_double_click_distance(&self, gtk_double_click_distance: i32);
125
126    fn get_property_gtk_double_click_time(&self) -> i32;
127
128    fn set_property_gtk_double_click_time(&self, gtk_double_click_time: i32);
129
130    fn get_property_gtk_enable_accels(&self) -> bool;
131
132    fn set_property_gtk_enable_accels(&self, gtk_enable_accels: bool);
133
134    fn get_property_gtk_enable_animations(&self) -> bool;
135
136    fn set_property_gtk_enable_animations(&self, gtk_enable_animations: bool);
137
138    fn get_property_gtk_enable_event_sounds(&self) -> bool;
139
140    fn set_property_gtk_enable_event_sounds(&self, gtk_enable_event_sounds: bool);
141
142    fn get_property_gtk_enable_input_feedback_sounds(&self) -> bool;
143
144    fn set_property_gtk_enable_input_feedback_sounds(&self, gtk_enable_input_feedback_sounds: bool);
145
146    fn get_property_gtk_enable_primary_paste(&self) -> bool;
147
148    fn set_property_gtk_enable_primary_paste(&self, gtk_enable_primary_paste: bool);
149
150    fn get_property_gtk_entry_password_hint_timeout(&self) -> u32;
151
152    fn set_property_gtk_entry_password_hint_timeout(&self, gtk_entry_password_hint_timeout: u32);
153
154    fn get_property_gtk_entry_select_on_focus(&self) -> bool;
155
156    fn set_property_gtk_entry_select_on_focus(&self, gtk_entry_select_on_focus: bool);
157
158    fn get_property_gtk_error_bell(&self) -> bool;
159
160    fn set_property_gtk_error_bell(&self, gtk_error_bell: bool);
161
162    fn get_property_gtk_font_name(&self) -> Option<GString>;
163
164    fn set_property_gtk_font_name(&self, gtk_font_name: Option<&str>);
165
166    fn get_property_gtk_fontconfig_timestamp(&self) -> u32;
167
168    fn set_property_gtk_fontconfig_timestamp(&self, gtk_fontconfig_timestamp: u32);
169
170    fn get_property_gtk_icon_theme_name(&self) -> Option<GString>;
171
172    fn set_property_gtk_icon_theme_name(&self, gtk_icon_theme_name: Option<&str>);
173
174    fn get_property_gtk_im_module(&self) -> Option<GString>;
175
176    fn set_property_gtk_im_module(&self, gtk_im_module: Option<&str>);
177
178    fn get_property_gtk_key_theme_name(&self) -> Option<GString>;
179
180    fn set_property_gtk_key_theme_name(&self, gtk_key_theme_name: Option<&str>);
181
182    #[cfg(any(feature = "v3_20", feature = "dox"))]
183    fn get_property_gtk_keynav_use_caret(&self) -> bool;
184
185    #[cfg(any(feature = "v3_20", feature = "dox"))]
186    fn set_property_gtk_keynav_use_caret(&self, gtk_keynav_use_caret: bool);
187
188    fn get_property_gtk_label_select_on_focus(&self) -> bool;
189
190    fn set_property_gtk_label_select_on_focus(&self, gtk_label_select_on_focus: bool);
191
192    fn get_property_gtk_long_press_time(&self) -> u32;
193
194    fn set_property_gtk_long_press_time(&self, gtk_long_press_time: u32);
195
196    fn get_property_gtk_modules(&self) -> Option<GString>;
197
198    fn set_property_gtk_modules(&self, gtk_modules: Option<&str>);
199
200    fn get_property_gtk_primary_button_warps_slider(&self) -> bool;
201
202    fn set_property_gtk_primary_button_warps_slider(&self, gtk_primary_button_warps_slider: bool);
203
204    fn get_property_gtk_print_backends(&self) -> Option<GString>;
205
206    fn set_property_gtk_print_backends(&self, gtk_print_backends: Option<&str>);
207
208    fn get_property_gtk_print_preview_command(&self) -> Option<GString>;
209
210    fn set_property_gtk_print_preview_command(&self, gtk_print_preview_command: Option<&str>);
211
212    fn get_property_gtk_recent_files_enabled(&self) -> bool;
213
214    fn set_property_gtk_recent_files_enabled(&self, gtk_recent_files_enabled: bool);
215
216    fn get_property_gtk_recent_files_max_age(&self) -> i32;
217
218    fn set_property_gtk_recent_files_max_age(&self, gtk_recent_files_max_age: i32);
219
220    fn get_property_gtk_shell_shows_app_menu(&self) -> bool;
221
222    fn set_property_gtk_shell_shows_app_menu(&self, gtk_shell_shows_app_menu: bool);
223
224    fn get_property_gtk_shell_shows_desktop(&self) -> bool;
225
226    fn set_property_gtk_shell_shows_desktop(&self, gtk_shell_shows_desktop: bool);
227
228    fn get_property_gtk_shell_shows_menubar(&self) -> bool;
229
230    fn set_property_gtk_shell_shows_menubar(&self, gtk_shell_shows_menubar: bool);
231
232    fn get_property_gtk_sound_theme_name(&self) -> Option<GString>;
233
234    fn set_property_gtk_sound_theme_name(&self, gtk_sound_theme_name: Option<&str>);
235
236    fn get_property_gtk_split_cursor(&self) -> bool;
237
238    fn set_property_gtk_split_cursor(&self, gtk_split_cursor: bool);
239
240    fn get_property_gtk_theme_name(&self) -> Option<GString>;
241
242    fn set_property_gtk_theme_name(&self, gtk_theme_name: Option<&str>);
243
244    fn get_property_gtk_titlebar_double_click(&self) -> Option<GString>;
245
246    fn set_property_gtk_titlebar_double_click(&self, gtk_titlebar_double_click: Option<&str>);
247
248    fn get_property_gtk_titlebar_middle_click(&self) -> Option<GString>;
249
250    fn set_property_gtk_titlebar_middle_click(&self, gtk_titlebar_middle_click: Option<&str>);
251
252    fn get_property_gtk_titlebar_right_click(&self) -> Option<GString>;
253
254    fn set_property_gtk_titlebar_right_click(&self, gtk_titlebar_right_click: Option<&str>);
255
256    fn get_property_gtk_xft_antialias(&self) -> i32;
257
258    fn set_property_gtk_xft_antialias(&self, gtk_xft_antialias: i32);
259
260    fn get_property_gtk_xft_dpi(&self) -> i32;
261
262    fn set_property_gtk_xft_dpi(&self, gtk_xft_dpi: i32);
263
264    fn get_property_gtk_xft_hinting(&self) -> i32;
265
266    fn set_property_gtk_xft_hinting(&self, gtk_xft_hinting: i32);
267
268    fn get_property_gtk_xft_hintstyle(&self) -> Option<GString>;
269
270    fn set_property_gtk_xft_hintstyle(&self, gtk_xft_hintstyle: Option<&str>);
271
272    fn get_property_gtk_xft_rgba(&self) -> Option<GString>;
273
274    fn set_property_gtk_xft_rgba(&self, gtk_xft_rgba: Option<&str>);
275
276    fn connect_property_gtk_alternative_button_order_notify<F: Fn(&Self) + 'static>(
277        &self,
278        f: F,
279    ) -> SignalHandlerId;
280
281    fn connect_property_gtk_alternative_sort_arrows_notify<F: Fn(&Self) + 'static>(
282        &self,
283        f: F,
284    ) -> SignalHandlerId;
285
286    fn connect_property_gtk_application_prefer_dark_theme_notify<F: Fn(&Self) + 'static>(
287        &self,
288        f: F,
289    ) -> SignalHandlerId;
290
291    fn connect_property_gtk_cursor_blink_notify<F: Fn(&Self) + 'static>(
292        &self,
293        f: F,
294    ) -> SignalHandlerId;
295
296    fn connect_property_gtk_cursor_blink_time_notify<F: Fn(&Self) + 'static>(
297        &self,
298        f: F,
299    ) -> SignalHandlerId;
300
301    fn connect_property_gtk_cursor_blink_timeout_notify<F: Fn(&Self) + 'static>(
302        &self,
303        f: F,
304    ) -> SignalHandlerId;
305
306    fn connect_property_gtk_cursor_theme_name_notify<F: Fn(&Self) + 'static>(
307        &self,
308        f: F,
309    ) -> SignalHandlerId;
310
311    fn connect_property_gtk_cursor_theme_size_notify<F: Fn(&Self) + 'static>(
312        &self,
313        f: F,
314    ) -> SignalHandlerId;
315
316    fn connect_property_gtk_decoration_layout_notify<F: Fn(&Self) + 'static>(
317        &self,
318        f: F,
319    ) -> SignalHandlerId;
320
321    fn connect_property_gtk_dialogs_use_header_notify<F: Fn(&Self) + 'static>(
322        &self,
323        f: F,
324    ) -> SignalHandlerId;
325
326    fn connect_property_gtk_dnd_drag_threshold_notify<F: Fn(&Self) + 'static>(
327        &self,
328        f: F,
329    ) -> SignalHandlerId;
330
331    fn connect_property_gtk_double_click_distance_notify<F: Fn(&Self) + 'static>(
332        &self,
333        f: F,
334    ) -> SignalHandlerId;
335
336    fn connect_property_gtk_double_click_time_notify<F: Fn(&Self) + 'static>(
337        &self,
338        f: F,
339    ) -> SignalHandlerId;
340
341    fn connect_property_gtk_enable_accels_notify<F: Fn(&Self) + 'static>(
342        &self,
343        f: F,
344    ) -> SignalHandlerId;
345
346    fn connect_property_gtk_enable_animations_notify<F: Fn(&Self) + 'static>(
347        &self,
348        f: F,
349    ) -> SignalHandlerId;
350
351    fn connect_property_gtk_enable_event_sounds_notify<F: Fn(&Self) + 'static>(
352        &self,
353        f: F,
354    ) -> SignalHandlerId;
355
356    fn connect_property_gtk_enable_input_feedback_sounds_notify<F: Fn(&Self) + 'static>(
357        &self,
358        f: F,
359    ) -> SignalHandlerId;
360
361    fn connect_property_gtk_enable_primary_paste_notify<F: Fn(&Self) + 'static>(
362        &self,
363        f: F,
364    ) -> SignalHandlerId;
365
366    fn connect_property_gtk_entry_password_hint_timeout_notify<F: Fn(&Self) + 'static>(
367        &self,
368        f: F,
369    ) -> SignalHandlerId;
370
371    fn connect_property_gtk_entry_select_on_focus_notify<F: Fn(&Self) + 'static>(
372        &self,
373        f: F,
374    ) -> SignalHandlerId;
375
376    fn connect_property_gtk_error_bell_notify<F: Fn(&Self) + 'static>(
377        &self,
378        f: F,
379    ) -> SignalHandlerId;
380
381    fn connect_property_gtk_font_name_notify<F: Fn(&Self) + 'static>(
382        &self,
383        f: F,
384    ) -> SignalHandlerId;
385
386    fn connect_property_gtk_fontconfig_timestamp_notify<F: Fn(&Self) + 'static>(
387        &self,
388        f: F,
389    ) -> SignalHandlerId;
390
391    fn connect_property_gtk_icon_theme_name_notify<F: Fn(&Self) + 'static>(
392        &self,
393        f: F,
394    ) -> SignalHandlerId;
395
396    fn connect_property_gtk_im_module_notify<F: Fn(&Self) + 'static>(
397        &self,
398        f: F,
399    ) -> SignalHandlerId;
400
401    fn connect_property_gtk_key_theme_name_notify<F: Fn(&Self) + 'static>(
402        &self,
403        f: F,
404    ) -> SignalHandlerId;
405
406    #[cfg(any(feature = "v3_20", feature = "dox"))]
407    fn connect_property_gtk_keynav_use_caret_notify<F: Fn(&Self) + 'static>(
408        &self,
409        f: F,
410    ) -> SignalHandlerId;
411
412    fn connect_property_gtk_label_select_on_focus_notify<F: Fn(&Self) + 'static>(
413        &self,
414        f: F,
415    ) -> SignalHandlerId;
416
417    fn connect_property_gtk_long_press_time_notify<F: Fn(&Self) + 'static>(
418        &self,
419        f: F,
420    ) -> SignalHandlerId;
421
422    fn connect_property_gtk_modules_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
423
424    fn connect_property_gtk_primary_button_warps_slider_notify<F: Fn(&Self) + 'static>(
425        &self,
426        f: F,
427    ) -> SignalHandlerId;
428
429    fn connect_property_gtk_print_backends_notify<F: Fn(&Self) + 'static>(
430        &self,
431        f: F,
432    ) -> SignalHandlerId;
433
434    fn connect_property_gtk_print_preview_command_notify<F: Fn(&Self) + 'static>(
435        &self,
436        f: F,
437    ) -> SignalHandlerId;
438
439    fn connect_property_gtk_recent_files_enabled_notify<F: Fn(&Self) + 'static>(
440        &self,
441        f: F,
442    ) -> SignalHandlerId;
443
444    fn connect_property_gtk_recent_files_max_age_notify<F: Fn(&Self) + 'static>(
445        &self,
446        f: F,
447    ) -> SignalHandlerId;
448
449    fn connect_property_gtk_shell_shows_app_menu_notify<F: Fn(&Self) + 'static>(
450        &self,
451        f: F,
452    ) -> SignalHandlerId;
453
454    fn connect_property_gtk_shell_shows_desktop_notify<F: Fn(&Self) + 'static>(
455        &self,
456        f: F,
457    ) -> SignalHandlerId;
458
459    fn connect_property_gtk_shell_shows_menubar_notify<F: Fn(&Self) + 'static>(
460        &self,
461        f: F,
462    ) -> SignalHandlerId;
463
464    fn connect_property_gtk_sound_theme_name_notify<F: Fn(&Self) + 'static>(
465        &self,
466        f: F,
467    ) -> SignalHandlerId;
468
469    fn connect_property_gtk_split_cursor_notify<F: Fn(&Self) + 'static>(
470        &self,
471        f: F,
472    ) -> SignalHandlerId;
473
474    fn connect_property_gtk_theme_name_notify<F: Fn(&Self) + 'static>(
475        &self,
476        f: F,
477    ) -> SignalHandlerId;
478
479    fn connect_property_gtk_titlebar_double_click_notify<F: Fn(&Self) + 'static>(
480        &self,
481        f: F,
482    ) -> SignalHandlerId;
483
484    fn connect_property_gtk_titlebar_middle_click_notify<F: Fn(&Self) + 'static>(
485        &self,
486        f: F,
487    ) -> SignalHandlerId;
488
489    fn connect_property_gtk_titlebar_right_click_notify<F: Fn(&Self) + 'static>(
490        &self,
491        f: F,
492    ) -> SignalHandlerId;
493
494    fn connect_property_gtk_xft_antialias_notify<F: Fn(&Self) + 'static>(
495        &self,
496        f: F,
497    ) -> SignalHandlerId;
498
499    fn connect_property_gtk_xft_dpi_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
500
501    fn connect_property_gtk_xft_hinting_notify<F: Fn(&Self) + 'static>(
502        &self,
503        f: F,
504    ) -> SignalHandlerId;
505
506    fn connect_property_gtk_xft_hintstyle_notify<F: Fn(&Self) + 'static>(
507        &self,
508        f: F,
509    ) -> SignalHandlerId;
510
511    fn connect_property_gtk_xft_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F)
512        -> SignalHandlerId;
513}
514
515impl<O: IsA<Settings>> SettingsExt for O {
516    #[cfg(any(feature = "v3_20", feature = "dox"))]
517    fn reset_property(&self, name: &str) {
518        unsafe {
519            gtk_sys::gtk_settings_reset_property(
520                self.as_ref().to_glib_none().0,
521                name.to_glib_none().0,
522            );
523        }
524    }
525
526    fn set_double_property(&self, name: &str, v_double: f64, origin: &str) {
527        unsafe {
528            gtk_sys::gtk_settings_set_double_property(
529                self.as_ref().to_glib_none().0,
530                name.to_glib_none().0,
531                v_double,
532                origin.to_glib_none().0,
533            );
534        }
535    }
536
537    fn set_long_property(&self, name: &str, v_long: libc::c_long, origin: &str) {
538        unsafe {
539            gtk_sys::gtk_settings_set_long_property(
540                self.as_ref().to_glib_none().0,
541                name.to_glib_none().0,
542                v_long,
543                origin.to_glib_none().0,
544            );
545        }
546    }
547
548    //fn set_property_value(&self, name: &str, svalue: /*Ignored*/&SettingsValue) {
549    //    unsafe { TODO: call gtk_sys:gtk_settings_set_property_value() }
550    //}
551
552    fn set_string_property(&self, name: &str, v_string: &str, origin: &str) {
553        unsafe {
554            gtk_sys::gtk_settings_set_string_property(
555                self.as_ref().to_glib_none().0,
556                name.to_glib_none().0,
557                v_string.to_glib_none().0,
558                origin.to_glib_none().0,
559            );
560        }
561    }
562
563    fn get_property_gtk_alternative_button_order(&self) -> bool {
564        unsafe {
565            let mut value = Value::from_type(<bool as StaticType>::static_type());
566            gobject_sys::g_object_get_property(
567                self.to_glib_none().0 as *mut gobject_sys::GObject,
568                b"gtk-alternative-button-order\0".as_ptr() as *const _,
569                value.to_glib_none_mut().0,
570            );
571            value.get().unwrap()
572        }
573    }
574
575    fn set_property_gtk_alternative_button_order(&self, gtk_alternative_button_order: bool) {
576        unsafe {
577            gobject_sys::g_object_set_property(
578                self.to_glib_none().0 as *mut gobject_sys::GObject,
579                b"gtk-alternative-button-order\0".as_ptr() as *const _,
580                Value::from(&gtk_alternative_button_order).to_glib_none().0,
581            );
582        }
583    }
584
585    fn get_property_gtk_alternative_sort_arrows(&self) -> bool {
586        unsafe {
587            let mut value = Value::from_type(<bool as StaticType>::static_type());
588            gobject_sys::g_object_get_property(
589                self.to_glib_none().0 as *mut gobject_sys::GObject,
590                b"gtk-alternative-sort-arrows\0".as_ptr() as *const _,
591                value.to_glib_none_mut().0,
592            );
593            value.get().unwrap()
594        }
595    }
596
597    fn set_property_gtk_alternative_sort_arrows(&self, gtk_alternative_sort_arrows: bool) {
598        unsafe {
599            gobject_sys::g_object_set_property(
600                self.to_glib_none().0 as *mut gobject_sys::GObject,
601                b"gtk-alternative-sort-arrows\0".as_ptr() as *const _,
602                Value::from(&gtk_alternative_sort_arrows).to_glib_none().0,
603            );
604        }
605    }
606
607    fn get_property_gtk_application_prefer_dark_theme(&self) -> bool {
608        unsafe {
609            let mut value = Value::from_type(<bool as StaticType>::static_type());
610            gobject_sys::g_object_get_property(
611                self.to_glib_none().0 as *mut gobject_sys::GObject,
612                b"gtk-application-prefer-dark-theme\0".as_ptr() as *const _,
613                value.to_glib_none_mut().0,
614            );
615            value.get().unwrap()
616        }
617    }
618
619    fn set_property_gtk_application_prefer_dark_theme(
620        &self,
621        gtk_application_prefer_dark_theme: bool,
622    ) {
623        unsafe {
624            gobject_sys::g_object_set_property(
625                self.to_glib_none().0 as *mut gobject_sys::GObject,
626                b"gtk-application-prefer-dark-theme\0".as_ptr() as *const _,
627                Value::from(&gtk_application_prefer_dark_theme)
628                    .to_glib_none()
629                    .0,
630            );
631        }
632    }
633
634    fn get_property_gtk_cursor_blink(&self) -> bool {
635        unsafe {
636            let mut value = Value::from_type(<bool as StaticType>::static_type());
637            gobject_sys::g_object_get_property(
638                self.to_glib_none().0 as *mut gobject_sys::GObject,
639                b"gtk-cursor-blink\0".as_ptr() as *const _,
640                value.to_glib_none_mut().0,
641            );
642            value.get().unwrap()
643        }
644    }
645
646    fn set_property_gtk_cursor_blink(&self, gtk_cursor_blink: bool) {
647        unsafe {
648            gobject_sys::g_object_set_property(
649                self.to_glib_none().0 as *mut gobject_sys::GObject,
650                b"gtk-cursor-blink\0".as_ptr() as *const _,
651                Value::from(&gtk_cursor_blink).to_glib_none().0,
652            );
653        }
654    }
655
656    fn get_property_gtk_cursor_blink_time(&self) -> i32 {
657        unsafe {
658            let mut value = Value::from_type(<i32 as StaticType>::static_type());
659            gobject_sys::g_object_get_property(
660                self.to_glib_none().0 as *mut gobject_sys::GObject,
661                b"gtk-cursor-blink-time\0".as_ptr() as *const _,
662                value.to_glib_none_mut().0,
663            );
664            value.get().unwrap()
665        }
666    }
667
668    fn set_property_gtk_cursor_blink_time(&self, gtk_cursor_blink_time: i32) {
669        unsafe {
670            gobject_sys::g_object_set_property(
671                self.to_glib_none().0 as *mut gobject_sys::GObject,
672                b"gtk-cursor-blink-time\0".as_ptr() as *const _,
673                Value::from(&gtk_cursor_blink_time).to_glib_none().0,
674            );
675        }
676    }
677
678    fn get_property_gtk_cursor_blink_timeout(&self) -> i32 {
679        unsafe {
680            let mut value = Value::from_type(<i32 as StaticType>::static_type());
681            gobject_sys::g_object_get_property(
682                self.to_glib_none().0 as *mut gobject_sys::GObject,
683                b"gtk-cursor-blink-timeout\0".as_ptr() as *const _,
684                value.to_glib_none_mut().0,
685            );
686            value.get().unwrap()
687        }
688    }
689
690    fn set_property_gtk_cursor_blink_timeout(&self, gtk_cursor_blink_timeout: i32) {
691        unsafe {
692            gobject_sys::g_object_set_property(
693                self.to_glib_none().0 as *mut gobject_sys::GObject,
694                b"gtk-cursor-blink-timeout\0".as_ptr() as *const _,
695                Value::from(&gtk_cursor_blink_timeout).to_glib_none().0,
696            );
697        }
698    }
699
700    fn get_property_gtk_cursor_theme_name(&self) -> Option<GString> {
701        unsafe {
702            let mut value = Value::from_type(<GString as StaticType>::static_type());
703            gobject_sys::g_object_get_property(
704                self.to_glib_none().0 as *mut gobject_sys::GObject,
705                b"gtk-cursor-theme-name\0".as_ptr() as *const _,
706                value.to_glib_none_mut().0,
707            );
708            value.get()
709        }
710    }
711
712    fn set_property_gtk_cursor_theme_name(&self, gtk_cursor_theme_name: Option<&str>) {
713        unsafe {
714            gobject_sys::g_object_set_property(
715                self.to_glib_none().0 as *mut gobject_sys::GObject,
716                b"gtk-cursor-theme-name\0".as_ptr() as *const _,
717                Value::from(gtk_cursor_theme_name).to_glib_none().0,
718            );
719        }
720    }
721
722    fn get_property_gtk_cursor_theme_size(&self) -> i32 {
723        unsafe {
724            let mut value = Value::from_type(<i32 as StaticType>::static_type());
725            gobject_sys::g_object_get_property(
726                self.to_glib_none().0 as *mut gobject_sys::GObject,
727                b"gtk-cursor-theme-size\0".as_ptr() as *const _,
728                value.to_glib_none_mut().0,
729            );
730            value.get().unwrap()
731        }
732    }
733
734    fn set_property_gtk_cursor_theme_size(&self, gtk_cursor_theme_size: i32) {
735        unsafe {
736            gobject_sys::g_object_set_property(
737                self.to_glib_none().0 as *mut gobject_sys::GObject,
738                b"gtk-cursor-theme-size\0".as_ptr() as *const _,
739                Value::from(&gtk_cursor_theme_size).to_glib_none().0,
740            );
741        }
742    }
743
744    fn get_property_gtk_decoration_layout(&self) -> Option<GString> {
745        unsafe {
746            let mut value = Value::from_type(<GString as StaticType>::static_type());
747            gobject_sys::g_object_get_property(
748                self.to_glib_none().0 as *mut gobject_sys::GObject,
749                b"gtk-decoration-layout\0".as_ptr() as *const _,
750                value.to_glib_none_mut().0,
751            );
752            value.get()
753        }
754    }
755
756    fn set_property_gtk_decoration_layout(&self, gtk_decoration_layout: Option<&str>) {
757        unsafe {
758            gobject_sys::g_object_set_property(
759                self.to_glib_none().0 as *mut gobject_sys::GObject,
760                b"gtk-decoration-layout\0".as_ptr() as *const _,
761                Value::from(gtk_decoration_layout).to_glib_none().0,
762            );
763        }
764    }
765
766    fn get_property_gtk_dialogs_use_header(&self) -> bool {
767        unsafe {
768            let mut value = Value::from_type(<bool as StaticType>::static_type());
769            gobject_sys::g_object_get_property(
770                self.to_glib_none().0 as *mut gobject_sys::GObject,
771                b"gtk-dialogs-use-header\0".as_ptr() as *const _,
772                value.to_glib_none_mut().0,
773            );
774            value.get().unwrap()
775        }
776    }
777
778    fn set_property_gtk_dialogs_use_header(&self, gtk_dialogs_use_header: bool) {
779        unsafe {
780            gobject_sys::g_object_set_property(
781                self.to_glib_none().0 as *mut gobject_sys::GObject,
782                b"gtk-dialogs-use-header\0".as_ptr() as *const _,
783                Value::from(&gtk_dialogs_use_header).to_glib_none().0,
784            );
785        }
786    }
787
788    fn get_property_gtk_dnd_drag_threshold(&self) -> i32 {
789        unsafe {
790            let mut value = Value::from_type(<i32 as StaticType>::static_type());
791            gobject_sys::g_object_get_property(
792                self.to_glib_none().0 as *mut gobject_sys::GObject,
793                b"gtk-dnd-drag-threshold\0".as_ptr() as *const _,
794                value.to_glib_none_mut().0,
795            );
796            value.get().unwrap()
797        }
798    }
799
800    fn set_property_gtk_dnd_drag_threshold(&self, gtk_dnd_drag_threshold: i32) {
801        unsafe {
802            gobject_sys::g_object_set_property(
803                self.to_glib_none().0 as *mut gobject_sys::GObject,
804                b"gtk-dnd-drag-threshold\0".as_ptr() as *const _,
805                Value::from(&gtk_dnd_drag_threshold).to_glib_none().0,
806            );
807        }
808    }
809
810    fn get_property_gtk_double_click_distance(&self) -> i32 {
811        unsafe {
812            let mut value = Value::from_type(<i32 as StaticType>::static_type());
813            gobject_sys::g_object_get_property(
814                self.to_glib_none().0 as *mut gobject_sys::GObject,
815                b"gtk-double-click-distance\0".as_ptr() as *const _,
816                value.to_glib_none_mut().0,
817            );
818            value.get().unwrap()
819        }
820    }
821
822    fn set_property_gtk_double_click_distance(&self, gtk_double_click_distance: i32) {
823        unsafe {
824            gobject_sys::g_object_set_property(
825                self.to_glib_none().0 as *mut gobject_sys::GObject,
826                b"gtk-double-click-distance\0".as_ptr() as *const _,
827                Value::from(&gtk_double_click_distance).to_glib_none().0,
828            );
829        }
830    }
831
832    fn get_property_gtk_double_click_time(&self) -> i32 {
833        unsafe {
834            let mut value = Value::from_type(<i32 as StaticType>::static_type());
835            gobject_sys::g_object_get_property(
836                self.to_glib_none().0 as *mut gobject_sys::GObject,
837                b"gtk-double-click-time\0".as_ptr() as *const _,
838                value.to_glib_none_mut().0,
839            );
840            value.get().unwrap()
841        }
842    }
843
844    fn set_property_gtk_double_click_time(&self, gtk_double_click_time: i32) {
845        unsafe {
846            gobject_sys::g_object_set_property(
847                self.to_glib_none().0 as *mut gobject_sys::GObject,
848                b"gtk-double-click-time\0".as_ptr() as *const _,
849                Value::from(&gtk_double_click_time).to_glib_none().0,
850            );
851        }
852    }
853
854    fn get_property_gtk_enable_accels(&self) -> bool {
855        unsafe {
856            let mut value = Value::from_type(<bool as StaticType>::static_type());
857            gobject_sys::g_object_get_property(
858                self.to_glib_none().0 as *mut gobject_sys::GObject,
859                b"gtk-enable-accels\0".as_ptr() as *const _,
860                value.to_glib_none_mut().0,
861            );
862            value.get().unwrap()
863        }
864    }
865
866    fn set_property_gtk_enable_accels(&self, gtk_enable_accels: bool) {
867        unsafe {
868            gobject_sys::g_object_set_property(
869                self.to_glib_none().0 as *mut gobject_sys::GObject,
870                b"gtk-enable-accels\0".as_ptr() as *const _,
871                Value::from(&gtk_enable_accels).to_glib_none().0,
872            );
873        }
874    }
875
876    fn get_property_gtk_enable_animations(&self) -> bool {
877        unsafe {
878            let mut value = Value::from_type(<bool as StaticType>::static_type());
879            gobject_sys::g_object_get_property(
880                self.to_glib_none().0 as *mut gobject_sys::GObject,
881                b"gtk-enable-animations\0".as_ptr() as *const _,
882                value.to_glib_none_mut().0,
883            );
884            value.get().unwrap()
885        }
886    }
887
888    fn set_property_gtk_enable_animations(&self, gtk_enable_animations: bool) {
889        unsafe {
890            gobject_sys::g_object_set_property(
891                self.to_glib_none().0 as *mut gobject_sys::GObject,
892                b"gtk-enable-animations\0".as_ptr() as *const _,
893                Value::from(&gtk_enable_animations).to_glib_none().0,
894            );
895        }
896    }
897
898    fn get_property_gtk_enable_event_sounds(&self) -> bool {
899        unsafe {
900            let mut value = Value::from_type(<bool as StaticType>::static_type());
901            gobject_sys::g_object_get_property(
902                self.to_glib_none().0 as *mut gobject_sys::GObject,
903                b"gtk-enable-event-sounds\0".as_ptr() as *const _,
904                value.to_glib_none_mut().0,
905            );
906            value.get().unwrap()
907        }
908    }
909
910    fn set_property_gtk_enable_event_sounds(&self, gtk_enable_event_sounds: bool) {
911        unsafe {
912            gobject_sys::g_object_set_property(
913                self.to_glib_none().0 as *mut gobject_sys::GObject,
914                b"gtk-enable-event-sounds\0".as_ptr() as *const _,
915                Value::from(&gtk_enable_event_sounds).to_glib_none().0,
916            );
917        }
918    }
919
920    fn get_property_gtk_enable_input_feedback_sounds(&self) -> bool {
921        unsafe {
922            let mut value = Value::from_type(<bool as StaticType>::static_type());
923            gobject_sys::g_object_get_property(
924                self.to_glib_none().0 as *mut gobject_sys::GObject,
925                b"gtk-enable-input-feedback-sounds\0".as_ptr() as *const _,
926                value.to_glib_none_mut().0,
927            );
928            value.get().unwrap()
929        }
930    }
931
932    fn set_property_gtk_enable_input_feedback_sounds(
933        &self,
934        gtk_enable_input_feedback_sounds: bool,
935    ) {
936        unsafe {
937            gobject_sys::g_object_set_property(
938                self.to_glib_none().0 as *mut gobject_sys::GObject,
939                b"gtk-enable-input-feedback-sounds\0".as_ptr() as *const _,
940                Value::from(&gtk_enable_input_feedback_sounds)
941                    .to_glib_none()
942                    .0,
943            );
944        }
945    }
946
947    fn get_property_gtk_enable_primary_paste(&self) -> bool {
948        unsafe {
949            let mut value = Value::from_type(<bool as StaticType>::static_type());
950            gobject_sys::g_object_get_property(
951                self.to_glib_none().0 as *mut gobject_sys::GObject,
952                b"gtk-enable-primary-paste\0".as_ptr() as *const _,
953                value.to_glib_none_mut().0,
954            );
955            value.get().unwrap()
956        }
957    }
958
959    fn set_property_gtk_enable_primary_paste(&self, gtk_enable_primary_paste: bool) {
960        unsafe {
961            gobject_sys::g_object_set_property(
962                self.to_glib_none().0 as *mut gobject_sys::GObject,
963                b"gtk-enable-primary-paste\0".as_ptr() as *const _,
964                Value::from(&gtk_enable_primary_paste).to_glib_none().0,
965            );
966        }
967    }
968
969    fn get_property_gtk_entry_password_hint_timeout(&self) -> u32 {
970        unsafe {
971            let mut value = Value::from_type(<u32 as StaticType>::static_type());
972            gobject_sys::g_object_get_property(
973                self.to_glib_none().0 as *mut gobject_sys::GObject,
974                b"gtk-entry-password-hint-timeout\0".as_ptr() as *const _,
975                value.to_glib_none_mut().0,
976            );
977            value.get().unwrap()
978        }
979    }
980
981    fn set_property_gtk_entry_password_hint_timeout(&self, gtk_entry_password_hint_timeout: u32) {
982        unsafe {
983            gobject_sys::g_object_set_property(
984                self.to_glib_none().0 as *mut gobject_sys::GObject,
985                b"gtk-entry-password-hint-timeout\0".as_ptr() as *const _,
986                Value::from(&gtk_entry_password_hint_timeout)
987                    .to_glib_none()
988                    .0,
989            );
990        }
991    }
992
993    fn get_property_gtk_entry_select_on_focus(&self) -> bool {
994        unsafe {
995            let mut value = Value::from_type(<bool as StaticType>::static_type());
996            gobject_sys::g_object_get_property(
997                self.to_glib_none().0 as *mut gobject_sys::GObject,
998                b"gtk-entry-select-on-focus\0".as_ptr() as *const _,
999                value.to_glib_none_mut().0,
1000            );
1001            value.get().unwrap()
1002        }
1003    }
1004
1005    fn set_property_gtk_entry_select_on_focus(&self, gtk_entry_select_on_focus: bool) {
1006        unsafe {
1007            gobject_sys::g_object_set_property(
1008                self.to_glib_none().0 as *mut gobject_sys::GObject,
1009                b"gtk-entry-select-on-focus\0".as_ptr() as *const _,
1010                Value::from(&gtk_entry_select_on_focus).to_glib_none().0,
1011            );
1012        }
1013    }
1014
1015    fn get_property_gtk_error_bell(&self) -> bool {
1016        unsafe {
1017            let mut value = Value::from_type(<bool as StaticType>::static_type());
1018            gobject_sys::g_object_get_property(
1019                self.to_glib_none().0 as *mut gobject_sys::GObject,
1020                b"gtk-error-bell\0".as_ptr() as *const _,
1021                value.to_glib_none_mut().0,
1022            );
1023            value.get().unwrap()
1024        }
1025    }
1026
1027    fn set_property_gtk_error_bell(&self, gtk_error_bell: bool) {
1028        unsafe {
1029            gobject_sys::g_object_set_property(
1030                self.to_glib_none().0 as *mut gobject_sys::GObject,
1031                b"gtk-error-bell\0".as_ptr() as *const _,
1032                Value::from(&gtk_error_bell).to_glib_none().0,
1033            );
1034        }
1035    }
1036
1037    fn get_property_gtk_font_name(&self) -> Option<GString> {
1038        unsafe {
1039            let mut value = Value::from_type(<GString as StaticType>::static_type());
1040            gobject_sys::g_object_get_property(
1041                self.to_glib_none().0 as *mut gobject_sys::GObject,
1042                b"gtk-font-name\0".as_ptr() as *const _,
1043                value.to_glib_none_mut().0,
1044            );
1045            value.get()
1046        }
1047    }
1048
1049    fn set_property_gtk_font_name(&self, gtk_font_name: Option<&str>) {
1050        unsafe {
1051            gobject_sys::g_object_set_property(
1052                self.to_glib_none().0 as *mut gobject_sys::GObject,
1053                b"gtk-font-name\0".as_ptr() as *const _,
1054                Value::from(gtk_font_name).to_glib_none().0,
1055            );
1056        }
1057    }
1058
1059    fn get_property_gtk_fontconfig_timestamp(&self) -> u32 {
1060        unsafe {
1061            let mut value = Value::from_type(<u32 as StaticType>::static_type());
1062            gobject_sys::g_object_get_property(
1063                self.to_glib_none().0 as *mut gobject_sys::GObject,
1064                b"gtk-fontconfig-timestamp\0".as_ptr() as *const _,
1065                value.to_glib_none_mut().0,
1066            );
1067            value.get().unwrap()
1068        }
1069    }
1070
1071    fn set_property_gtk_fontconfig_timestamp(&self, gtk_fontconfig_timestamp: u32) {
1072        unsafe {
1073            gobject_sys::g_object_set_property(
1074                self.to_glib_none().0 as *mut gobject_sys::GObject,
1075                b"gtk-fontconfig-timestamp\0".as_ptr() as *const _,
1076                Value::from(&gtk_fontconfig_timestamp).to_glib_none().0,
1077            );
1078        }
1079    }
1080
1081    fn get_property_gtk_icon_theme_name(&self) -> Option<GString> {
1082        unsafe {
1083            let mut value = Value::from_type(<GString as StaticType>::static_type());
1084            gobject_sys::g_object_get_property(
1085                self.to_glib_none().0 as *mut gobject_sys::GObject,
1086                b"gtk-icon-theme-name\0".as_ptr() as *const _,
1087                value.to_glib_none_mut().0,
1088            );
1089            value.get()
1090        }
1091    }
1092
1093    fn set_property_gtk_icon_theme_name(&self, gtk_icon_theme_name: Option<&str>) {
1094        unsafe {
1095            gobject_sys::g_object_set_property(
1096                self.to_glib_none().0 as *mut gobject_sys::GObject,
1097                b"gtk-icon-theme-name\0".as_ptr() as *const _,
1098                Value::from(gtk_icon_theme_name).to_glib_none().0,
1099            );
1100        }
1101    }
1102
1103    fn get_property_gtk_im_module(&self) -> Option<GString> {
1104        unsafe {
1105            let mut value = Value::from_type(<GString as StaticType>::static_type());
1106            gobject_sys::g_object_get_property(
1107                self.to_glib_none().0 as *mut gobject_sys::GObject,
1108                b"gtk-im-module\0".as_ptr() as *const _,
1109                value.to_glib_none_mut().0,
1110            );
1111            value.get()
1112        }
1113    }
1114
1115    fn set_property_gtk_im_module(&self, gtk_im_module: Option<&str>) {
1116        unsafe {
1117            gobject_sys::g_object_set_property(
1118                self.to_glib_none().0 as *mut gobject_sys::GObject,
1119                b"gtk-im-module\0".as_ptr() as *const _,
1120                Value::from(gtk_im_module).to_glib_none().0,
1121            );
1122        }
1123    }
1124
1125    fn get_property_gtk_key_theme_name(&self) -> Option<GString> {
1126        unsafe {
1127            let mut value = Value::from_type(<GString as StaticType>::static_type());
1128            gobject_sys::g_object_get_property(
1129                self.to_glib_none().0 as *mut gobject_sys::GObject,
1130                b"gtk-key-theme-name\0".as_ptr() as *const _,
1131                value.to_glib_none_mut().0,
1132            );
1133            value.get()
1134        }
1135    }
1136
1137    fn set_property_gtk_key_theme_name(&self, gtk_key_theme_name: Option<&str>) {
1138        unsafe {
1139            gobject_sys::g_object_set_property(
1140                self.to_glib_none().0 as *mut gobject_sys::GObject,
1141                b"gtk-key-theme-name\0".as_ptr() as *const _,
1142                Value::from(gtk_key_theme_name).to_glib_none().0,
1143            );
1144        }
1145    }
1146
1147    #[cfg(any(feature = "v3_20", feature = "dox"))]
1148    fn get_property_gtk_keynav_use_caret(&self) -> bool {
1149        unsafe {
1150            let mut value = Value::from_type(<bool as StaticType>::static_type());
1151            gobject_sys::g_object_get_property(
1152                self.to_glib_none().0 as *mut gobject_sys::GObject,
1153                b"gtk-keynav-use-caret\0".as_ptr() as *const _,
1154                value.to_glib_none_mut().0,
1155            );
1156            value.get().unwrap()
1157        }
1158    }
1159
1160    #[cfg(any(feature = "v3_20", feature = "dox"))]
1161    fn set_property_gtk_keynav_use_caret(&self, gtk_keynav_use_caret: bool) {
1162        unsafe {
1163            gobject_sys::g_object_set_property(
1164                self.to_glib_none().0 as *mut gobject_sys::GObject,
1165                b"gtk-keynav-use-caret\0".as_ptr() as *const _,
1166                Value::from(&gtk_keynav_use_caret).to_glib_none().0,
1167            );
1168        }
1169    }
1170
1171    fn get_property_gtk_label_select_on_focus(&self) -> bool {
1172        unsafe {
1173            let mut value = Value::from_type(<bool as StaticType>::static_type());
1174            gobject_sys::g_object_get_property(
1175                self.to_glib_none().0 as *mut gobject_sys::GObject,
1176                b"gtk-label-select-on-focus\0".as_ptr() as *const _,
1177                value.to_glib_none_mut().0,
1178            );
1179            value.get().unwrap()
1180        }
1181    }
1182
1183    fn set_property_gtk_label_select_on_focus(&self, gtk_label_select_on_focus: bool) {
1184        unsafe {
1185            gobject_sys::g_object_set_property(
1186                self.to_glib_none().0 as *mut gobject_sys::GObject,
1187                b"gtk-label-select-on-focus\0".as_ptr() as *const _,
1188                Value::from(&gtk_label_select_on_focus).to_glib_none().0,
1189            );
1190        }
1191    }
1192
1193    fn get_property_gtk_long_press_time(&self) -> u32 {
1194        unsafe {
1195            let mut value = Value::from_type(<u32 as StaticType>::static_type());
1196            gobject_sys::g_object_get_property(
1197                self.to_glib_none().0 as *mut gobject_sys::GObject,
1198                b"gtk-long-press-time\0".as_ptr() as *const _,
1199                value.to_glib_none_mut().0,
1200            );
1201            value.get().unwrap()
1202        }
1203    }
1204
1205    fn set_property_gtk_long_press_time(&self, gtk_long_press_time: u32) {
1206        unsafe {
1207            gobject_sys::g_object_set_property(
1208                self.to_glib_none().0 as *mut gobject_sys::GObject,
1209                b"gtk-long-press-time\0".as_ptr() as *const _,
1210                Value::from(&gtk_long_press_time).to_glib_none().0,
1211            );
1212        }
1213    }
1214
1215    fn get_property_gtk_modules(&self) -> Option<GString> {
1216        unsafe {
1217            let mut value = Value::from_type(<GString as StaticType>::static_type());
1218            gobject_sys::g_object_get_property(
1219                self.to_glib_none().0 as *mut gobject_sys::GObject,
1220                b"gtk-modules\0".as_ptr() as *const _,
1221                value.to_glib_none_mut().0,
1222            );
1223            value.get()
1224        }
1225    }
1226
1227    fn set_property_gtk_modules(&self, gtk_modules: Option<&str>) {
1228        unsafe {
1229            gobject_sys::g_object_set_property(
1230                self.to_glib_none().0 as *mut gobject_sys::GObject,
1231                b"gtk-modules\0".as_ptr() as *const _,
1232                Value::from(gtk_modules).to_glib_none().0,
1233            );
1234        }
1235    }
1236
1237    fn get_property_gtk_primary_button_warps_slider(&self) -> bool {
1238        unsafe {
1239            let mut value = Value::from_type(<bool as StaticType>::static_type());
1240            gobject_sys::g_object_get_property(
1241                self.to_glib_none().0 as *mut gobject_sys::GObject,
1242                b"gtk-primary-button-warps-slider\0".as_ptr() as *const _,
1243                value.to_glib_none_mut().0,
1244            );
1245            value.get().unwrap()
1246        }
1247    }
1248
1249    fn set_property_gtk_primary_button_warps_slider(&self, gtk_primary_button_warps_slider: bool) {
1250        unsafe {
1251            gobject_sys::g_object_set_property(
1252                self.to_glib_none().0 as *mut gobject_sys::GObject,
1253                b"gtk-primary-button-warps-slider\0".as_ptr() as *const _,
1254                Value::from(&gtk_primary_button_warps_slider)
1255                    .to_glib_none()
1256                    .0,
1257            );
1258        }
1259    }
1260
1261    fn get_property_gtk_print_backends(&self) -> Option<GString> {
1262        unsafe {
1263            let mut value = Value::from_type(<GString as StaticType>::static_type());
1264            gobject_sys::g_object_get_property(
1265                self.to_glib_none().0 as *mut gobject_sys::GObject,
1266                b"gtk-print-backends\0".as_ptr() as *const _,
1267                value.to_glib_none_mut().0,
1268            );
1269            value.get()
1270        }
1271    }
1272
1273    fn set_property_gtk_print_backends(&self, gtk_print_backends: Option<&str>) {
1274        unsafe {
1275            gobject_sys::g_object_set_property(
1276                self.to_glib_none().0 as *mut gobject_sys::GObject,
1277                b"gtk-print-backends\0".as_ptr() as *const _,
1278                Value::from(gtk_print_backends).to_glib_none().0,
1279            );
1280        }
1281    }
1282
1283    fn get_property_gtk_print_preview_command(&self) -> Option<GString> {
1284        unsafe {
1285            let mut value = Value::from_type(<GString as StaticType>::static_type());
1286            gobject_sys::g_object_get_property(
1287                self.to_glib_none().0 as *mut gobject_sys::GObject,
1288                b"gtk-print-preview-command\0".as_ptr() as *const _,
1289                value.to_glib_none_mut().0,
1290            );
1291            value.get()
1292        }
1293    }
1294
1295    fn set_property_gtk_print_preview_command(&self, gtk_print_preview_command: Option<&str>) {
1296        unsafe {
1297            gobject_sys::g_object_set_property(
1298                self.to_glib_none().0 as *mut gobject_sys::GObject,
1299                b"gtk-print-preview-command\0".as_ptr() as *const _,
1300                Value::from(gtk_print_preview_command).to_glib_none().0,
1301            );
1302        }
1303    }
1304
1305    fn get_property_gtk_recent_files_enabled(&self) -> bool {
1306        unsafe {
1307            let mut value = Value::from_type(<bool as StaticType>::static_type());
1308            gobject_sys::g_object_get_property(
1309                self.to_glib_none().0 as *mut gobject_sys::GObject,
1310                b"gtk-recent-files-enabled\0".as_ptr() as *const _,
1311                value.to_glib_none_mut().0,
1312            );
1313            value.get().unwrap()
1314        }
1315    }
1316
1317    fn set_property_gtk_recent_files_enabled(&self, gtk_recent_files_enabled: bool) {
1318        unsafe {
1319            gobject_sys::g_object_set_property(
1320                self.to_glib_none().0 as *mut gobject_sys::GObject,
1321                b"gtk-recent-files-enabled\0".as_ptr() as *const _,
1322                Value::from(&gtk_recent_files_enabled).to_glib_none().0,
1323            );
1324        }
1325    }
1326
1327    fn get_property_gtk_recent_files_max_age(&self) -> i32 {
1328        unsafe {
1329            let mut value = Value::from_type(<i32 as StaticType>::static_type());
1330            gobject_sys::g_object_get_property(
1331                self.to_glib_none().0 as *mut gobject_sys::GObject,
1332                b"gtk-recent-files-max-age\0".as_ptr() as *const _,
1333                value.to_glib_none_mut().0,
1334            );
1335            value.get().unwrap()
1336        }
1337    }
1338
1339    fn set_property_gtk_recent_files_max_age(&self, gtk_recent_files_max_age: i32) {
1340        unsafe {
1341            gobject_sys::g_object_set_property(
1342                self.to_glib_none().0 as *mut gobject_sys::GObject,
1343                b"gtk-recent-files-max-age\0".as_ptr() as *const _,
1344                Value::from(&gtk_recent_files_max_age).to_glib_none().0,
1345            );
1346        }
1347    }
1348
1349    fn get_property_gtk_shell_shows_app_menu(&self) -> bool {
1350        unsafe {
1351            let mut value = Value::from_type(<bool as StaticType>::static_type());
1352            gobject_sys::g_object_get_property(
1353                self.to_glib_none().0 as *mut gobject_sys::GObject,
1354                b"gtk-shell-shows-app-menu\0".as_ptr() as *const _,
1355                value.to_glib_none_mut().0,
1356            );
1357            value.get().unwrap()
1358        }
1359    }
1360
1361    fn set_property_gtk_shell_shows_app_menu(&self, gtk_shell_shows_app_menu: bool) {
1362        unsafe {
1363            gobject_sys::g_object_set_property(
1364                self.to_glib_none().0 as *mut gobject_sys::GObject,
1365                b"gtk-shell-shows-app-menu\0".as_ptr() as *const _,
1366                Value::from(&gtk_shell_shows_app_menu).to_glib_none().0,
1367            );
1368        }
1369    }
1370
1371    fn get_property_gtk_shell_shows_desktop(&self) -> bool {
1372        unsafe {
1373            let mut value = Value::from_type(<bool as StaticType>::static_type());
1374            gobject_sys::g_object_get_property(
1375                self.to_glib_none().0 as *mut gobject_sys::GObject,
1376                b"gtk-shell-shows-desktop\0".as_ptr() as *const _,
1377                value.to_glib_none_mut().0,
1378            );
1379            value.get().unwrap()
1380        }
1381    }
1382
1383    fn set_property_gtk_shell_shows_desktop(&self, gtk_shell_shows_desktop: bool) {
1384        unsafe {
1385            gobject_sys::g_object_set_property(
1386                self.to_glib_none().0 as *mut gobject_sys::GObject,
1387                b"gtk-shell-shows-desktop\0".as_ptr() as *const _,
1388                Value::from(&gtk_shell_shows_desktop).to_glib_none().0,
1389            );
1390        }
1391    }
1392
1393    fn get_property_gtk_shell_shows_menubar(&self) -> bool {
1394        unsafe {
1395            let mut value = Value::from_type(<bool as StaticType>::static_type());
1396            gobject_sys::g_object_get_property(
1397                self.to_glib_none().0 as *mut gobject_sys::GObject,
1398                b"gtk-shell-shows-menubar\0".as_ptr() as *const _,
1399                value.to_glib_none_mut().0,
1400            );
1401            value.get().unwrap()
1402        }
1403    }
1404
1405    fn set_property_gtk_shell_shows_menubar(&self, gtk_shell_shows_menubar: bool) {
1406        unsafe {
1407            gobject_sys::g_object_set_property(
1408                self.to_glib_none().0 as *mut gobject_sys::GObject,
1409                b"gtk-shell-shows-menubar\0".as_ptr() as *const _,
1410                Value::from(&gtk_shell_shows_menubar).to_glib_none().0,
1411            );
1412        }
1413    }
1414
1415    fn get_property_gtk_sound_theme_name(&self) -> Option<GString> {
1416        unsafe {
1417            let mut value = Value::from_type(<GString as StaticType>::static_type());
1418            gobject_sys::g_object_get_property(
1419                self.to_glib_none().0 as *mut gobject_sys::GObject,
1420                b"gtk-sound-theme-name\0".as_ptr() as *const _,
1421                value.to_glib_none_mut().0,
1422            );
1423            value.get()
1424        }
1425    }
1426
1427    fn set_property_gtk_sound_theme_name(&self, gtk_sound_theme_name: Option<&str>) {
1428        unsafe {
1429            gobject_sys::g_object_set_property(
1430                self.to_glib_none().0 as *mut gobject_sys::GObject,
1431                b"gtk-sound-theme-name\0".as_ptr() as *const _,
1432                Value::from(gtk_sound_theme_name).to_glib_none().0,
1433            );
1434        }
1435    }
1436
1437    fn get_property_gtk_split_cursor(&self) -> bool {
1438        unsafe {
1439            let mut value = Value::from_type(<bool as StaticType>::static_type());
1440            gobject_sys::g_object_get_property(
1441                self.to_glib_none().0 as *mut gobject_sys::GObject,
1442                b"gtk-split-cursor\0".as_ptr() as *const _,
1443                value.to_glib_none_mut().0,
1444            );
1445            value.get().unwrap()
1446        }
1447    }
1448
1449    fn set_property_gtk_split_cursor(&self, gtk_split_cursor: bool) {
1450        unsafe {
1451            gobject_sys::g_object_set_property(
1452                self.to_glib_none().0 as *mut gobject_sys::GObject,
1453                b"gtk-split-cursor\0".as_ptr() as *const _,
1454                Value::from(&gtk_split_cursor).to_glib_none().0,
1455            );
1456        }
1457    }
1458
1459    fn get_property_gtk_theme_name(&self) -> Option<GString> {
1460        unsafe {
1461            let mut value = Value::from_type(<GString as StaticType>::static_type());
1462            gobject_sys::g_object_get_property(
1463                self.to_glib_none().0 as *mut gobject_sys::GObject,
1464                b"gtk-theme-name\0".as_ptr() as *const _,
1465                value.to_glib_none_mut().0,
1466            );
1467            value.get()
1468        }
1469    }
1470
1471    fn set_property_gtk_theme_name(&self, gtk_theme_name: Option<&str>) {
1472        unsafe {
1473            gobject_sys::g_object_set_property(
1474                self.to_glib_none().0 as *mut gobject_sys::GObject,
1475                b"gtk-theme-name\0".as_ptr() as *const _,
1476                Value::from(gtk_theme_name).to_glib_none().0,
1477            );
1478        }
1479    }
1480
1481    fn get_property_gtk_titlebar_double_click(&self) -> Option<GString> {
1482        unsafe {
1483            let mut value = Value::from_type(<GString as StaticType>::static_type());
1484            gobject_sys::g_object_get_property(
1485                self.to_glib_none().0 as *mut gobject_sys::GObject,
1486                b"gtk-titlebar-double-click\0".as_ptr() as *const _,
1487                value.to_glib_none_mut().0,
1488            );
1489            value.get()
1490        }
1491    }
1492
1493    fn set_property_gtk_titlebar_double_click(&self, gtk_titlebar_double_click: Option<&str>) {
1494        unsafe {
1495            gobject_sys::g_object_set_property(
1496                self.to_glib_none().0 as *mut gobject_sys::GObject,
1497                b"gtk-titlebar-double-click\0".as_ptr() as *const _,
1498                Value::from(gtk_titlebar_double_click).to_glib_none().0,
1499            );
1500        }
1501    }
1502
1503    fn get_property_gtk_titlebar_middle_click(&self) -> Option<GString> {
1504        unsafe {
1505            let mut value = Value::from_type(<GString as StaticType>::static_type());
1506            gobject_sys::g_object_get_property(
1507                self.to_glib_none().0 as *mut gobject_sys::GObject,
1508                b"gtk-titlebar-middle-click\0".as_ptr() as *const _,
1509                value.to_glib_none_mut().0,
1510            );
1511            value.get()
1512        }
1513    }
1514
1515    fn set_property_gtk_titlebar_middle_click(&self, gtk_titlebar_middle_click: Option<&str>) {
1516        unsafe {
1517            gobject_sys::g_object_set_property(
1518                self.to_glib_none().0 as *mut gobject_sys::GObject,
1519                b"gtk-titlebar-middle-click\0".as_ptr() as *const _,
1520                Value::from(gtk_titlebar_middle_click).to_glib_none().0,
1521            );
1522        }
1523    }
1524
1525    fn get_property_gtk_titlebar_right_click(&self) -> Option<GString> {
1526        unsafe {
1527            let mut value = Value::from_type(<GString as StaticType>::static_type());
1528            gobject_sys::g_object_get_property(
1529                self.to_glib_none().0 as *mut gobject_sys::GObject,
1530                b"gtk-titlebar-right-click\0".as_ptr() as *const _,
1531                value.to_glib_none_mut().0,
1532            );
1533            value.get()
1534        }
1535    }
1536
1537    fn set_property_gtk_titlebar_right_click(&self, gtk_titlebar_right_click: Option<&str>) {
1538        unsafe {
1539            gobject_sys::g_object_set_property(
1540                self.to_glib_none().0 as *mut gobject_sys::GObject,
1541                b"gtk-titlebar-right-click\0".as_ptr() as *const _,
1542                Value::from(gtk_titlebar_right_click).to_glib_none().0,
1543            );
1544        }
1545    }
1546
1547    fn get_property_gtk_xft_antialias(&self) -> i32 {
1548        unsafe {
1549            let mut value = Value::from_type(<i32 as StaticType>::static_type());
1550            gobject_sys::g_object_get_property(
1551                self.to_glib_none().0 as *mut gobject_sys::GObject,
1552                b"gtk-xft-antialias\0".as_ptr() as *const _,
1553                value.to_glib_none_mut().0,
1554            );
1555            value.get().unwrap()
1556        }
1557    }
1558
1559    fn set_property_gtk_xft_antialias(&self, gtk_xft_antialias: i32) {
1560        unsafe {
1561            gobject_sys::g_object_set_property(
1562                self.to_glib_none().0 as *mut gobject_sys::GObject,
1563                b"gtk-xft-antialias\0".as_ptr() as *const _,
1564                Value::from(&gtk_xft_antialias).to_glib_none().0,
1565            );
1566        }
1567    }
1568
1569    fn get_property_gtk_xft_dpi(&self) -> i32 {
1570        unsafe {
1571            let mut value = Value::from_type(<i32 as StaticType>::static_type());
1572            gobject_sys::g_object_get_property(
1573                self.to_glib_none().0 as *mut gobject_sys::GObject,
1574                b"gtk-xft-dpi\0".as_ptr() as *const _,
1575                value.to_glib_none_mut().0,
1576            );
1577            value.get().unwrap()
1578        }
1579    }
1580
1581    fn set_property_gtk_xft_dpi(&self, gtk_xft_dpi: i32) {
1582        unsafe {
1583            gobject_sys::g_object_set_property(
1584                self.to_glib_none().0 as *mut gobject_sys::GObject,
1585                b"gtk-xft-dpi\0".as_ptr() as *const _,
1586                Value::from(&gtk_xft_dpi).to_glib_none().0,
1587            );
1588        }
1589    }
1590
1591    fn get_property_gtk_xft_hinting(&self) -> i32 {
1592        unsafe {
1593            let mut value = Value::from_type(<i32 as StaticType>::static_type());
1594            gobject_sys::g_object_get_property(
1595                self.to_glib_none().0 as *mut gobject_sys::GObject,
1596                b"gtk-xft-hinting\0".as_ptr() as *const _,
1597                value.to_glib_none_mut().0,
1598            );
1599            value.get().unwrap()
1600        }
1601    }
1602
1603    fn set_property_gtk_xft_hinting(&self, gtk_xft_hinting: i32) {
1604        unsafe {
1605            gobject_sys::g_object_set_property(
1606                self.to_glib_none().0 as *mut gobject_sys::GObject,
1607                b"gtk-xft-hinting\0".as_ptr() as *const _,
1608                Value::from(&gtk_xft_hinting).to_glib_none().0,
1609            );
1610        }
1611    }
1612
1613    fn get_property_gtk_xft_hintstyle(&self) -> Option<GString> {
1614        unsafe {
1615            let mut value = Value::from_type(<GString as StaticType>::static_type());
1616            gobject_sys::g_object_get_property(
1617                self.to_glib_none().0 as *mut gobject_sys::GObject,
1618                b"gtk-xft-hintstyle\0".as_ptr() as *const _,
1619                value.to_glib_none_mut().0,
1620            );
1621            value.get()
1622        }
1623    }
1624
1625    fn set_property_gtk_xft_hintstyle(&self, gtk_xft_hintstyle: Option<&str>) {
1626        unsafe {
1627            gobject_sys::g_object_set_property(
1628                self.to_glib_none().0 as *mut gobject_sys::GObject,
1629                b"gtk-xft-hintstyle\0".as_ptr() as *const _,
1630                Value::from(gtk_xft_hintstyle).to_glib_none().0,
1631            );
1632        }
1633    }
1634
1635    fn get_property_gtk_xft_rgba(&self) -> Option<GString> {
1636        unsafe {
1637            let mut value = Value::from_type(<GString as StaticType>::static_type());
1638            gobject_sys::g_object_get_property(
1639                self.to_glib_none().0 as *mut gobject_sys::GObject,
1640                b"gtk-xft-rgba\0".as_ptr() as *const _,
1641                value.to_glib_none_mut().0,
1642            );
1643            value.get()
1644        }
1645    }
1646
1647    fn set_property_gtk_xft_rgba(&self, gtk_xft_rgba: Option<&str>) {
1648        unsafe {
1649            gobject_sys::g_object_set_property(
1650                self.to_glib_none().0 as *mut gobject_sys::GObject,
1651                b"gtk-xft-rgba\0".as_ptr() as *const _,
1652                Value::from(gtk_xft_rgba).to_glib_none().0,
1653            );
1654        }
1655    }
1656
1657    fn connect_property_gtk_alternative_button_order_notify<F: Fn(&Self) + 'static>(
1658        &self,
1659        f: F,
1660    ) -> SignalHandlerId {
1661        unsafe extern "C" fn notify_gtk_alternative_button_order_trampoline<
1662            P,
1663            F: Fn(&P) + 'static,
1664        >(
1665            this: *mut gtk_sys::GtkSettings,
1666            _param_spec: glib_sys::gpointer,
1667            f: glib_sys::gpointer,
1668        ) where
1669            P: IsA<Settings>,
1670        {
1671            let f: &F = &*(f as *const F);
1672            f(&Settings::from_glib_borrow(this).unsafe_cast())
1673        }
1674        unsafe {
1675            let f: Box_<F> = Box_::new(f);
1676            connect_raw(
1677                self.as_ptr() as *mut _,
1678                b"notify::gtk-alternative-button-order\0".as_ptr() as *const _,
1679                Some(transmute(
1680                    notify_gtk_alternative_button_order_trampoline::<Self, F> as usize,
1681                )),
1682                Box_::into_raw(f),
1683            )
1684        }
1685    }
1686
1687    fn connect_property_gtk_alternative_sort_arrows_notify<F: Fn(&Self) + 'static>(
1688        &self,
1689        f: F,
1690    ) -> SignalHandlerId {
1691        unsafe extern "C" fn notify_gtk_alternative_sort_arrows_trampoline<P, F: Fn(&P) + 'static>(
1692            this: *mut gtk_sys::GtkSettings,
1693            _param_spec: glib_sys::gpointer,
1694            f: glib_sys::gpointer,
1695        ) where
1696            P: IsA<Settings>,
1697        {
1698            let f: &F = &*(f as *const F);
1699            f(&Settings::from_glib_borrow(this).unsafe_cast())
1700        }
1701        unsafe {
1702            let f: Box_<F> = Box_::new(f);
1703            connect_raw(
1704                self.as_ptr() as *mut _,
1705                b"notify::gtk-alternative-sort-arrows\0".as_ptr() as *const _,
1706                Some(transmute(
1707                    notify_gtk_alternative_sort_arrows_trampoline::<Self, F> as usize,
1708                )),
1709                Box_::into_raw(f),
1710            )
1711        }
1712    }
1713
1714    fn connect_property_gtk_application_prefer_dark_theme_notify<F: Fn(&Self) + 'static>(
1715        &self,
1716        f: F,
1717    ) -> SignalHandlerId {
1718        unsafe extern "C" fn notify_gtk_application_prefer_dark_theme_trampoline<
1719            P,
1720            F: Fn(&P) + 'static,
1721        >(
1722            this: *mut gtk_sys::GtkSettings,
1723            _param_spec: glib_sys::gpointer,
1724            f: glib_sys::gpointer,
1725        ) where
1726            P: IsA<Settings>,
1727        {
1728            let f: &F = &*(f as *const F);
1729            f(&Settings::from_glib_borrow(this).unsafe_cast())
1730        }
1731        unsafe {
1732            let f: Box_<F> = Box_::new(f);
1733            connect_raw(
1734                self.as_ptr() as *mut _,
1735                b"notify::gtk-application-prefer-dark-theme\0".as_ptr() as *const _,
1736                Some(transmute(
1737                    notify_gtk_application_prefer_dark_theme_trampoline::<Self, F> as usize,
1738                )),
1739                Box_::into_raw(f),
1740            )
1741        }
1742    }
1743
1744    fn connect_property_gtk_cursor_blink_notify<F: Fn(&Self) + 'static>(
1745        &self,
1746        f: F,
1747    ) -> SignalHandlerId {
1748        unsafe extern "C" fn notify_gtk_cursor_blink_trampoline<P, F: Fn(&P) + 'static>(
1749            this: *mut gtk_sys::GtkSettings,
1750            _param_spec: glib_sys::gpointer,
1751            f: glib_sys::gpointer,
1752        ) where
1753            P: IsA<Settings>,
1754        {
1755            let f: &F = &*(f as *const F);
1756            f(&Settings::from_glib_borrow(this).unsafe_cast())
1757        }
1758        unsafe {
1759            let f: Box_<F> = Box_::new(f);
1760            connect_raw(
1761                self.as_ptr() as *mut _,
1762                b"notify::gtk-cursor-blink\0".as_ptr() as *const _,
1763                Some(transmute(
1764                    notify_gtk_cursor_blink_trampoline::<Self, F> as usize,
1765                )),
1766                Box_::into_raw(f),
1767            )
1768        }
1769    }
1770
1771    fn connect_property_gtk_cursor_blink_time_notify<F: Fn(&Self) + 'static>(
1772        &self,
1773        f: F,
1774    ) -> SignalHandlerId {
1775        unsafe extern "C" fn notify_gtk_cursor_blink_time_trampoline<P, F: Fn(&P) + 'static>(
1776            this: *mut gtk_sys::GtkSettings,
1777            _param_spec: glib_sys::gpointer,
1778            f: glib_sys::gpointer,
1779        ) where
1780            P: IsA<Settings>,
1781        {
1782            let f: &F = &*(f as *const F);
1783            f(&Settings::from_glib_borrow(this).unsafe_cast())
1784        }
1785        unsafe {
1786            let f: Box_<F> = Box_::new(f);
1787            connect_raw(
1788                self.as_ptr() as *mut _,
1789                b"notify::gtk-cursor-blink-time\0".as_ptr() as *const _,
1790                Some(transmute(
1791                    notify_gtk_cursor_blink_time_trampoline::<Self, F> as usize,
1792                )),
1793                Box_::into_raw(f),
1794            )
1795        }
1796    }
1797
1798    fn connect_property_gtk_cursor_blink_timeout_notify<F: Fn(&Self) + 'static>(
1799        &self,
1800        f: F,
1801    ) -> SignalHandlerId {
1802        unsafe extern "C" fn notify_gtk_cursor_blink_timeout_trampoline<P, F: Fn(&P) + 'static>(
1803            this: *mut gtk_sys::GtkSettings,
1804            _param_spec: glib_sys::gpointer,
1805            f: glib_sys::gpointer,
1806        ) where
1807            P: IsA<Settings>,
1808        {
1809            let f: &F = &*(f as *const F);
1810            f(&Settings::from_glib_borrow(this).unsafe_cast())
1811        }
1812        unsafe {
1813            let f: Box_<F> = Box_::new(f);
1814            connect_raw(
1815                self.as_ptr() as *mut _,
1816                b"notify::gtk-cursor-blink-timeout\0".as_ptr() as *const _,
1817                Some(transmute(
1818                    notify_gtk_cursor_blink_timeout_trampoline::<Self, F> as usize,
1819                )),
1820                Box_::into_raw(f),
1821            )
1822        }
1823    }
1824
1825    fn connect_property_gtk_cursor_theme_name_notify<F: Fn(&Self) + 'static>(
1826        &self,
1827        f: F,
1828    ) -> SignalHandlerId {
1829        unsafe extern "C" fn notify_gtk_cursor_theme_name_trampoline<P, F: Fn(&P) + 'static>(
1830            this: *mut gtk_sys::GtkSettings,
1831            _param_spec: glib_sys::gpointer,
1832            f: glib_sys::gpointer,
1833        ) where
1834            P: IsA<Settings>,
1835        {
1836            let f: &F = &*(f as *const F);
1837            f(&Settings::from_glib_borrow(this).unsafe_cast())
1838        }
1839        unsafe {
1840            let f: Box_<F> = Box_::new(f);
1841            connect_raw(
1842                self.as_ptr() as *mut _,
1843                b"notify::gtk-cursor-theme-name\0".as_ptr() as *const _,
1844                Some(transmute(
1845                    notify_gtk_cursor_theme_name_trampoline::<Self, F> as usize,
1846                )),
1847                Box_::into_raw(f),
1848            )
1849        }
1850    }
1851
1852    fn connect_property_gtk_cursor_theme_size_notify<F: Fn(&Self) + 'static>(
1853        &self,
1854        f: F,
1855    ) -> SignalHandlerId {
1856        unsafe extern "C" fn notify_gtk_cursor_theme_size_trampoline<P, F: Fn(&P) + 'static>(
1857            this: *mut gtk_sys::GtkSettings,
1858            _param_spec: glib_sys::gpointer,
1859            f: glib_sys::gpointer,
1860        ) where
1861            P: IsA<Settings>,
1862        {
1863            let f: &F = &*(f as *const F);
1864            f(&Settings::from_glib_borrow(this).unsafe_cast())
1865        }
1866        unsafe {
1867            let f: Box_<F> = Box_::new(f);
1868            connect_raw(
1869                self.as_ptr() as *mut _,
1870                b"notify::gtk-cursor-theme-size\0".as_ptr() as *const _,
1871                Some(transmute(
1872                    notify_gtk_cursor_theme_size_trampoline::<Self, F> as usize,
1873                )),
1874                Box_::into_raw(f),
1875            )
1876        }
1877    }
1878
1879    fn connect_property_gtk_decoration_layout_notify<F: Fn(&Self) + 'static>(
1880        &self,
1881        f: F,
1882    ) -> SignalHandlerId {
1883        unsafe extern "C" fn notify_gtk_decoration_layout_trampoline<P, F: Fn(&P) + 'static>(
1884            this: *mut gtk_sys::GtkSettings,
1885            _param_spec: glib_sys::gpointer,
1886            f: glib_sys::gpointer,
1887        ) where
1888            P: IsA<Settings>,
1889        {
1890            let f: &F = &*(f as *const F);
1891            f(&Settings::from_glib_borrow(this).unsafe_cast())
1892        }
1893        unsafe {
1894            let f: Box_<F> = Box_::new(f);
1895            connect_raw(
1896                self.as_ptr() as *mut _,
1897                b"notify::gtk-decoration-layout\0".as_ptr() as *const _,
1898                Some(transmute(
1899                    notify_gtk_decoration_layout_trampoline::<Self, F> as usize,
1900                )),
1901                Box_::into_raw(f),
1902            )
1903        }
1904    }
1905
1906    fn connect_property_gtk_dialogs_use_header_notify<F: Fn(&Self) + 'static>(
1907        &self,
1908        f: F,
1909    ) -> SignalHandlerId {
1910        unsafe extern "C" fn notify_gtk_dialogs_use_header_trampoline<P, F: Fn(&P) + 'static>(
1911            this: *mut gtk_sys::GtkSettings,
1912            _param_spec: glib_sys::gpointer,
1913            f: glib_sys::gpointer,
1914        ) where
1915            P: IsA<Settings>,
1916        {
1917            let f: &F = &*(f as *const F);
1918            f(&Settings::from_glib_borrow(this).unsafe_cast())
1919        }
1920        unsafe {
1921            let f: Box_<F> = Box_::new(f);
1922            connect_raw(
1923                self.as_ptr() as *mut _,
1924                b"notify::gtk-dialogs-use-header\0".as_ptr() as *const _,
1925                Some(transmute(
1926                    notify_gtk_dialogs_use_header_trampoline::<Self, F> as usize,
1927                )),
1928                Box_::into_raw(f),
1929            )
1930        }
1931    }
1932
1933    fn connect_property_gtk_dnd_drag_threshold_notify<F: Fn(&Self) + 'static>(
1934        &self,
1935        f: F,
1936    ) -> SignalHandlerId {
1937        unsafe extern "C" fn notify_gtk_dnd_drag_threshold_trampoline<P, F: Fn(&P) + 'static>(
1938            this: *mut gtk_sys::GtkSettings,
1939            _param_spec: glib_sys::gpointer,
1940            f: glib_sys::gpointer,
1941        ) where
1942            P: IsA<Settings>,
1943        {
1944            let f: &F = &*(f as *const F);
1945            f(&Settings::from_glib_borrow(this).unsafe_cast())
1946        }
1947        unsafe {
1948            let f: Box_<F> = Box_::new(f);
1949            connect_raw(
1950                self.as_ptr() as *mut _,
1951                b"notify::gtk-dnd-drag-threshold\0".as_ptr() as *const _,
1952                Some(transmute(
1953                    notify_gtk_dnd_drag_threshold_trampoline::<Self, F> as usize,
1954                )),
1955                Box_::into_raw(f),
1956            )
1957        }
1958    }
1959
1960    fn connect_property_gtk_double_click_distance_notify<F: Fn(&Self) + 'static>(
1961        &self,
1962        f: F,
1963    ) -> SignalHandlerId {
1964        unsafe extern "C" fn notify_gtk_double_click_distance_trampoline<P, F: Fn(&P) + 'static>(
1965            this: *mut gtk_sys::GtkSettings,
1966            _param_spec: glib_sys::gpointer,
1967            f: glib_sys::gpointer,
1968        ) where
1969            P: IsA<Settings>,
1970        {
1971            let f: &F = &*(f as *const F);
1972            f(&Settings::from_glib_borrow(this).unsafe_cast())
1973        }
1974        unsafe {
1975            let f: Box_<F> = Box_::new(f);
1976            connect_raw(
1977                self.as_ptr() as *mut _,
1978                b"notify::gtk-double-click-distance\0".as_ptr() as *const _,
1979                Some(transmute(
1980                    notify_gtk_double_click_distance_trampoline::<Self, F> as usize,
1981                )),
1982                Box_::into_raw(f),
1983            )
1984        }
1985    }
1986
1987    fn connect_property_gtk_double_click_time_notify<F: Fn(&Self) + 'static>(
1988        &self,
1989        f: F,
1990    ) -> SignalHandlerId {
1991        unsafe extern "C" fn notify_gtk_double_click_time_trampoline<P, F: Fn(&P) + 'static>(
1992            this: *mut gtk_sys::GtkSettings,
1993            _param_spec: glib_sys::gpointer,
1994            f: glib_sys::gpointer,
1995        ) where
1996            P: IsA<Settings>,
1997        {
1998            let f: &F = &*(f as *const F);
1999            f(&Settings::from_glib_borrow(this).unsafe_cast())
2000        }
2001        unsafe {
2002            let f: Box_<F> = Box_::new(f);
2003            connect_raw(
2004                self.as_ptr() as *mut _,
2005                b"notify::gtk-double-click-time\0".as_ptr() as *const _,
2006                Some(transmute(
2007                    notify_gtk_double_click_time_trampoline::<Self, F> as usize,
2008                )),
2009                Box_::into_raw(f),
2010            )
2011        }
2012    }
2013
2014    fn connect_property_gtk_enable_accels_notify<F: Fn(&Self) + 'static>(
2015        &self,
2016        f: F,
2017    ) -> SignalHandlerId {
2018        unsafe extern "C" fn notify_gtk_enable_accels_trampoline<P, F: Fn(&P) + 'static>(
2019            this: *mut gtk_sys::GtkSettings,
2020            _param_spec: glib_sys::gpointer,
2021            f: glib_sys::gpointer,
2022        ) where
2023            P: IsA<Settings>,
2024        {
2025            let f: &F = &*(f as *const F);
2026            f(&Settings::from_glib_borrow(this).unsafe_cast())
2027        }
2028        unsafe {
2029            let f: Box_<F> = Box_::new(f);
2030            connect_raw(
2031                self.as_ptr() as *mut _,
2032                b"notify::gtk-enable-accels\0".as_ptr() as *const _,
2033                Some(transmute(
2034                    notify_gtk_enable_accels_trampoline::<Self, F> as usize,
2035                )),
2036                Box_::into_raw(f),
2037            )
2038        }
2039    }
2040
2041    fn connect_property_gtk_enable_animations_notify<F: Fn(&Self) + 'static>(
2042        &self,
2043        f: F,
2044    ) -> SignalHandlerId {
2045        unsafe extern "C" fn notify_gtk_enable_animations_trampoline<P, F: Fn(&P) + 'static>(
2046            this: *mut gtk_sys::GtkSettings,
2047            _param_spec: glib_sys::gpointer,
2048            f: glib_sys::gpointer,
2049        ) where
2050            P: IsA<Settings>,
2051        {
2052            let f: &F = &*(f as *const F);
2053            f(&Settings::from_glib_borrow(this).unsafe_cast())
2054        }
2055        unsafe {
2056            let f: Box_<F> = Box_::new(f);
2057            connect_raw(
2058                self.as_ptr() as *mut _,
2059                b"notify::gtk-enable-animations\0".as_ptr() as *const _,
2060                Some(transmute(
2061                    notify_gtk_enable_animations_trampoline::<Self, F> as usize,
2062                )),
2063                Box_::into_raw(f),
2064            )
2065        }
2066    }
2067
2068    fn connect_property_gtk_enable_event_sounds_notify<F: Fn(&Self) + 'static>(
2069        &self,
2070        f: F,
2071    ) -> SignalHandlerId {
2072        unsafe extern "C" fn notify_gtk_enable_event_sounds_trampoline<P, F: Fn(&P) + 'static>(
2073            this: *mut gtk_sys::GtkSettings,
2074            _param_spec: glib_sys::gpointer,
2075            f: glib_sys::gpointer,
2076        ) where
2077            P: IsA<Settings>,
2078        {
2079            let f: &F = &*(f as *const F);
2080            f(&Settings::from_glib_borrow(this).unsafe_cast())
2081        }
2082        unsafe {
2083            let f: Box_<F> = Box_::new(f);
2084            connect_raw(
2085                self.as_ptr() as *mut _,
2086                b"notify::gtk-enable-event-sounds\0".as_ptr() as *const _,
2087                Some(transmute(
2088                    notify_gtk_enable_event_sounds_trampoline::<Self, F> as usize,
2089                )),
2090                Box_::into_raw(f),
2091            )
2092        }
2093    }
2094
2095    fn connect_property_gtk_enable_input_feedback_sounds_notify<F: Fn(&Self) + 'static>(
2096        &self,
2097        f: F,
2098    ) -> SignalHandlerId {
2099        unsafe extern "C" fn notify_gtk_enable_input_feedback_sounds_trampoline<
2100            P,
2101            F: Fn(&P) + 'static,
2102        >(
2103            this: *mut gtk_sys::GtkSettings,
2104            _param_spec: glib_sys::gpointer,
2105            f: glib_sys::gpointer,
2106        ) where
2107            P: IsA<Settings>,
2108        {
2109            let f: &F = &*(f as *const F);
2110            f(&Settings::from_glib_borrow(this).unsafe_cast())
2111        }
2112        unsafe {
2113            let f: Box_<F> = Box_::new(f);
2114            connect_raw(
2115                self.as_ptr() as *mut _,
2116                b"notify::gtk-enable-input-feedback-sounds\0".as_ptr() as *const _,
2117                Some(transmute(
2118                    notify_gtk_enable_input_feedback_sounds_trampoline::<Self, F> as usize,
2119                )),
2120                Box_::into_raw(f),
2121            )
2122        }
2123    }
2124
2125    fn connect_property_gtk_enable_primary_paste_notify<F: Fn(&Self) + 'static>(
2126        &self,
2127        f: F,
2128    ) -> SignalHandlerId {
2129        unsafe extern "C" fn notify_gtk_enable_primary_paste_trampoline<P, F: Fn(&P) + 'static>(
2130            this: *mut gtk_sys::GtkSettings,
2131            _param_spec: glib_sys::gpointer,
2132            f: glib_sys::gpointer,
2133        ) where
2134            P: IsA<Settings>,
2135        {
2136            let f: &F = &*(f as *const F);
2137            f(&Settings::from_glib_borrow(this).unsafe_cast())
2138        }
2139        unsafe {
2140            let f: Box_<F> = Box_::new(f);
2141            connect_raw(
2142                self.as_ptr() as *mut _,
2143                b"notify::gtk-enable-primary-paste\0".as_ptr() as *const _,
2144                Some(transmute(
2145                    notify_gtk_enable_primary_paste_trampoline::<Self, F> as usize,
2146                )),
2147                Box_::into_raw(f),
2148            )
2149        }
2150    }
2151
2152    fn connect_property_gtk_entry_password_hint_timeout_notify<F: Fn(&Self) + 'static>(
2153        &self,
2154        f: F,
2155    ) -> SignalHandlerId {
2156        unsafe extern "C" fn notify_gtk_entry_password_hint_timeout_trampoline<
2157            P,
2158            F: Fn(&P) + 'static,
2159        >(
2160            this: *mut gtk_sys::GtkSettings,
2161            _param_spec: glib_sys::gpointer,
2162            f: glib_sys::gpointer,
2163        ) where
2164            P: IsA<Settings>,
2165        {
2166            let f: &F = &*(f as *const F);
2167            f(&Settings::from_glib_borrow(this).unsafe_cast())
2168        }
2169        unsafe {
2170            let f: Box_<F> = Box_::new(f);
2171            connect_raw(
2172                self.as_ptr() as *mut _,
2173                b"notify::gtk-entry-password-hint-timeout\0".as_ptr() as *const _,
2174                Some(transmute(
2175                    notify_gtk_entry_password_hint_timeout_trampoline::<Self, F> as usize,
2176                )),
2177                Box_::into_raw(f),
2178            )
2179        }
2180    }
2181
2182    fn connect_property_gtk_entry_select_on_focus_notify<F: Fn(&Self) + 'static>(
2183        &self,
2184        f: F,
2185    ) -> SignalHandlerId {
2186        unsafe extern "C" fn notify_gtk_entry_select_on_focus_trampoline<P, F: Fn(&P) + 'static>(
2187            this: *mut gtk_sys::GtkSettings,
2188            _param_spec: glib_sys::gpointer,
2189            f: glib_sys::gpointer,
2190        ) where
2191            P: IsA<Settings>,
2192        {
2193            let f: &F = &*(f as *const F);
2194            f(&Settings::from_glib_borrow(this).unsafe_cast())
2195        }
2196        unsafe {
2197            let f: Box_<F> = Box_::new(f);
2198            connect_raw(
2199                self.as_ptr() as *mut _,
2200                b"notify::gtk-entry-select-on-focus\0".as_ptr() as *const _,
2201                Some(transmute(
2202                    notify_gtk_entry_select_on_focus_trampoline::<Self, F> as usize,
2203                )),
2204                Box_::into_raw(f),
2205            )
2206        }
2207    }
2208
2209    fn connect_property_gtk_error_bell_notify<F: Fn(&Self) + 'static>(
2210        &self,
2211        f: F,
2212    ) -> SignalHandlerId {
2213        unsafe extern "C" fn notify_gtk_error_bell_trampoline<P, F: Fn(&P) + 'static>(
2214            this: *mut gtk_sys::GtkSettings,
2215            _param_spec: glib_sys::gpointer,
2216            f: glib_sys::gpointer,
2217        ) where
2218            P: IsA<Settings>,
2219        {
2220            let f: &F = &*(f as *const F);
2221            f(&Settings::from_glib_borrow(this).unsafe_cast())
2222        }
2223        unsafe {
2224            let f: Box_<F> = Box_::new(f);
2225            connect_raw(
2226                self.as_ptr() as *mut _,
2227                b"notify::gtk-error-bell\0".as_ptr() as *const _,
2228                Some(transmute(
2229                    notify_gtk_error_bell_trampoline::<Self, F> as usize,
2230                )),
2231                Box_::into_raw(f),
2232            )
2233        }
2234    }
2235
2236    fn connect_property_gtk_font_name_notify<F: Fn(&Self) + 'static>(
2237        &self,
2238        f: F,
2239    ) -> SignalHandlerId {
2240        unsafe extern "C" fn notify_gtk_font_name_trampoline<P, F: Fn(&P) + 'static>(
2241            this: *mut gtk_sys::GtkSettings,
2242            _param_spec: glib_sys::gpointer,
2243            f: glib_sys::gpointer,
2244        ) where
2245            P: IsA<Settings>,
2246        {
2247            let f: &F = &*(f as *const F);
2248            f(&Settings::from_glib_borrow(this).unsafe_cast())
2249        }
2250        unsafe {
2251            let f: Box_<F> = Box_::new(f);
2252            connect_raw(
2253                self.as_ptr() as *mut _,
2254                b"notify::gtk-font-name\0".as_ptr() as *const _,
2255                Some(transmute(
2256                    notify_gtk_font_name_trampoline::<Self, F> as usize,
2257                )),
2258                Box_::into_raw(f),
2259            )
2260        }
2261    }
2262
2263    fn connect_property_gtk_fontconfig_timestamp_notify<F: Fn(&Self) + 'static>(
2264        &self,
2265        f: F,
2266    ) -> SignalHandlerId {
2267        unsafe extern "C" fn notify_gtk_fontconfig_timestamp_trampoline<P, F: Fn(&P) + 'static>(
2268            this: *mut gtk_sys::GtkSettings,
2269            _param_spec: glib_sys::gpointer,
2270            f: glib_sys::gpointer,
2271        ) where
2272            P: IsA<Settings>,
2273        {
2274            let f: &F = &*(f as *const F);
2275            f(&Settings::from_glib_borrow(this).unsafe_cast())
2276        }
2277        unsafe {
2278            let f: Box_<F> = Box_::new(f);
2279            connect_raw(
2280                self.as_ptr() as *mut _,
2281                b"notify::gtk-fontconfig-timestamp\0".as_ptr() as *const _,
2282                Some(transmute(
2283                    notify_gtk_fontconfig_timestamp_trampoline::<Self, F> as usize,
2284                )),
2285                Box_::into_raw(f),
2286            )
2287        }
2288    }
2289
2290    fn connect_property_gtk_icon_theme_name_notify<F: Fn(&Self) + 'static>(
2291        &self,
2292        f: F,
2293    ) -> SignalHandlerId {
2294        unsafe extern "C" fn notify_gtk_icon_theme_name_trampoline<P, F: Fn(&P) + 'static>(
2295            this: *mut gtk_sys::GtkSettings,
2296            _param_spec: glib_sys::gpointer,
2297            f: glib_sys::gpointer,
2298        ) where
2299            P: IsA<Settings>,
2300        {
2301            let f: &F = &*(f as *const F);
2302            f(&Settings::from_glib_borrow(this).unsafe_cast())
2303        }
2304        unsafe {
2305            let f: Box_<F> = Box_::new(f);
2306            connect_raw(
2307                self.as_ptr() as *mut _,
2308                b"notify::gtk-icon-theme-name\0".as_ptr() as *const _,
2309                Some(transmute(
2310                    notify_gtk_icon_theme_name_trampoline::<Self, F> as usize,
2311                )),
2312                Box_::into_raw(f),
2313            )
2314        }
2315    }
2316
2317    fn connect_property_gtk_im_module_notify<F: Fn(&Self) + 'static>(
2318        &self,
2319        f: F,
2320    ) -> SignalHandlerId {
2321        unsafe extern "C" fn notify_gtk_im_module_trampoline<P, F: Fn(&P) + 'static>(
2322            this: *mut gtk_sys::GtkSettings,
2323            _param_spec: glib_sys::gpointer,
2324            f: glib_sys::gpointer,
2325        ) where
2326            P: IsA<Settings>,
2327        {
2328            let f: &F = &*(f as *const F);
2329            f(&Settings::from_glib_borrow(this).unsafe_cast())
2330        }
2331        unsafe {
2332            let f: Box_<F> = Box_::new(f);
2333            connect_raw(
2334                self.as_ptr() as *mut _,
2335                b"notify::gtk-im-module\0".as_ptr() as *const _,
2336                Some(transmute(
2337                    notify_gtk_im_module_trampoline::<Self, F> as usize,
2338                )),
2339                Box_::into_raw(f),
2340            )
2341        }
2342    }
2343
2344    fn connect_property_gtk_key_theme_name_notify<F: Fn(&Self) + 'static>(
2345        &self,
2346        f: F,
2347    ) -> SignalHandlerId {
2348        unsafe extern "C" fn notify_gtk_key_theme_name_trampoline<P, F: Fn(&P) + 'static>(
2349            this: *mut gtk_sys::GtkSettings,
2350            _param_spec: glib_sys::gpointer,
2351            f: glib_sys::gpointer,
2352        ) where
2353            P: IsA<Settings>,
2354        {
2355            let f: &F = &*(f as *const F);
2356            f(&Settings::from_glib_borrow(this).unsafe_cast())
2357        }
2358        unsafe {
2359            let f: Box_<F> = Box_::new(f);
2360            connect_raw(
2361                self.as_ptr() as *mut _,
2362                b"notify::gtk-key-theme-name\0".as_ptr() as *const _,
2363                Some(transmute(
2364                    notify_gtk_key_theme_name_trampoline::<Self, F> as usize,
2365                )),
2366                Box_::into_raw(f),
2367            )
2368        }
2369    }
2370
2371    #[cfg(any(feature = "v3_20", feature = "dox"))]
2372    fn connect_property_gtk_keynav_use_caret_notify<F: Fn(&Self) + 'static>(
2373        &self,
2374        f: F,
2375    ) -> SignalHandlerId {
2376        unsafe extern "C" fn notify_gtk_keynav_use_caret_trampoline<P, F: Fn(&P) + 'static>(
2377            this: *mut gtk_sys::GtkSettings,
2378            _param_spec: glib_sys::gpointer,
2379            f: glib_sys::gpointer,
2380        ) where
2381            P: IsA<Settings>,
2382        {
2383            let f: &F = &*(f as *const F);
2384            f(&Settings::from_glib_borrow(this).unsafe_cast())
2385        }
2386        unsafe {
2387            let f: Box_<F> = Box_::new(f);
2388            connect_raw(
2389                self.as_ptr() as *mut _,
2390                b"notify::gtk-keynav-use-caret\0".as_ptr() as *const _,
2391                Some(transmute(
2392                    notify_gtk_keynav_use_caret_trampoline::<Self, F> as usize,
2393                )),
2394                Box_::into_raw(f),
2395            )
2396        }
2397    }
2398
2399    fn connect_property_gtk_label_select_on_focus_notify<F: Fn(&Self) + 'static>(
2400        &self,
2401        f: F,
2402    ) -> SignalHandlerId {
2403        unsafe extern "C" fn notify_gtk_label_select_on_focus_trampoline<P, F: Fn(&P) + 'static>(
2404            this: *mut gtk_sys::GtkSettings,
2405            _param_spec: glib_sys::gpointer,
2406            f: glib_sys::gpointer,
2407        ) where
2408            P: IsA<Settings>,
2409        {
2410            let f: &F = &*(f as *const F);
2411            f(&Settings::from_glib_borrow(this).unsafe_cast())
2412        }
2413        unsafe {
2414            let f: Box_<F> = Box_::new(f);
2415            connect_raw(
2416                self.as_ptr() as *mut _,
2417                b"notify::gtk-label-select-on-focus\0".as_ptr() as *const _,
2418                Some(transmute(
2419                    notify_gtk_label_select_on_focus_trampoline::<Self, F> as usize,
2420                )),
2421                Box_::into_raw(f),
2422            )
2423        }
2424    }
2425
2426    fn connect_property_gtk_long_press_time_notify<F: Fn(&Self) + 'static>(
2427        &self,
2428        f: F,
2429    ) -> SignalHandlerId {
2430        unsafe extern "C" fn notify_gtk_long_press_time_trampoline<P, F: Fn(&P) + 'static>(
2431            this: *mut gtk_sys::GtkSettings,
2432            _param_spec: glib_sys::gpointer,
2433            f: glib_sys::gpointer,
2434        ) where
2435            P: IsA<Settings>,
2436        {
2437            let f: &F = &*(f as *const F);
2438            f(&Settings::from_glib_borrow(this).unsafe_cast())
2439        }
2440        unsafe {
2441            let f: Box_<F> = Box_::new(f);
2442            connect_raw(
2443                self.as_ptr() as *mut _,
2444                b"notify::gtk-long-press-time\0".as_ptr() as *const _,
2445                Some(transmute(
2446                    notify_gtk_long_press_time_trampoline::<Self, F> as usize,
2447                )),
2448                Box_::into_raw(f),
2449            )
2450        }
2451    }
2452
2453    fn connect_property_gtk_modules_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2454        unsafe extern "C" fn notify_gtk_modules_trampoline<P, F: Fn(&P) + 'static>(
2455            this: *mut gtk_sys::GtkSettings,
2456            _param_spec: glib_sys::gpointer,
2457            f: glib_sys::gpointer,
2458        ) where
2459            P: IsA<Settings>,
2460        {
2461            let f: &F = &*(f as *const F);
2462            f(&Settings::from_glib_borrow(this).unsafe_cast())
2463        }
2464        unsafe {
2465            let f: Box_<F> = Box_::new(f);
2466            connect_raw(
2467                self.as_ptr() as *mut _,
2468                b"notify::gtk-modules\0".as_ptr() as *const _,
2469                Some(transmute(notify_gtk_modules_trampoline::<Self, F> as usize)),
2470                Box_::into_raw(f),
2471            )
2472        }
2473    }
2474
2475    fn connect_property_gtk_primary_button_warps_slider_notify<F: Fn(&Self) + 'static>(
2476        &self,
2477        f: F,
2478    ) -> SignalHandlerId {
2479        unsafe extern "C" fn notify_gtk_primary_button_warps_slider_trampoline<
2480            P,
2481            F: Fn(&P) + 'static,
2482        >(
2483            this: *mut gtk_sys::GtkSettings,
2484            _param_spec: glib_sys::gpointer,
2485            f: glib_sys::gpointer,
2486        ) where
2487            P: IsA<Settings>,
2488        {
2489            let f: &F = &*(f as *const F);
2490            f(&Settings::from_glib_borrow(this).unsafe_cast())
2491        }
2492        unsafe {
2493            let f: Box_<F> = Box_::new(f);
2494            connect_raw(
2495                self.as_ptr() as *mut _,
2496                b"notify::gtk-primary-button-warps-slider\0".as_ptr() as *const _,
2497                Some(transmute(
2498                    notify_gtk_primary_button_warps_slider_trampoline::<Self, F> as usize,
2499                )),
2500                Box_::into_raw(f),
2501            )
2502        }
2503    }
2504
2505    fn connect_property_gtk_print_backends_notify<F: Fn(&Self) + 'static>(
2506        &self,
2507        f: F,
2508    ) -> SignalHandlerId {
2509        unsafe extern "C" fn notify_gtk_print_backends_trampoline<P, F: Fn(&P) + 'static>(
2510            this: *mut gtk_sys::GtkSettings,
2511            _param_spec: glib_sys::gpointer,
2512            f: glib_sys::gpointer,
2513        ) where
2514            P: IsA<Settings>,
2515        {
2516            let f: &F = &*(f as *const F);
2517            f(&Settings::from_glib_borrow(this).unsafe_cast())
2518        }
2519        unsafe {
2520            let f: Box_<F> = Box_::new(f);
2521            connect_raw(
2522                self.as_ptr() as *mut _,
2523                b"notify::gtk-print-backends\0".as_ptr() as *const _,
2524                Some(transmute(
2525                    notify_gtk_print_backends_trampoline::<Self, F> as usize,
2526                )),
2527                Box_::into_raw(f),
2528            )
2529        }
2530    }
2531
2532    fn connect_property_gtk_print_preview_command_notify<F: Fn(&Self) + 'static>(
2533        &self,
2534        f: F,
2535    ) -> SignalHandlerId {
2536        unsafe extern "C" fn notify_gtk_print_preview_command_trampoline<P, F: Fn(&P) + 'static>(
2537            this: *mut gtk_sys::GtkSettings,
2538            _param_spec: glib_sys::gpointer,
2539            f: glib_sys::gpointer,
2540        ) where
2541            P: IsA<Settings>,
2542        {
2543            let f: &F = &*(f as *const F);
2544            f(&Settings::from_glib_borrow(this).unsafe_cast())
2545        }
2546        unsafe {
2547            let f: Box_<F> = Box_::new(f);
2548            connect_raw(
2549                self.as_ptr() as *mut _,
2550                b"notify::gtk-print-preview-command\0".as_ptr() as *const _,
2551                Some(transmute(
2552                    notify_gtk_print_preview_command_trampoline::<Self, F> as usize,
2553                )),
2554                Box_::into_raw(f),
2555            )
2556        }
2557    }
2558
2559    fn connect_property_gtk_recent_files_enabled_notify<F: Fn(&Self) + 'static>(
2560        &self,
2561        f: F,
2562    ) -> SignalHandlerId {
2563        unsafe extern "C" fn notify_gtk_recent_files_enabled_trampoline<P, F: Fn(&P) + 'static>(
2564            this: *mut gtk_sys::GtkSettings,
2565            _param_spec: glib_sys::gpointer,
2566            f: glib_sys::gpointer,
2567        ) where
2568            P: IsA<Settings>,
2569        {
2570            let f: &F = &*(f as *const F);
2571            f(&Settings::from_glib_borrow(this).unsafe_cast())
2572        }
2573        unsafe {
2574            let f: Box_<F> = Box_::new(f);
2575            connect_raw(
2576                self.as_ptr() as *mut _,
2577                b"notify::gtk-recent-files-enabled\0".as_ptr() as *const _,
2578                Some(transmute(
2579                    notify_gtk_recent_files_enabled_trampoline::<Self, F> as usize,
2580                )),
2581                Box_::into_raw(f),
2582            )
2583        }
2584    }
2585
2586    fn connect_property_gtk_recent_files_max_age_notify<F: Fn(&Self) + 'static>(
2587        &self,
2588        f: F,
2589    ) -> SignalHandlerId {
2590        unsafe extern "C" fn notify_gtk_recent_files_max_age_trampoline<P, F: Fn(&P) + 'static>(
2591            this: *mut gtk_sys::GtkSettings,
2592            _param_spec: glib_sys::gpointer,
2593            f: glib_sys::gpointer,
2594        ) where
2595            P: IsA<Settings>,
2596        {
2597            let f: &F = &*(f as *const F);
2598            f(&Settings::from_glib_borrow(this).unsafe_cast())
2599        }
2600        unsafe {
2601            let f: Box_<F> = Box_::new(f);
2602            connect_raw(
2603                self.as_ptr() as *mut _,
2604                b"notify::gtk-recent-files-max-age\0".as_ptr() as *const _,
2605                Some(transmute(
2606                    notify_gtk_recent_files_max_age_trampoline::<Self, F> as usize,
2607                )),
2608                Box_::into_raw(f),
2609            )
2610        }
2611    }
2612
2613    fn connect_property_gtk_shell_shows_app_menu_notify<F: Fn(&Self) + 'static>(
2614        &self,
2615        f: F,
2616    ) -> SignalHandlerId {
2617        unsafe extern "C" fn notify_gtk_shell_shows_app_menu_trampoline<P, F: Fn(&P) + 'static>(
2618            this: *mut gtk_sys::GtkSettings,
2619            _param_spec: glib_sys::gpointer,
2620            f: glib_sys::gpointer,
2621        ) where
2622            P: IsA<Settings>,
2623        {
2624            let f: &F = &*(f as *const F);
2625            f(&Settings::from_glib_borrow(this).unsafe_cast())
2626        }
2627        unsafe {
2628            let f: Box_<F> = Box_::new(f);
2629            connect_raw(
2630                self.as_ptr() as *mut _,
2631                b"notify::gtk-shell-shows-app-menu\0".as_ptr() as *const _,
2632                Some(transmute(
2633                    notify_gtk_shell_shows_app_menu_trampoline::<Self, F> as usize,
2634                )),
2635                Box_::into_raw(f),
2636            )
2637        }
2638    }
2639
2640    fn connect_property_gtk_shell_shows_desktop_notify<F: Fn(&Self) + 'static>(
2641        &self,
2642        f: F,
2643    ) -> SignalHandlerId {
2644        unsafe extern "C" fn notify_gtk_shell_shows_desktop_trampoline<P, F: Fn(&P) + 'static>(
2645            this: *mut gtk_sys::GtkSettings,
2646            _param_spec: glib_sys::gpointer,
2647            f: glib_sys::gpointer,
2648        ) where
2649            P: IsA<Settings>,
2650        {
2651            let f: &F = &*(f as *const F);
2652            f(&Settings::from_glib_borrow(this).unsafe_cast())
2653        }
2654        unsafe {
2655            let f: Box_<F> = Box_::new(f);
2656            connect_raw(
2657                self.as_ptr() as *mut _,
2658                b"notify::gtk-shell-shows-desktop\0".as_ptr() as *const _,
2659                Some(transmute(
2660                    notify_gtk_shell_shows_desktop_trampoline::<Self, F> as usize,
2661                )),
2662                Box_::into_raw(f),
2663            )
2664        }
2665    }
2666
2667    fn connect_property_gtk_shell_shows_menubar_notify<F: Fn(&Self) + 'static>(
2668        &self,
2669        f: F,
2670    ) -> SignalHandlerId {
2671        unsafe extern "C" fn notify_gtk_shell_shows_menubar_trampoline<P, F: Fn(&P) + 'static>(
2672            this: *mut gtk_sys::GtkSettings,
2673            _param_spec: glib_sys::gpointer,
2674            f: glib_sys::gpointer,
2675        ) where
2676            P: IsA<Settings>,
2677        {
2678            let f: &F = &*(f as *const F);
2679            f(&Settings::from_glib_borrow(this).unsafe_cast())
2680        }
2681        unsafe {
2682            let f: Box_<F> = Box_::new(f);
2683            connect_raw(
2684                self.as_ptr() as *mut _,
2685                b"notify::gtk-shell-shows-menubar\0".as_ptr() as *const _,
2686                Some(transmute(
2687                    notify_gtk_shell_shows_menubar_trampoline::<Self, F> as usize,
2688                )),
2689                Box_::into_raw(f),
2690            )
2691        }
2692    }
2693
2694    fn connect_property_gtk_sound_theme_name_notify<F: Fn(&Self) + 'static>(
2695        &self,
2696        f: F,
2697    ) -> SignalHandlerId {
2698        unsafe extern "C" fn notify_gtk_sound_theme_name_trampoline<P, F: Fn(&P) + 'static>(
2699            this: *mut gtk_sys::GtkSettings,
2700            _param_spec: glib_sys::gpointer,
2701            f: glib_sys::gpointer,
2702        ) where
2703            P: IsA<Settings>,
2704        {
2705            let f: &F = &*(f as *const F);
2706            f(&Settings::from_glib_borrow(this).unsafe_cast())
2707        }
2708        unsafe {
2709            let f: Box_<F> = Box_::new(f);
2710            connect_raw(
2711                self.as_ptr() as *mut _,
2712                b"notify::gtk-sound-theme-name\0".as_ptr() as *const _,
2713                Some(transmute(
2714                    notify_gtk_sound_theme_name_trampoline::<Self, F> as usize,
2715                )),
2716                Box_::into_raw(f),
2717            )
2718        }
2719    }
2720
2721    fn connect_property_gtk_split_cursor_notify<F: Fn(&Self) + 'static>(
2722        &self,
2723        f: F,
2724    ) -> SignalHandlerId {
2725        unsafe extern "C" fn notify_gtk_split_cursor_trampoline<P, F: Fn(&P) + 'static>(
2726            this: *mut gtk_sys::GtkSettings,
2727            _param_spec: glib_sys::gpointer,
2728            f: glib_sys::gpointer,
2729        ) where
2730            P: IsA<Settings>,
2731        {
2732            let f: &F = &*(f as *const F);
2733            f(&Settings::from_glib_borrow(this).unsafe_cast())
2734        }
2735        unsafe {
2736            let f: Box_<F> = Box_::new(f);
2737            connect_raw(
2738                self.as_ptr() as *mut _,
2739                b"notify::gtk-split-cursor\0".as_ptr() as *const _,
2740                Some(transmute(
2741                    notify_gtk_split_cursor_trampoline::<Self, F> as usize,
2742                )),
2743                Box_::into_raw(f),
2744            )
2745        }
2746    }
2747
2748    fn connect_property_gtk_theme_name_notify<F: Fn(&Self) + 'static>(
2749        &self,
2750        f: F,
2751    ) -> SignalHandlerId {
2752        unsafe extern "C" fn notify_gtk_theme_name_trampoline<P, F: Fn(&P) + 'static>(
2753            this: *mut gtk_sys::GtkSettings,
2754            _param_spec: glib_sys::gpointer,
2755            f: glib_sys::gpointer,
2756        ) where
2757            P: IsA<Settings>,
2758        {
2759            let f: &F = &*(f as *const F);
2760            f(&Settings::from_glib_borrow(this).unsafe_cast())
2761        }
2762        unsafe {
2763            let f: Box_<F> = Box_::new(f);
2764            connect_raw(
2765                self.as_ptr() as *mut _,
2766                b"notify::gtk-theme-name\0".as_ptr() as *const _,
2767                Some(transmute(
2768                    notify_gtk_theme_name_trampoline::<Self, F> as usize,
2769                )),
2770                Box_::into_raw(f),
2771            )
2772        }
2773    }
2774
2775    fn connect_property_gtk_titlebar_double_click_notify<F: Fn(&Self) + 'static>(
2776        &self,
2777        f: F,
2778    ) -> SignalHandlerId {
2779        unsafe extern "C" fn notify_gtk_titlebar_double_click_trampoline<P, F: Fn(&P) + 'static>(
2780            this: *mut gtk_sys::GtkSettings,
2781            _param_spec: glib_sys::gpointer,
2782            f: glib_sys::gpointer,
2783        ) where
2784            P: IsA<Settings>,
2785        {
2786            let f: &F = &*(f as *const F);
2787            f(&Settings::from_glib_borrow(this).unsafe_cast())
2788        }
2789        unsafe {
2790            let f: Box_<F> = Box_::new(f);
2791            connect_raw(
2792                self.as_ptr() as *mut _,
2793                b"notify::gtk-titlebar-double-click\0".as_ptr() as *const _,
2794                Some(transmute(
2795                    notify_gtk_titlebar_double_click_trampoline::<Self, F> as usize,
2796                )),
2797                Box_::into_raw(f),
2798            )
2799        }
2800    }
2801
2802    fn connect_property_gtk_titlebar_middle_click_notify<F: Fn(&Self) + 'static>(
2803        &self,
2804        f: F,
2805    ) -> SignalHandlerId {
2806        unsafe extern "C" fn notify_gtk_titlebar_middle_click_trampoline<P, F: Fn(&P) + 'static>(
2807            this: *mut gtk_sys::GtkSettings,
2808            _param_spec: glib_sys::gpointer,
2809            f: glib_sys::gpointer,
2810        ) where
2811            P: IsA<Settings>,
2812        {
2813            let f: &F = &*(f as *const F);
2814            f(&Settings::from_glib_borrow(this).unsafe_cast())
2815        }
2816        unsafe {
2817            let f: Box_<F> = Box_::new(f);
2818            connect_raw(
2819                self.as_ptr() as *mut _,
2820                b"notify::gtk-titlebar-middle-click\0".as_ptr() as *const _,
2821                Some(transmute(
2822                    notify_gtk_titlebar_middle_click_trampoline::<Self, F> as usize,
2823                )),
2824                Box_::into_raw(f),
2825            )
2826        }
2827    }
2828
2829    fn connect_property_gtk_titlebar_right_click_notify<F: Fn(&Self) + 'static>(
2830        &self,
2831        f: F,
2832    ) -> SignalHandlerId {
2833        unsafe extern "C" fn notify_gtk_titlebar_right_click_trampoline<P, F: Fn(&P) + 'static>(
2834            this: *mut gtk_sys::GtkSettings,
2835            _param_spec: glib_sys::gpointer,
2836            f: glib_sys::gpointer,
2837        ) where
2838            P: IsA<Settings>,
2839        {
2840            let f: &F = &*(f as *const F);
2841            f(&Settings::from_glib_borrow(this).unsafe_cast())
2842        }
2843        unsafe {
2844            let f: Box_<F> = Box_::new(f);
2845            connect_raw(
2846                self.as_ptr() as *mut _,
2847                b"notify::gtk-titlebar-right-click\0".as_ptr() as *const _,
2848                Some(transmute(
2849                    notify_gtk_titlebar_right_click_trampoline::<Self, F> as usize,
2850                )),
2851                Box_::into_raw(f),
2852            )
2853        }
2854    }
2855
2856    fn connect_property_gtk_xft_antialias_notify<F: Fn(&Self) + 'static>(
2857        &self,
2858        f: F,
2859    ) -> SignalHandlerId {
2860        unsafe extern "C" fn notify_gtk_xft_antialias_trampoline<P, F: Fn(&P) + 'static>(
2861            this: *mut gtk_sys::GtkSettings,
2862            _param_spec: glib_sys::gpointer,
2863            f: glib_sys::gpointer,
2864        ) where
2865            P: IsA<Settings>,
2866        {
2867            let f: &F = &*(f as *const F);
2868            f(&Settings::from_glib_borrow(this).unsafe_cast())
2869        }
2870        unsafe {
2871            let f: Box_<F> = Box_::new(f);
2872            connect_raw(
2873                self.as_ptr() as *mut _,
2874                b"notify::gtk-xft-antialias\0".as_ptr() as *const _,
2875                Some(transmute(
2876                    notify_gtk_xft_antialias_trampoline::<Self, F> as usize,
2877                )),
2878                Box_::into_raw(f),
2879            )
2880        }
2881    }
2882
2883    fn connect_property_gtk_xft_dpi_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2884        unsafe extern "C" fn notify_gtk_xft_dpi_trampoline<P, F: Fn(&P) + 'static>(
2885            this: *mut gtk_sys::GtkSettings,
2886            _param_spec: glib_sys::gpointer,
2887            f: glib_sys::gpointer,
2888        ) where
2889            P: IsA<Settings>,
2890        {
2891            let f: &F = &*(f as *const F);
2892            f(&Settings::from_glib_borrow(this).unsafe_cast())
2893        }
2894        unsafe {
2895            let f: Box_<F> = Box_::new(f);
2896            connect_raw(
2897                self.as_ptr() as *mut _,
2898                b"notify::gtk-xft-dpi\0".as_ptr() as *const _,
2899                Some(transmute(notify_gtk_xft_dpi_trampoline::<Self, F> as usize)),
2900                Box_::into_raw(f),
2901            )
2902        }
2903    }
2904
2905    fn connect_property_gtk_xft_hinting_notify<F: Fn(&Self) + 'static>(
2906        &self,
2907        f: F,
2908    ) -> SignalHandlerId {
2909        unsafe extern "C" fn notify_gtk_xft_hinting_trampoline<P, F: Fn(&P) + 'static>(
2910            this: *mut gtk_sys::GtkSettings,
2911            _param_spec: glib_sys::gpointer,
2912            f: glib_sys::gpointer,
2913        ) where
2914            P: IsA<Settings>,
2915        {
2916            let f: &F = &*(f as *const F);
2917            f(&Settings::from_glib_borrow(this).unsafe_cast())
2918        }
2919        unsafe {
2920            let f: Box_<F> = Box_::new(f);
2921            connect_raw(
2922                self.as_ptr() as *mut _,
2923                b"notify::gtk-xft-hinting\0".as_ptr() as *const _,
2924                Some(transmute(
2925                    notify_gtk_xft_hinting_trampoline::<Self, F> as usize,
2926                )),
2927                Box_::into_raw(f),
2928            )
2929        }
2930    }
2931
2932    fn connect_property_gtk_xft_hintstyle_notify<F: Fn(&Self) + 'static>(
2933        &self,
2934        f: F,
2935    ) -> SignalHandlerId {
2936        unsafe extern "C" fn notify_gtk_xft_hintstyle_trampoline<P, F: Fn(&P) + 'static>(
2937            this: *mut gtk_sys::GtkSettings,
2938            _param_spec: glib_sys::gpointer,
2939            f: glib_sys::gpointer,
2940        ) where
2941            P: IsA<Settings>,
2942        {
2943            let f: &F = &*(f as *const F);
2944            f(&Settings::from_glib_borrow(this).unsafe_cast())
2945        }
2946        unsafe {
2947            let f: Box_<F> = Box_::new(f);
2948            connect_raw(
2949                self.as_ptr() as *mut _,
2950                b"notify::gtk-xft-hintstyle\0".as_ptr() as *const _,
2951                Some(transmute(
2952                    notify_gtk_xft_hintstyle_trampoline::<Self, F> as usize,
2953                )),
2954                Box_::into_raw(f),
2955            )
2956        }
2957    }
2958
2959    fn connect_property_gtk_xft_rgba_notify<F: Fn(&Self) + 'static>(
2960        &self,
2961        f: F,
2962    ) -> SignalHandlerId {
2963        unsafe extern "C" fn notify_gtk_xft_rgba_trampoline<P, F: Fn(&P) + 'static>(
2964            this: *mut gtk_sys::GtkSettings,
2965            _param_spec: glib_sys::gpointer,
2966            f: glib_sys::gpointer,
2967        ) where
2968            P: IsA<Settings>,
2969        {
2970            let f: &F = &*(f as *const F);
2971            f(&Settings::from_glib_borrow(this).unsafe_cast())
2972        }
2973        unsafe {
2974            let f: Box_<F> = Box_::new(f);
2975            connect_raw(
2976                self.as_ptr() as *mut _,
2977                b"notify::gtk-xft-rgba\0".as_ptr() as *const _,
2978                Some(transmute(
2979                    notify_gtk_xft_rgba_trampoline::<Self, F> as usize,
2980                )),
2981                Box_::into_raw(f),
2982            )
2983        }
2984    }
2985}
2986
2987impl fmt::Display for Settings {
2988    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2989        write!(f, "Settings")
2990    }
2991}