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 5 use crate::Widget; 6 use crate::Window; 7 use glib::object::IsA; 8 use glib::translate::*; 9 use std::fmt; 10 11 glib::wrapper! { 12 #[doc(alias = "GtkWindowGroup")] 13 pub struct WindowGroup(Object<ffi::GtkWindowGroup, ffi::GtkWindowGroupClass>); 14 15 match fn { 16 type_ => || ffi::gtk_window_group_get_type(), 17 } 18 } 19 20 impl WindowGroup { 21 #[doc(alias = "gtk_window_group_new")] new() -> WindowGroup22 pub fn new() -> WindowGroup { 23 assert_initialized_main_thread!(); 24 unsafe { from_glib_full(ffi::gtk_window_group_new()) } 25 } 26 } 27 28 impl Default for WindowGroup { default() -> Self29 fn default() -> Self { 30 Self::new() 31 } 32 } 33 34 pub const NONE_WINDOW_GROUP: Option<&WindowGroup> = None; 35 36 pub trait WindowGroupExt: 'static { 37 #[doc(alias = "gtk_window_group_add_window")] add_window<P: IsA<Window>>(&self, window: &P)38 fn add_window<P: IsA<Window>>(&self, window: &P); 39 40 #[doc(alias = "gtk_window_group_get_current_device_grab")] 41 #[doc(alias = "get_current_device_grab")] current_device_grab(&self, device: &gdk::Device) -> Option<Widget>42 fn current_device_grab(&self, device: &gdk::Device) -> Option<Widget>; 43 44 #[doc(alias = "gtk_window_group_get_current_grab")] 45 #[doc(alias = "get_current_grab")] current_grab(&self) -> Option<Widget>46 fn current_grab(&self) -> Option<Widget>; 47 48 #[doc(alias = "gtk_window_group_list_windows")] list_windows(&self) -> Vec<Window>49 fn list_windows(&self) -> Vec<Window>; 50 51 #[doc(alias = "gtk_window_group_remove_window")] remove_window<P: IsA<Window>>(&self, window: &P)52 fn remove_window<P: IsA<Window>>(&self, window: &P); 53 } 54 55 impl<O: IsA<WindowGroup>> WindowGroupExt for O { add_window<P: IsA<Window>>(&self, window: &P)56 fn add_window<P: IsA<Window>>(&self, window: &P) { 57 unsafe { 58 ffi::gtk_window_group_add_window( 59 self.as_ref().to_glib_none().0, 60 window.as_ref().to_glib_none().0, 61 ); 62 } 63 } 64 current_device_grab(&self, device: &gdk::Device) -> Option<Widget>65 fn current_device_grab(&self, device: &gdk::Device) -> Option<Widget> { 66 unsafe { 67 from_glib_none(ffi::gtk_window_group_get_current_device_grab( 68 self.as_ref().to_glib_none().0, 69 device.to_glib_none().0, 70 )) 71 } 72 } 73 current_grab(&self) -> Option<Widget>74 fn current_grab(&self) -> Option<Widget> { 75 unsafe { 76 from_glib_none(ffi::gtk_window_group_get_current_grab( 77 self.as_ref().to_glib_none().0, 78 )) 79 } 80 } 81 list_windows(&self) -> Vec<Window>82 fn list_windows(&self) -> Vec<Window> { 83 unsafe { 84 FromGlibPtrContainer::from_glib_container(ffi::gtk_window_group_list_windows( 85 self.as_ref().to_glib_none().0, 86 )) 87 } 88 } 89 remove_window<P: IsA<Window>>(&self, window: &P)90 fn remove_window<P: IsA<Window>>(&self, window: &P) { 91 unsafe { 92 ffi::gtk_window_group_remove_window( 93 self.as_ref().to_glib_none().0, 94 window.as_ref().to_glib_none().0, 95 ); 96 } 97 } 98 } 99 100 impl fmt::Display for WindowGroup { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result101 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 102 f.write_str("WindowGroup") 103 } 104 } 105