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 glib; 7 use glib::object::Cast; 8 use glib::object::IsA; 9 use glib::object::ObjectExt; 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; 20 use std::mem::transmute; 21 use Adjustment; 22 use Buildable; 23 use Orientable; 24 use ScrollType; 25 use SensitivityType; 26 use Widget; 27 28 glib_wrapper! { 29 pub struct Range(Object<gtk_sys::GtkRange, gtk_sys::GtkRangeClass, RangeClass>) @extends Widget, @implements Buildable, Orientable; 30 31 match fn { 32 get_type => || gtk_sys::gtk_range_get_type(), 33 } 34 } 35 36 pub const NONE_RANGE: Option<&Range> = None; 37 38 pub trait RangeExt: 'static { get_adjustment(&self) -> Adjustment39 fn get_adjustment(&self) -> Adjustment; 40 get_fill_level(&self) -> f6441 fn get_fill_level(&self) -> f64; 42 get_flippable(&self) -> bool43 fn get_flippable(&self) -> bool; 44 get_inverted(&self) -> bool45 fn get_inverted(&self) -> bool; 46 get_lower_stepper_sensitivity(&self) -> SensitivityType47 fn get_lower_stepper_sensitivity(&self) -> SensitivityType; 48 49 #[cfg_attr(feature = "v3_20", deprecated)] get_min_slider_size(&self) -> i3250 fn get_min_slider_size(&self) -> i32; 51 get_range_rect(&self) -> gdk::Rectangle52 fn get_range_rect(&self) -> gdk::Rectangle; 53 get_restrict_to_fill_level(&self) -> bool54 fn get_restrict_to_fill_level(&self) -> bool; 55 get_round_digits(&self) -> i3256 fn get_round_digits(&self) -> i32; 57 get_show_fill_level(&self) -> bool58 fn get_show_fill_level(&self) -> bool; 59 get_slider_range(&self) -> (i32, i32)60 fn get_slider_range(&self) -> (i32, i32); 61 get_slider_size_fixed(&self) -> bool62 fn get_slider_size_fixed(&self) -> bool; 63 get_upper_stepper_sensitivity(&self) -> SensitivityType64 fn get_upper_stepper_sensitivity(&self) -> SensitivityType; 65 get_value(&self) -> f6466 fn get_value(&self) -> f64; 67 set_adjustment<P: IsA<Adjustment>>(&self, adjustment: &P)68 fn set_adjustment<P: IsA<Adjustment>>(&self, adjustment: &P); 69 set_fill_level(&self, fill_level: f64)70 fn set_fill_level(&self, fill_level: f64); 71 set_flippable(&self, flippable: bool)72 fn set_flippable(&self, flippable: bool); 73 set_increments(&self, step: f64, page: f64)74 fn set_increments(&self, step: f64, page: f64); 75 set_inverted(&self, setting: bool)76 fn set_inverted(&self, setting: bool); 77 set_lower_stepper_sensitivity(&self, sensitivity: SensitivityType)78 fn set_lower_stepper_sensitivity(&self, sensitivity: SensitivityType); 79 80 #[cfg_attr(feature = "v3_20", deprecated)] set_min_slider_size(&self, min_size: i32)81 fn set_min_slider_size(&self, min_size: i32); 82 set_range(&self, min: f64, max: f64)83 fn set_range(&self, min: f64, max: f64); 84 set_restrict_to_fill_level(&self, restrict_to_fill_level: bool)85 fn set_restrict_to_fill_level(&self, restrict_to_fill_level: bool); 86 set_round_digits(&self, round_digits: i32)87 fn set_round_digits(&self, round_digits: i32); 88 set_show_fill_level(&self, show_fill_level: bool)89 fn set_show_fill_level(&self, show_fill_level: bool); 90 set_slider_size_fixed(&self, size_fixed: bool)91 fn set_slider_size_fixed(&self, size_fixed: bool); 92 set_upper_stepper_sensitivity(&self, sensitivity: SensitivityType)93 fn set_upper_stepper_sensitivity(&self, sensitivity: SensitivityType); 94 set_value(&self, value: f64)95 fn set_value(&self, value: f64); 96 connect_adjust_bounds<F: Fn(&Self, f64) + 'static>(&self, f: F) -> SignalHandlerId97 fn connect_adjust_bounds<F: Fn(&Self, f64) + 'static>(&self, f: F) -> SignalHandlerId; 98 connect_change_value<F: Fn(&Self, ScrollType, f64) -> glib::signal::Inhibit + 'static>( &self, f: F, ) -> SignalHandlerId99 fn connect_change_value<F: Fn(&Self, ScrollType, f64) -> glib::signal::Inhibit + 'static>( 100 &self, 101 f: F, 102 ) -> SignalHandlerId; 103 connect_move_slider<F: Fn(&Self, ScrollType) + 'static>(&self, f: F) -> SignalHandlerId104 fn connect_move_slider<F: Fn(&Self, ScrollType) + 'static>(&self, f: F) -> SignalHandlerId; 105 emit_move_slider(&self, step: ScrollType)106 fn emit_move_slider(&self, step: ScrollType); 107 connect_value_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId108 fn connect_value_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 109 connect_property_adjustment_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId110 fn connect_property_adjustment_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 111 connect_property_fill_level_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId112 fn connect_property_fill_level_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 113 connect_property_inverted_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId114 fn connect_property_inverted_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 115 connect_property_lower_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId116 fn connect_property_lower_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( 117 &self, 118 f: F, 119 ) -> SignalHandlerId; 120 connect_property_restrict_to_fill_level_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId121 fn connect_property_restrict_to_fill_level_notify<F: Fn(&Self) + 'static>( 122 &self, 123 f: F, 124 ) -> SignalHandlerId; 125 connect_property_round_digits_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId126 fn connect_property_round_digits_notify<F: Fn(&Self) + 'static>(&self, f: F) 127 -> SignalHandlerId; 128 connect_property_show_fill_level_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId129 fn connect_property_show_fill_level_notify<F: Fn(&Self) + 'static>( 130 &self, 131 f: F, 132 ) -> SignalHandlerId; 133 connect_property_upper_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId134 fn connect_property_upper_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( 135 &self, 136 f: F, 137 ) -> SignalHandlerId; 138 } 139 140 impl<O: IsA<Range>> RangeExt for O { get_adjustment(&self) -> Adjustment141 fn get_adjustment(&self) -> Adjustment { 142 unsafe { 143 from_glib_none(gtk_sys::gtk_range_get_adjustment( 144 self.as_ref().to_glib_none().0, 145 )) 146 } 147 } 148 get_fill_level(&self) -> f64149 fn get_fill_level(&self) -> f64 { 150 unsafe { gtk_sys::gtk_range_get_fill_level(self.as_ref().to_glib_none().0) } 151 } 152 get_flippable(&self) -> bool153 fn get_flippable(&self) -> bool { 154 unsafe { 155 from_glib(gtk_sys::gtk_range_get_flippable( 156 self.as_ref().to_glib_none().0, 157 )) 158 } 159 } 160 get_inverted(&self) -> bool161 fn get_inverted(&self) -> bool { 162 unsafe { 163 from_glib(gtk_sys::gtk_range_get_inverted( 164 self.as_ref().to_glib_none().0, 165 )) 166 } 167 } 168 get_lower_stepper_sensitivity(&self) -> SensitivityType169 fn get_lower_stepper_sensitivity(&self) -> SensitivityType { 170 unsafe { 171 from_glib(gtk_sys::gtk_range_get_lower_stepper_sensitivity( 172 self.as_ref().to_glib_none().0, 173 )) 174 } 175 } 176 get_min_slider_size(&self) -> i32177 fn get_min_slider_size(&self) -> i32 { 178 unsafe { gtk_sys::gtk_range_get_min_slider_size(self.as_ref().to_glib_none().0) } 179 } 180 get_range_rect(&self) -> gdk::Rectangle181 fn get_range_rect(&self) -> gdk::Rectangle { 182 unsafe { 183 let mut range_rect = gdk::Rectangle::uninitialized(); 184 gtk_sys::gtk_range_get_range_rect( 185 self.as_ref().to_glib_none().0, 186 range_rect.to_glib_none_mut().0, 187 ); 188 range_rect 189 } 190 } 191 get_restrict_to_fill_level(&self) -> bool192 fn get_restrict_to_fill_level(&self) -> bool { 193 unsafe { 194 from_glib(gtk_sys::gtk_range_get_restrict_to_fill_level( 195 self.as_ref().to_glib_none().0, 196 )) 197 } 198 } 199 get_round_digits(&self) -> i32200 fn get_round_digits(&self) -> i32 { 201 unsafe { gtk_sys::gtk_range_get_round_digits(self.as_ref().to_glib_none().0) } 202 } 203 get_show_fill_level(&self) -> bool204 fn get_show_fill_level(&self) -> bool { 205 unsafe { 206 from_glib(gtk_sys::gtk_range_get_show_fill_level( 207 self.as_ref().to_glib_none().0, 208 )) 209 } 210 } 211 get_slider_range(&self) -> (i32, i32)212 fn get_slider_range(&self) -> (i32, i32) { 213 unsafe { 214 let mut slider_start = mem::MaybeUninit::uninit(); 215 let mut slider_end = mem::MaybeUninit::uninit(); 216 gtk_sys::gtk_range_get_slider_range( 217 self.as_ref().to_glib_none().0, 218 slider_start.as_mut_ptr(), 219 slider_end.as_mut_ptr(), 220 ); 221 let slider_start = slider_start.assume_init(); 222 let slider_end = slider_end.assume_init(); 223 (slider_start, slider_end) 224 } 225 } 226 get_slider_size_fixed(&self) -> bool227 fn get_slider_size_fixed(&self) -> bool { 228 unsafe { 229 from_glib(gtk_sys::gtk_range_get_slider_size_fixed( 230 self.as_ref().to_glib_none().0, 231 )) 232 } 233 } 234 get_upper_stepper_sensitivity(&self) -> SensitivityType235 fn get_upper_stepper_sensitivity(&self) -> SensitivityType { 236 unsafe { 237 from_glib(gtk_sys::gtk_range_get_upper_stepper_sensitivity( 238 self.as_ref().to_glib_none().0, 239 )) 240 } 241 } 242 get_value(&self) -> f64243 fn get_value(&self) -> f64 { 244 unsafe { gtk_sys::gtk_range_get_value(self.as_ref().to_glib_none().0) } 245 } 246 set_adjustment<P: IsA<Adjustment>>(&self, adjustment: &P)247 fn set_adjustment<P: IsA<Adjustment>>(&self, adjustment: &P) { 248 unsafe { 249 gtk_sys::gtk_range_set_adjustment( 250 self.as_ref().to_glib_none().0, 251 adjustment.as_ref().to_glib_none().0, 252 ); 253 } 254 } 255 set_fill_level(&self, fill_level: f64)256 fn set_fill_level(&self, fill_level: f64) { 257 unsafe { 258 gtk_sys::gtk_range_set_fill_level(self.as_ref().to_glib_none().0, fill_level); 259 } 260 } 261 set_flippable(&self, flippable: bool)262 fn set_flippable(&self, flippable: bool) { 263 unsafe { 264 gtk_sys::gtk_range_set_flippable(self.as_ref().to_glib_none().0, flippable.to_glib()); 265 } 266 } 267 set_increments(&self, step: f64, page: f64)268 fn set_increments(&self, step: f64, page: f64) { 269 unsafe { 270 gtk_sys::gtk_range_set_increments(self.as_ref().to_glib_none().0, step, page); 271 } 272 } 273 set_inverted(&self, setting: bool)274 fn set_inverted(&self, setting: bool) { 275 unsafe { 276 gtk_sys::gtk_range_set_inverted(self.as_ref().to_glib_none().0, setting.to_glib()); 277 } 278 } 279 set_lower_stepper_sensitivity(&self, sensitivity: SensitivityType)280 fn set_lower_stepper_sensitivity(&self, sensitivity: SensitivityType) { 281 unsafe { 282 gtk_sys::gtk_range_set_lower_stepper_sensitivity( 283 self.as_ref().to_glib_none().0, 284 sensitivity.to_glib(), 285 ); 286 } 287 } 288 set_min_slider_size(&self, min_size: i32)289 fn set_min_slider_size(&self, min_size: i32) { 290 unsafe { 291 gtk_sys::gtk_range_set_min_slider_size(self.as_ref().to_glib_none().0, min_size); 292 } 293 } 294 set_range(&self, min: f64, max: f64)295 fn set_range(&self, min: f64, max: f64) { 296 unsafe { 297 gtk_sys::gtk_range_set_range(self.as_ref().to_glib_none().0, min, max); 298 } 299 } 300 set_restrict_to_fill_level(&self, restrict_to_fill_level: bool)301 fn set_restrict_to_fill_level(&self, restrict_to_fill_level: bool) { 302 unsafe { 303 gtk_sys::gtk_range_set_restrict_to_fill_level( 304 self.as_ref().to_glib_none().0, 305 restrict_to_fill_level.to_glib(), 306 ); 307 } 308 } 309 set_round_digits(&self, round_digits: i32)310 fn set_round_digits(&self, round_digits: i32) { 311 unsafe { 312 gtk_sys::gtk_range_set_round_digits(self.as_ref().to_glib_none().0, round_digits); 313 } 314 } 315 set_show_fill_level(&self, show_fill_level: bool)316 fn set_show_fill_level(&self, show_fill_level: bool) { 317 unsafe { 318 gtk_sys::gtk_range_set_show_fill_level( 319 self.as_ref().to_glib_none().0, 320 show_fill_level.to_glib(), 321 ); 322 } 323 } 324 set_slider_size_fixed(&self, size_fixed: bool)325 fn set_slider_size_fixed(&self, size_fixed: bool) { 326 unsafe { 327 gtk_sys::gtk_range_set_slider_size_fixed( 328 self.as_ref().to_glib_none().0, 329 size_fixed.to_glib(), 330 ); 331 } 332 } 333 set_upper_stepper_sensitivity(&self, sensitivity: SensitivityType)334 fn set_upper_stepper_sensitivity(&self, sensitivity: SensitivityType) { 335 unsafe { 336 gtk_sys::gtk_range_set_upper_stepper_sensitivity( 337 self.as_ref().to_glib_none().0, 338 sensitivity.to_glib(), 339 ); 340 } 341 } 342 set_value(&self, value: f64)343 fn set_value(&self, value: f64) { 344 unsafe { 345 gtk_sys::gtk_range_set_value(self.as_ref().to_glib_none().0, value); 346 } 347 } 348 connect_adjust_bounds<F: Fn(&Self, f64) + 'static>(&self, f: F) -> SignalHandlerId349 fn connect_adjust_bounds<F: Fn(&Self, f64) + 'static>(&self, f: F) -> SignalHandlerId { 350 unsafe extern "C" fn adjust_bounds_trampoline<P, F: Fn(&P, f64) + 'static>( 351 this: *mut gtk_sys::GtkRange, 352 value: libc::c_double, 353 f: glib_sys::gpointer, 354 ) where 355 P: IsA<Range>, 356 { 357 let f: &F = &*(f as *const F); 358 f(&Range::from_glib_borrow(this).unsafe_cast(), value) 359 } 360 unsafe { 361 let f: Box_<F> = Box_::new(f); 362 connect_raw( 363 self.as_ptr() as *mut _, 364 b"adjust-bounds\0".as_ptr() as *const _, 365 Some(transmute(adjust_bounds_trampoline::<Self, F> as usize)), 366 Box_::into_raw(f), 367 ) 368 } 369 } 370 connect_change_value<F: Fn(&Self, ScrollType, f64) -> glib::signal::Inhibit + 'static>( &self, f: F, ) -> SignalHandlerId371 fn connect_change_value<F: Fn(&Self, ScrollType, f64) -> glib::signal::Inhibit + 'static>( 372 &self, 373 f: F, 374 ) -> SignalHandlerId { 375 unsafe extern "C" fn change_value_trampoline< 376 P, 377 F: Fn(&P, ScrollType, f64) -> glib::signal::Inhibit + 'static, 378 >( 379 this: *mut gtk_sys::GtkRange, 380 scroll: gtk_sys::GtkScrollType, 381 value: libc::c_double, 382 f: glib_sys::gpointer, 383 ) -> glib_sys::gboolean 384 where 385 P: IsA<Range>, 386 { 387 let f: &F = &*(f as *const F); 388 f( 389 &Range::from_glib_borrow(this).unsafe_cast(), 390 from_glib(scroll), 391 value, 392 ) 393 .to_glib() 394 } 395 unsafe { 396 let f: Box_<F> = Box_::new(f); 397 connect_raw( 398 self.as_ptr() as *mut _, 399 b"change-value\0".as_ptr() as *const _, 400 Some(transmute(change_value_trampoline::<Self, F> as usize)), 401 Box_::into_raw(f), 402 ) 403 } 404 } 405 connect_move_slider<F: Fn(&Self, ScrollType) + 'static>(&self, f: F) -> SignalHandlerId406 fn connect_move_slider<F: Fn(&Self, ScrollType) + 'static>(&self, f: F) -> SignalHandlerId { 407 unsafe extern "C" fn move_slider_trampoline<P, F: Fn(&P, ScrollType) + 'static>( 408 this: *mut gtk_sys::GtkRange, 409 step: gtk_sys::GtkScrollType, 410 f: glib_sys::gpointer, 411 ) where 412 P: IsA<Range>, 413 { 414 let f: &F = &*(f as *const F); 415 f( 416 &Range::from_glib_borrow(this).unsafe_cast(), 417 from_glib(step), 418 ) 419 } 420 unsafe { 421 let f: Box_<F> = Box_::new(f); 422 connect_raw( 423 self.as_ptr() as *mut _, 424 b"move-slider\0".as_ptr() as *const _, 425 Some(transmute(move_slider_trampoline::<Self, F> as usize)), 426 Box_::into_raw(f), 427 ) 428 } 429 } 430 emit_move_slider(&self, step: ScrollType)431 fn emit_move_slider(&self, step: ScrollType) { 432 let _ = unsafe { 433 glib::Object::from_glib_borrow(self.to_glib_none().0 as *mut gobject_sys::GObject) 434 .emit("move-slider", &[&step]) 435 .unwrap() 436 }; 437 } 438 connect_value_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId439 fn connect_value_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 440 unsafe extern "C" fn value_changed_trampoline<P, F: Fn(&P) + 'static>( 441 this: *mut gtk_sys::GtkRange, 442 f: glib_sys::gpointer, 443 ) where 444 P: IsA<Range>, 445 { 446 let f: &F = &*(f as *const F); 447 f(&Range::from_glib_borrow(this).unsafe_cast()) 448 } 449 unsafe { 450 let f: Box_<F> = Box_::new(f); 451 connect_raw( 452 self.as_ptr() as *mut _, 453 b"value-changed\0".as_ptr() as *const _, 454 Some(transmute(value_changed_trampoline::<Self, F> as usize)), 455 Box_::into_raw(f), 456 ) 457 } 458 } 459 connect_property_adjustment_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId460 fn connect_property_adjustment_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 461 unsafe extern "C" fn notify_adjustment_trampoline<P, F: Fn(&P) + 'static>( 462 this: *mut gtk_sys::GtkRange, 463 _param_spec: glib_sys::gpointer, 464 f: glib_sys::gpointer, 465 ) where 466 P: IsA<Range>, 467 { 468 let f: &F = &*(f as *const F); 469 f(&Range::from_glib_borrow(this).unsafe_cast()) 470 } 471 unsafe { 472 let f: Box_<F> = Box_::new(f); 473 connect_raw( 474 self.as_ptr() as *mut _, 475 b"notify::adjustment\0".as_ptr() as *const _, 476 Some(transmute(notify_adjustment_trampoline::<Self, F> as usize)), 477 Box_::into_raw(f), 478 ) 479 } 480 } 481 connect_property_fill_level_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId482 fn connect_property_fill_level_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 483 unsafe extern "C" fn notify_fill_level_trampoline<P, F: Fn(&P) + 'static>( 484 this: *mut gtk_sys::GtkRange, 485 _param_spec: glib_sys::gpointer, 486 f: glib_sys::gpointer, 487 ) where 488 P: IsA<Range>, 489 { 490 let f: &F = &*(f as *const F); 491 f(&Range::from_glib_borrow(this).unsafe_cast()) 492 } 493 unsafe { 494 let f: Box_<F> = Box_::new(f); 495 connect_raw( 496 self.as_ptr() as *mut _, 497 b"notify::fill-level\0".as_ptr() as *const _, 498 Some(transmute(notify_fill_level_trampoline::<Self, F> as usize)), 499 Box_::into_raw(f), 500 ) 501 } 502 } 503 connect_property_inverted_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId504 fn connect_property_inverted_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 505 unsafe extern "C" fn notify_inverted_trampoline<P, F: Fn(&P) + 'static>( 506 this: *mut gtk_sys::GtkRange, 507 _param_spec: glib_sys::gpointer, 508 f: glib_sys::gpointer, 509 ) where 510 P: IsA<Range>, 511 { 512 let f: &F = &*(f as *const F); 513 f(&Range::from_glib_borrow(this).unsafe_cast()) 514 } 515 unsafe { 516 let f: Box_<F> = Box_::new(f); 517 connect_raw( 518 self.as_ptr() as *mut _, 519 b"notify::inverted\0".as_ptr() as *const _, 520 Some(transmute(notify_inverted_trampoline::<Self, F> as usize)), 521 Box_::into_raw(f), 522 ) 523 } 524 } 525 connect_property_lower_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId526 fn connect_property_lower_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( 527 &self, 528 f: F, 529 ) -> SignalHandlerId { 530 unsafe extern "C" fn notify_lower_stepper_sensitivity_trampoline<P, F: Fn(&P) + 'static>( 531 this: *mut gtk_sys::GtkRange, 532 _param_spec: glib_sys::gpointer, 533 f: glib_sys::gpointer, 534 ) where 535 P: IsA<Range>, 536 { 537 let f: &F = &*(f as *const F); 538 f(&Range::from_glib_borrow(this).unsafe_cast()) 539 } 540 unsafe { 541 let f: Box_<F> = Box_::new(f); 542 connect_raw( 543 self.as_ptr() as *mut _, 544 b"notify::lower-stepper-sensitivity\0".as_ptr() as *const _, 545 Some(transmute( 546 notify_lower_stepper_sensitivity_trampoline::<Self, F> as usize, 547 )), 548 Box_::into_raw(f), 549 ) 550 } 551 } 552 connect_property_restrict_to_fill_level_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId553 fn connect_property_restrict_to_fill_level_notify<F: Fn(&Self) + 'static>( 554 &self, 555 f: F, 556 ) -> SignalHandlerId { 557 unsafe extern "C" fn notify_restrict_to_fill_level_trampoline<P, F: Fn(&P) + 'static>( 558 this: *mut gtk_sys::GtkRange, 559 _param_spec: glib_sys::gpointer, 560 f: glib_sys::gpointer, 561 ) where 562 P: IsA<Range>, 563 { 564 let f: &F = &*(f as *const F); 565 f(&Range::from_glib_borrow(this).unsafe_cast()) 566 } 567 unsafe { 568 let f: Box_<F> = Box_::new(f); 569 connect_raw( 570 self.as_ptr() as *mut _, 571 b"notify::restrict-to-fill-level\0".as_ptr() as *const _, 572 Some(transmute( 573 notify_restrict_to_fill_level_trampoline::<Self, F> as usize, 574 )), 575 Box_::into_raw(f), 576 ) 577 } 578 } 579 connect_property_round_digits_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId580 fn connect_property_round_digits_notify<F: Fn(&Self) + 'static>( 581 &self, 582 f: F, 583 ) -> SignalHandlerId { 584 unsafe extern "C" fn notify_round_digits_trampoline<P, F: Fn(&P) + 'static>( 585 this: *mut gtk_sys::GtkRange, 586 _param_spec: glib_sys::gpointer, 587 f: glib_sys::gpointer, 588 ) where 589 P: IsA<Range>, 590 { 591 let f: &F = &*(f as *const F); 592 f(&Range::from_glib_borrow(this).unsafe_cast()) 593 } 594 unsafe { 595 let f: Box_<F> = Box_::new(f); 596 connect_raw( 597 self.as_ptr() as *mut _, 598 b"notify::round-digits\0".as_ptr() as *const _, 599 Some(transmute( 600 notify_round_digits_trampoline::<Self, F> as usize, 601 )), 602 Box_::into_raw(f), 603 ) 604 } 605 } 606 connect_property_show_fill_level_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId607 fn connect_property_show_fill_level_notify<F: Fn(&Self) + 'static>( 608 &self, 609 f: F, 610 ) -> SignalHandlerId { 611 unsafe extern "C" fn notify_show_fill_level_trampoline<P, F: Fn(&P) + 'static>( 612 this: *mut gtk_sys::GtkRange, 613 _param_spec: glib_sys::gpointer, 614 f: glib_sys::gpointer, 615 ) where 616 P: IsA<Range>, 617 { 618 let f: &F = &*(f as *const F); 619 f(&Range::from_glib_borrow(this).unsafe_cast()) 620 } 621 unsafe { 622 let f: Box_<F> = Box_::new(f); 623 connect_raw( 624 self.as_ptr() as *mut _, 625 b"notify::show-fill-level\0".as_ptr() as *const _, 626 Some(transmute( 627 notify_show_fill_level_trampoline::<Self, F> as usize, 628 )), 629 Box_::into_raw(f), 630 ) 631 } 632 } 633 connect_property_upper_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId634 fn connect_property_upper_stepper_sensitivity_notify<F: Fn(&Self) + 'static>( 635 &self, 636 f: F, 637 ) -> SignalHandlerId { 638 unsafe extern "C" fn notify_upper_stepper_sensitivity_trampoline<P, F: Fn(&P) + 'static>( 639 this: *mut gtk_sys::GtkRange, 640 _param_spec: glib_sys::gpointer, 641 f: glib_sys::gpointer, 642 ) where 643 P: IsA<Range>, 644 { 645 let f: &F = &*(f as *const F); 646 f(&Range::from_glib_borrow(this).unsafe_cast()) 647 } 648 unsafe { 649 let f: Box_<F> = Box_::new(f); 650 connect_raw( 651 self.as_ptr() as *mut _, 652 b"notify::upper-stepper-sensitivity\0".as_ptr() as *const _, 653 Some(transmute( 654 notify_upper_stepper_sensitivity_trampoline::<Self, F> as usize, 655 )), 656 Box_::into_raw(f), 657 ) 658 } 659 } 660 } 661 662 impl fmt::Display for Range { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result663 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 664 write!(f, "Range") 665 } 666 } 667