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 gdk; 6 use gdk_sys; 7 use glib; 8 use glib::object::Cast; 9 use glib::object::IsA; 10 use glib::signal::connect_raw; 11 use glib::signal::SignalHandlerId; 12 use glib::translate::*; 13 use glib_sys; 14 use gobject_sys; 15 use gtk_sys; 16 use libc; 17 use std::boxed::Box as Box_; 18 use std::fmt; 19 use std::mem::transmute; 20 21 glib_wrapper! { 22 pub struct AccelGroup(Object<gtk_sys::GtkAccelGroup, gtk_sys::GtkAccelGroupClass, AccelGroupClass>); 23 24 match fn { 25 get_type => || gtk_sys::gtk_accel_group_get_type(), 26 } 27 } 28 29 impl AccelGroup { new() -> AccelGroup30 pub fn new() -> AccelGroup { 31 assert_initialized_main_thread!(); 32 unsafe { from_glib_full(gtk_sys::gtk_accel_group_new()) } 33 } 34 from_accel_closure(closure: &glib::Closure) -> Option<AccelGroup>35 pub fn from_accel_closure(closure: &glib::Closure) -> Option<AccelGroup> { 36 assert_initialized_main_thread!(); 37 unsafe { 38 from_glib_none(gtk_sys::gtk_accel_group_from_accel_closure( 39 closure.to_glib_none().0, 40 )) 41 } 42 } 43 } 44 45 impl Default for AccelGroup { default() -> Self46 fn default() -> Self { 47 Self::new() 48 } 49 } 50 51 pub const NONE_ACCEL_GROUP: Option<&AccelGroup> = None; 52 53 pub trait AccelGroupExt: 'static { activate<P: IsA<glib::Object>>( &self, accel_quark: glib::Quark, acceleratable: &P, accel_key: u32, accel_mods: gdk::ModifierType, ) -> bool54 fn activate<P: IsA<glib::Object>>( 55 &self, 56 accel_quark: glib::Quark, 57 acceleratable: &P, 58 accel_key: u32, 59 accel_mods: gdk::ModifierType, 60 ) -> bool; 61 disconnect(&self, closure: Option<&glib::Closure>) -> bool62 fn disconnect(&self, closure: Option<&glib::Closure>) -> bool; 63 disconnect_key(&self, accel_key: u32, accel_mods: gdk::ModifierType) -> bool64 fn disconnect_key(&self, accel_key: u32, accel_mods: gdk::ModifierType) -> bool; 65 66 //fn find(&self, find_func: /*Unimplemented*/FnMut(/*Ignored*/AccelKey, &glib::Closure) -> bool, data: /*Unimplemented*/Option<Fundamental: Pointer>) -> /*Ignored*/Option<AccelKey>; 67 get_is_locked(&self) -> bool68 fn get_is_locked(&self) -> bool; 69 get_modifier_mask(&self) -> gdk::ModifierType70 fn get_modifier_mask(&self) -> gdk::ModifierType; 71 lock(&self)72 fn lock(&self); 73 unlock(&self)74 fn unlock(&self); 75 connect_accel_activate< F: Fn(&Self, &glib::Object, u32, gdk::ModifierType) -> bool + 'static, >( &self, f: F, ) -> SignalHandlerId76 fn connect_accel_activate< 77 F: Fn(&Self, &glib::Object, u32, gdk::ModifierType) -> bool + 'static, 78 >( 79 &self, 80 f: F, 81 ) -> SignalHandlerId; 82 connect_accel_changed<F: Fn(&Self, u32, gdk::ModifierType, &glib::Closure) + 'static>( &self, f: F, ) -> SignalHandlerId83 fn connect_accel_changed<F: Fn(&Self, u32, gdk::ModifierType, &glib::Closure) + 'static>( 84 &self, 85 f: F, 86 ) -> SignalHandlerId; 87 connect_property_is_locked_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId88 fn connect_property_is_locked_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 89 connect_property_modifier_mask_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId90 fn connect_property_modifier_mask_notify<F: Fn(&Self) + 'static>( 91 &self, 92 f: F, 93 ) -> SignalHandlerId; 94 } 95 96 impl<O: IsA<AccelGroup>> AccelGroupExt for O { activate<P: IsA<glib::Object>>( &self, accel_quark: glib::Quark, acceleratable: &P, accel_key: u32, accel_mods: gdk::ModifierType, ) -> bool97 fn activate<P: IsA<glib::Object>>( 98 &self, 99 accel_quark: glib::Quark, 100 acceleratable: &P, 101 accel_key: u32, 102 accel_mods: gdk::ModifierType, 103 ) -> bool { 104 unsafe { 105 from_glib(gtk_sys::gtk_accel_group_activate( 106 self.as_ref().to_glib_none().0, 107 accel_quark.to_glib(), 108 acceleratable.as_ref().to_glib_none().0, 109 accel_key, 110 accel_mods.to_glib(), 111 )) 112 } 113 } 114 disconnect(&self, closure: Option<&glib::Closure>) -> bool115 fn disconnect(&self, closure: Option<&glib::Closure>) -> bool { 116 unsafe { 117 from_glib(gtk_sys::gtk_accel_group_disconnect( 118 self.as_ref().to_glib_none().0, 119 closure.to_glib_none().0, 120 )) 121 } 122 } 123 disconnect_key(&self, accel_key: u32, accel_mods: gdk::ModifierType) -> bool124 fn disconnect_key(&self, accel_key: u32, accel_mods: gdk::ModifierType) -> bool { 125 unsafe { 126 from_glib(gtk_sys::gtk_accel_group_disconnect_key( 127 self.as_ref().to_glib_none().0, 128 accel_key, 129 accel_mods.to_glib(), 130 )) 131 } 132 } 133 134 //fn find(&self, find_func: /*Unimplemented*/FnMut(/*Ignored*/AccelKey, &glib::Closure) -> bool, data: /*Unimplemented*/Option<Fundamental: Pointer>) -> /*Ignored*/Option<AccelKey> { 135 // unsafe { TODO: call gtk_sys:gtk_accel_group_find() } 136 //} 137 get_is_locked(&self) -> bool138 fn get_is_locked(&self) -> bool { 139 unsafe { 140 from_glib(gtk_sys::gtk_accel_group_get_is_locked( 141 self.as_ref().to_glib_none().0, 142 )) 143 } 144 } 145 get_modifier_mask(&self) -> gdk::ModifierType146 fn get_modifier_mask(&self) -> gdk::ModifierType { 147 unsafe { 148 from_glib(gtk_sys::gtk_accel_group_get_modifier_mask( 149 self.as_ref().to_glib_none().0, 150 )) 151 } 152 } 153 lock(&self)154 fn lock(&self) { 155 unsafe { 156 gtk_sys::gtk_accel_group_lock(self.as_ref().to_glib_none().0); 157 } 158 } 159 unlock(&self)160 fn unlock(&self) { 161 unsafe { 162 gtk_sys::gtk_accel_group_unlock(self.as_ref().to_glib_none().0); 163 } 164 } 165 connect_accel_activate< F: Fn(&Self, &glib::Object, u32, gdk::ModifierType) -> bool + 'static, >( &self, f: F, ) -> SignalHandlerId166 fn connect_accel_activate< 167 F: Fn(&Self, &glib::Object, u32, gdk::ModifierType) -> bool + 'static, 168 >( 169 &self, 170 f: F, 171 ) -> SignalHandlerId { 172 unsafe extern "C" fn accel_activate_trampoline< 173 P, 174 F: Fn(&P, &glib::Object, u32, gdk::ModifierType) -> bool + 'static, 175 >( 176 this: *mut gtk_sys::GtkAccelGroup, 177 acceleratable: *mut gobject_sys::GObject, 178 keyval: libc::c_uint, 179 modifier: gdk_sys::GdkModifierType, 180 f: glib_sys::gpointer, 181 ) -> glib_sys::gboolean 182 where 183 P: IsA<AccelGroup>, 184 { 185 let f: &F = &*(f as *const F); 186 f( 187 &AccelGroup::from_glib_borrow(this).unsafe_cast(), 188 &from_glib_borrow(acceleratable), 189 keyval, 190 from_glib(modifier), 191 ) 192 .to_glib() 193 } 194 unsafe { 195 let f: Box_<F> = Box_::new(f); 196 connect_raw( 197 self.as_ptr() as *mut _, 198 b"accel-activate\0".as_ptr() as *const _, 199 Some(transmute(accel_activate_trampoline::<Self, F> as usize)), 200 Box_::into_raw(f), 201 ) 202 } 203 } 204 connect_accel_changed<F: Fn(&Self, u32, gdk::ModifierType, &glib::Closure) + 'static>( &self, f: F, ) -> SignalHandlerId205 fn connect_accel_changed<F: Fn(&Self, u32, gdk::ModifierType, &glib::Closure) + 'static>( 206 &self, 207 f: F, 208 ) -> SignalHandlerId { 209 unsafe extern "C" fn accel_changed_trampoline< 210 P, 211 F: Fn(&P, u32, gdk::ModifierType, &glib::Closure) + 'static, 212 >( 213 this: *mut gtk_sys::GtkAccelGroup, 214 keyval: libc::c_uint, 215 modifier: gdk_sys::GdkModifierType, 216 accel_closure: *mut gobject_sys::GClosure, 217 f: glib_sys::gpointer, 218 ) where 219 P: IsA<AccelGroup>, 220 { 221 let f: &F = &*(f as *const F); 222 f( 223 &AccelGroup::from_glib_borrow(this).unsafe_cast(), 224 keyval, 225 from_glib(modifier), 226 &from_glib_borrow(accel_closure), 227 ) 228 } 229 unsafe { 230 let f: Box_<F> = Box_::new(f); 231 connect_raw( 232 self.as_ptr() as *mut _, 233 b"accel-changed\0".as_ptr() as *const _, 234 Some(transmute(accel_changed_trampoline::<Self, F> as usize)), 235 Box_::into_raw(f), 236 ) 237 } 238 } 239 connect_property_is_locked_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId240 fn connect_property_is_locked_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 241 unsafe extern "C" fn notify_is_locked_trampoline<P, F: Fn(&P) + 'static>( 242 this: *mut gtk_sys::GtkAccelGroup, 243 _param_spec: glib_sys::gpointer, 244 f: glib_sys::gpointer, 245 ) where 246 P: IsA<AccelGroup>, 247 { 248 let f: &F = &*(f as *const F); 249 f(&AccelGroup::from_glib_borrow(this).unsafe_cast()) 250 } 251 unsafe { 252 let f: Box_<F> = Box_::new(f); 253 connect_raw( 254 self.as_ptr() as *mut _, 255 b"notify::is-locked\0".as_ptr() as *const _, 256 Some(transmute(notify_is_locked_trampoline::<Self, F> as usize)), 257 Box_::into_raw(f), 258 ) 259 } 260 } 261 connect_property_modifier_mask_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId262 fn connect_property_modifier_mask_notify<F: Fn(&Self) + 'static>( 263 &self, 264 f: F, 265 ) -> SignalHandlerId { 266 unsafe extern "C" fn notify_modifier_mask_trampoline<P, F: Fn(&P) + 'static>( 267 this: *mut gtk_sys::GtkAccelGroup, 268 _param_spec: glib_sys::gpointer, 269 f: glib_sys::gpointer, 270 ) where 271 P: IsA<AccelGroup>, 272 { 273 let f: &F = &*(f as *const F); 274 f(&AccelGroup::from_glib_borrow(this).unsafe_cast()) 275 } 276 unsafe { 277 let f: Box_<F> = Box_::new(f); 278 connect_raw( 279 self.as_ptr() as *mut _, 280 b"notify::modifier-mask\0".as_ptr() as *const _, 281 Some(transmute( 282 notify_modifier_mask_trampoline::<Self, F> as usize, 283 )), 284 Box_::into_raw(f), 285 ) 286 } 287 } 288 } 289 290 impl fmt::Display for AccelGroup { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result291 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 292 write!(f, "AccelGroup") 293 } 294 } 295