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 #[cfg(any(feature = "v3_16", feature = "dox"))] 7 use gio; 8 use glib::object::Cast; 9 #[cfg(any(feature = "v3_16", feature = "dox"))] 10 use glib::object::ObjectType as ObjectType_; 11 #[cfg(any(feature = "v3_16", feature = "dox"))] 12 use glib::signal::connect_raw; 13 #[cfg(any(feature = "v3_16", feature = "dox"))] 14 use glib::signal::SignalHandlerId; 15 use glib::translate::*; 16 #[cfg(any(feature = "v3_16", feature = "dox"))] 17 use glib::GString; 18 use glib::StaticType; 19 use glib::ToValue; 20 #[cfg(any(feature = "v3_16", feature = "dox"))] 21 use glib::Value; 22 #[cfg(any(feature = "v3_16", feature = "dox"))] 23 use glib_sys; 24 #[cfg(any(feature = "v3_16", feature = "dox"))] 25 use gobject_sys; 26 use gtk_sys; 27 #[cfg(any(feature = "v3_16", feature = "dox"))] 28 use std::boxed::Box as Box_; 29 use std::fmt; 30 #[cfg(any(feature = "v3_16", feature = "dox"))] 31 use std::mem::transmute; 32 use Actionable; 33 use Align; 34 use Bin; 35 use Buildable; 36 use Button; 37 #[cfg(any(feature = "v3_16", feature = "dox"))] 38 use ButtonRole; 39 use Container; 40 use PositionType; 41 use ReliefStyle; 42 use ResizeMode; 43 use Widget; 44 45 glib_wrapper! { 46 pub struct ModelButton(Object<gtk_sys::GtkModelButton, ModelButtonClass>) @extends Button, Bin, Container, Widget, @implements Buildable, Actionable; 47 48 match fn { 49 get_type => || gtk_sys::gtk_model_button_get_type(), 50 } 51 } 52 53 impl ModelButton { 54 #[cfg(any(feature = "v3_16", feature = "dox"))] new() -> ModelButton55 pub fn new() -> ModelButton { 56 assert_initialized_main_thread!(); 57 unsafe { Widget::from_glib_none(gtk_sys::gtk_model_button_new()).unsafe_cast() } 58 } 59 60 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_active(&self) -> bool61 pub fn get_property_active(&self) -> bool { 62 unsafe { 63 let mut value = Value::from_type(<bool as StaticType>::static_type()); 64 gobject_sys::g_object_get_property( 65 self.as_ptr() as *mut gobject_sys::GObject, 66 b"active\0".as_ptr() as *const _, 67 value.to_glib_none_mut().0, 68 ); 69 value.get().unwrap() 70 } 71 } 72 73 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_active(&self, active: bool)74 pub fn set_property_active(&self, active: bool) { 75 unsafe { 76 gobject_sys::g_object_set_property( 77 self.as_ptr() as *mut gobject_sys::GObject, 78 b"active\0".as_ptr() as *const _, 79 Value::from(&active).to_glib_none().0, 80 ); 81 } 82 } 83 84 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_centered(&self) -> bool85 pub fn get_property_centered(&self) -> bool { 86 unsafe { 87 let mut value = Value::from_type(<bool as StaticType>::static_type()); 88 gobject_sys::g_object_get_property( 89 self.as_ptr() as *mut gobject_sys::GObject, 90 b"centered\0".as_ptr() as *const _, 91 value.to_glib_none_mut().0, 92 ); 93 value.get().unwrap() 94 } 95 } 96 97 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_centered(&self, centered: bool)98 pub fn set_property_centered(&self, centered: bool) { 99 unsafe { 100 gobject_sys::g_object_set_property( 101 self.as_ptr() as *mut gobject_sys::GObject, 102 b"centered\0".as_ptr() as *const _, 103 Value::from(¢ered).to_glib_none().0, 104 ); 105 } 106 } 107 108 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_icon(&self) -> Option<gio::Icon>109 pub fn get_property_icon(&self) -> Option<gio::Icon> { 110 unsafe { 111 let mut value = Value::from_type(<gio::Icon as StaticType>::static_type()); 112 gobject_sys::g_object_get_property( 113 self.as_ptr() as *mut gobject_sys::GObject, 114 b"icon\0".as_ptr() as *const _, 115 value.to_glib_none_mut().0, 116 ); 117 value.get() 118 } 119 } 120 121 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_icon(&self, icon: Option<&gio::Icon>)122 pub fn set_property_icon(&self, icon: Option<&gio::Icon>) { 123 unsafe { 124 gobject_sys::g_object_set_property( 125 self.as_ptr() as *mut gobject_sys::GObject, 126 b"icon\0".as_ptr() as *const _, 127 Value::from(icon).to_glib_none().0, 128 ); 129 } 130 } 131 132 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_iconic(&self) -> bool133 pub fn get_property_iconic(&self) -> bool { 134 unsafe { 135 let mut value = Value::from_type(<bool as StaticType>::static_type()); 136 gobject_sys::g_object_get_property( 137 self.as_ptr() as *mut gobject_sys::GObject, 138 b"iconic\0".as_ptr() as *const _, 139 value.to_glib_none_mut().0, 140 ); 141 value.get().unwrap() 142 } 143 } 144 145 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_iconic(&self, iconic: bool)146 pub fn set_property_iconic(&self, iconic: bool) { 147 unsafe { 148 gobject_sys::g_object_set_property( 149 self.as_ptr() as *mut gobject_sys::GObject, 150 b"iconic\0".as_ptr() as *const _, 151 Value::from(&iconic).to_glib_none().0, 152 ); 153 } 154 } 155 156 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_inverted(&self) -> bool157 pub fn get_property_inverted(&self) -> bool { 158 unsafe { 159 let mut value = Value::from_type(<bool as StaticType>::static_type()); 160 gobject_sys::g_object_get_property( 161 self.as_ptr() as *mut gobject_sys::GObject, 162 b"inverted\0".as_ptr() as *const _, 163 value.to_glib_none_mut().0, 164 ); 165 value.get().unwrap() 166 } 167 } 168 169 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_inverted(&self, inverted: bool)170 pub fn set_property_inverted(&self, inverted: bool) { 171 unsafe { 172 gobject_sys::g_object_set_property( 173 self.as_ptr() as *mut gobject_sys::GObject, 174 b"inverted\0".as_ptr() as *const _, 175 Value::from(&inverted).to_glib_none().0, 176 ); 177 } 178 } 179 180 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_menu_name(&self) -> Option<GString>181 pub fn get_property_menu_name(&self) -> Option<GString> { 182 unsafe { 183 let mut value = Value::from_type(<GString as StaticType>::static_type()); 184 gobject_sys::g_object_get_property( 185 self.as_ptr() as *mut gobject_sys::GObject, 186 b"menu-name\0".as_ptr() as *const _, 187 value.to_glib_none_mut().0, 188 ); 189 value.get() 190 } 191 } 192 193 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_menu_name(&self, menu_name: Option<&str>)194 pub fn set_property_menu_name(&self, menu_name: Option<&str>) { 195 unsafe { 196 gobject_sys::g_object_set_property( 197 self.as_ptr() as *mut gobject_sys::GObject, 198 b"menu-name\0".as_ptr() as *const _, 199 Value::from(menu_name).to_glib_none().0, 200 ); 201 } 202 } 203 204 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_role(&self) -> ButtonRole205 pub fn get_property_role(&self) -> ButtonRole { 206 unsafe { 207 let mut value = Value::from_type(<ButtonRole as StaticType>::static_type()); 208 gobject_sys::g_object_get_property( 209 self.as_ptr() as *mut gobject_sys::GObject, 210 b"role\0".as_ptr() as *const _, 211 value.to_glib_none_mut().0, 212 ); 213 value.get().unwrap() 214 } 215 } 216 217 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_role(&self, role: ButtonRole)218 pub fn set_property_role(&self, role: ButtonRole) { 219 unsafe { 220 gobject_sys::g_object_set_property( 221 self.as_ptr() as *mut gobject_sys::GObject, 222 b"role\0".as_ptr() as *const _, 223 Value::from(&role).to_glib_none().0, 224 ); 225 } 226 } 227 228 #[cfg(any(feature = "v3_16", feature = "dox"))] get_property_text(&self) -> Option<GString>229 pub fn get_property_text(&self) -> Option<GString> { 230 unsafe { 231 let mut value = Value::from_type(<GString as StaticType>::static_type()); 232 gobject_sys::g_object_get_property( 233 self.as_ptr() as *mut gobject_sys::GObject, 234 b"text\0".as_ptr() as *const _, 235 value.to_glib_none_mut().0, 236 ); 237 value.get() 238 } 239 } 240 241 #[cfg(any(feature = "v3_16", feature = "dox"))] set_property_text(&self, text: Option<&str>)242 pub fn set_property_text(&self, text: Option<&str>) { 243 unsafe { 244 gobject_sys::g_object_set_property( 245 self.as_ptr() as *mut gobject_sys::GObject, 246 b"text\0".as_ptr() as *const _, 247 Value::from(text).to_glib_none().0, 248 ); 249 } 250 } 251 252 #[cfg(any(feature = "v3_24", feature = "dox"))] get_property_use_markup(&self) -> bool253 pub fn get_property_use_markup(&self) -> bool { 254 unsafe { 255 let mut value = Value::from_type(<bool as StaticType>::static_type()); 256 gobject_sys::g_object_get_property( 257 self.as_ptr() as *mut gobject_sys::GObject, 258 b"use-markup\0".as_ptr() as *const _, 259 value.to_glib_none_mut().0, 260 ); 261 value.get().unwrap() 262 } 263 } 264 265 #[cfg(any(feature = "v3_24", feature = "dox"))] set_property_use_markup(&self, use_markup: bool)266 pub fn set_property_use_markup(&self, use_markup: bool) { 267 unsafe { 268 gobject_sys::g_object_set_property( 269 self.as_ptr() as *mut gobject_sys::GObject, 270 b"use-markup\0".as_ptr() as *const _, 271 Value::from(&use_markup).to_glib_none().0, 272 ); 273 } 274 } 275 276 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_active_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId277 pub fn connect_property_active_notify<F: Fn(&ModelButton) + 'static>( 278 &self, 279 f: F, 280 ) -> SignalHandlerId { 281 unsafe extern "C" fn notify_active_trampoline<F: Fn(&ModelButton) + 'static>( 282 this: *mut gtk_sys::GtkModelButton, 283 _param_spec: glib_sys::gpointer, 284 f: glib_sys::gpointer, 285 ) { 286 let f: &F = &*(f as *const F); 287 f(&from_glib_borrow(this)) 288 } 289 unsafe { 290 let f: Box_<F> = Box_::new(f); 291 connect_raw( 292 self.as_ptr() as *mut _, 293 b"notify::active\0".as_ptr() as *const _, 294 Some(transmute(notify_active_trampoline::<F> as usize)), 295 Box_::into_raw(f), 296 ) 297 } 298 } 299 300 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_centered_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId301 pub fn connect_property_centered_notify<F: Fn(&ModelButton) + 'static>( 302 &self, 303 f: F, 304 ) -> SignalHandlerId { 305 unsafe extern "C" fn notify_centered_trampoline<F: Fn(&ModelButton) + 'static>( 306 this: *mut gtk_sys::GtkModelButton, 307 _param_spec: glib_sys::gpointer, 308 f: glib_sys::gpointer, 309 ) { 310 let f: &F = &*(f as *const F); 311 f(&from_glib_borrow(this)) 312 } 313 unsafe { 314 let f: Box_<F> = Box_::new(f); 315 connect_raw( 316 self.as_ptr() as *mut _, 317 b"notify::centered\0".as_ptr() as *const _, 318 Some(transmute(notify_centered_trampoline::<F> as usize)), 319 Box_::into_raw(f), 320 ) 321 } 322 } 323 324 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_icon_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId325 pub fn connect_property_icon_notify<F: Fn(&ModelButton) + 'static>( 326 &self, 327 f: F, 328 ) -> SignalHandlerId { 329 unsafe extern "C" fn notify_icon_trampoline<F: Fn(&ModelButton) + 'static>( 330 this: *mut gtk_sys::GtkModelButton, 331 _param_spec: glib_sys::gpointer, 332 f: glib_sys::gpointer, 333 ) { 334 let f: &F = &*(f as *const F); 335 f(&from_glib_borrow(this)) 336 } 337 unsafe { 338 let f: Box_<F> = Box_::new(f); 339 connect_raw( 340 self.as_ptr() as *mut _, 341 b"notify::icon\0".as_ptr() as *const _, 342 Some(transmute(notify_icon_trampoline::<F> as usize)), 343 Box_::into_raw(f), 344 ) 345 } 346 } 347 348 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_iconic_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId349 pub fn connect_property_iconic_notify<F: Fn(&ModelButton) + 'static>( 350 &self, 351 f: F, 352 ) -> SignalHandlerId { 353 unsafe extern "C" fn notify_iconic_trampoline<F: Fn(&ModelButton) + 'static>( 354 this: *mut gtk_sys::GtkModelButton, 355 _param_spec: glib_sys::gpointer, 356 f: glib_sys::gpointer, 357 ) { 358 let f: &F = &*(f as *const F); 359 f(&from_glib_borrow(this)) 360 } 361 unsafe { 362 let f: Box_<F> = Box_::new(f); 363 connect_raw( 364 self.as_ptr() as *mut _, 365 b"notify::iconic\0".as_ptr() as *const _, 366 Some(transmute(notify_iconic_trampoline::<F> as usize)), 367 Box_::into_raw(f), 368 ) 369 } 370 } 371 372 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_inverted_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId373 pub fn connect_property_inverted_notify<F: Fn(&ModelButton) + 'static>( 374 &self, 375 f: F, 376 ) -> SignalHandlerId { 377 unsafe extern "C" fn notify_inverted_trampoline<F: Fn(&ModelButton) + 'static>( 378 this: *mut gtk_sys::GtkModelButton, 379 _param_spec: glib_sys::gpointer, 380 f: glib_sys::gpointer, 381 ) { 382 let f: &F = &*(f as *const F); 383 f(&from_glib_borrow(this)) 384 } 385 unsafe { 386 let f: Box_<F> = Box_::new(f); 387 connect_raw( 388 self.as_ptr() as *mut _, 389 b"notify::inverted\0".as_ptr() as *const _, 390 Some(transmute(notify_inverted_trampoline::<F> as usize)), 391 Box_::into_raw(f), 392 ) 393 } 394 } 395 396 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_menu_name_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId397 pub fn connect_property_menu_name_notify<F: Fn(&ModelButton) + 'static>( 398 &self, 399 f: F, 400 ) -> SignalHandlerId { 401 unsafe extern "C" fn notify_menu_name_trampoline<F: Fn(&ModelButton) + 'static>( 402 this: *mut gtk_sys::GtkModelButton, 403 _param_spec: glib_sys::gpointer, 404 f: glib_sys::gpointer, 405 ) { 406 let f: &F = &*(f as *const F); 407 f(&from_glib_borrow(this)) 408 } 409 unsafe { 410 let f: Box_<F> = Box_::new(f); 411 connect_raw( 412 self.as_ptr() as *mut _, 413 b"notify::menu-name\0".as_ptr() as *const _, 414 Some(transmute(notify_menu_name_trampoline::<F> as usize)), 415 Box_::into_raw(f), 416 ) 417 } 418 } 419 420 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_role_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId421 pub fn connect_property_role_notify<F: Fn(&ModelButton) + 'static>( 422 &self, 423 f: F, 424 ) -> SignalHandlerId { 425 unsafe extern "C" fn notify_role_trampoline<F: Fn(&ModelButton) + 'static>( 426 this: *mut gtk_sys::GtkModelButton, 427 _param_spec: glib_sys::gpointer, 428 f: glib_sys::gpointer, 429 ) { 430 let f: &F = &*(f as *const F); 431 f(&from_glib_borrow(this)) 432 } 433 unsafe { 434 let f: Box_<F> = Box_::new(f); 435 connect_raw( 436 self.as_ptr() as *mut _, 437 b"notify::role\0".as_ptr() as *const _, 438 Some(transmute(notify_role_trampoline::<F> as usize)), 439 Box_::into_raw(f), 440 ) 441 } 442 } 443 444 #[cfg(any(feature = "v3_16", feature = "dox"))] connect_property_text_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId445 pub fn connect_property_text_notify<F: Fn(&ModelButton) + 'static>( 446 &self, 447 f: F, 448 ) -> SignalHandlerId { 449 unsafe extern "C" fn notify_text_trampoline<F: Fn(&ModelButton) + 'static>( 450 this: *mut gtk_sys::GtkModelButton, 451 _param_spec: glib_sys::gpointer, 452 f: glib_sys::gpointer, 453 ) { 454 let f: &F = &*(f as *const F); 455 f(&from_glib_borrow(this)) 456 } 457 unsafe { 458 let f: Box_<F> = Box_::new(f); 459 connect_raw( 460 self.as_ptr() as *mut _, 461 b"notify::text\0".as_ptr() as *const _, 462 Some(transmute(notify_text_trampoline::<F> as usize)), 463 Box_::into_raw(f), 464 ) 465 } 466 } 467 468 #[cfg(any(feature = "v3_24", feature = "dox"))] connect_property_use_markup_notify<F: Fn(&ModelButton) + 'static>( &self, f: F, ) -> SignalHandlerId469 pub fn connect_property_use_markup_notify<F: Fn(&ModelButton) + 'static>( 470 &self, 471 f: F, 472 ) -> SignalHandlerId { 473 unsafe extern "C" fn notify_use_markup_trampoline<F: Fn(&ModelButton) + 'static>( 474 this: *mut gtk_sys::GtkModelButton, 475 _param_spec: glib_sys::gpointer, 476 f: glib_sys::gpointer, 477 ) { 478 let f: &F = &*(f as *const F); 479 f(&from_glib_borrow(this)) 480 } 481 unsafe { 482 let f: Box_<F> = Box_::new(f); 483 connect_raw( 484 self.as_ptr() as *mut _, 485 b"notify::use-markup\0".as_ptr() as *const _, 486 Some(transmute(notify_use_markup_trampoline::<F> as usize)), 487 Box_::into_raw(f), 488 ) 489 } 490 } 491 } 492 493 #[cfg(any(feature = "v3_16", feature = "dox"))] 494 impl Default for ModelButton { default() -> Self495 fn default() -> Self { 496 Self::new() 497 } 498 } 499 500 pub struct ModelButtonBuilder { 501 #[cfg(any(feature = "v3_16", feature = "dox"))] 502 active: Option<bool>, 503 #[cfg(any(feature = "v3_16", feature = "dox"))] 504 centered: Option<bool>, 505 #[cfg(any(feature = "v3_16", feature = "dox"))] 506 icon: Option<gio::Icon>, 507 #[cfg(any(feature = "v3_16", feature = "dox"))] 508 iconic: Option<bool>, 509 #[cfg(any(feature = "v3_16", feature = "dox"))] 510 inverted: Option<bool>, 511 #[cfg(any(feature = "v3_16", feature = "dox"))] 512 menu_name: Option<String>, 513 #[cfg(any(feature = "v3_16", feature = "dox"))] 514 role: Option<ButtonRole>, 515 #[cfg(any(feature = "v3_16", feature = "dox"))] 516 text: Option<String>, 517 #[cfg(any(feature = "v3_24", feature = "dox"))] 518 use_markup: Option<bool>, 519 always_show_image: Option<bool>, 520 image: Option<Widget>, 521 image_position: Option<PositionType>, 522 label: Option<String>, 523 relief: Option<ReliefStyle>, 524 use_underline: Option<bool>, 525 border_width: Option<u32>, 526 child: Option<Widget>, 527 resize_mode: Option<ResizeMode>, 528 app_paintable: Option<bool>, 529 can_default: Option<bool>, 530 can_focus: Option<bool>, 531 events: Option<gdk::EventMask>, 532 expand: Option<bool>, 533 #[cfg(any(feature = "v3_20", feature = "dox"))] 534 focus_on_click: Option<bool>, 535 halign: Option<Align>, 536 has_default: Option<bool>, 537 has_focus: Option<bool>, 538 has_tooltip: Option<bool>, 539 height_request: Option<i32>, 540 hexpand: Option<bool>, 541 hexpand_set: Option<bool>, 542 is_focus: Option<bool>, 543 margin: Option<i32>, 544 margin_bottom: Option<i32>, 545 margin_end: Option<i32>, 546 margin_start: Option<i32>, 547 margin_top: Option<i32>, 548 name: Option<String>, 549 no_show_all: Option<bool>, 550 opacity: Option<f64>, 551 parent: Option<Container>, 552 receives_default: Option<bool>, 553 sensitive: Option<bool>, 554 //style: /*Unknown type*/, 555 tooltip_markup: Option<String>, 556 tooltip_text: Option<String>, 557 valign: Option<Align>, 558 vexpand: Option<bool>, 559 vexpand_set: Option<bool>, 560 visible: Option<bool>, 561 width_request: Option<i32>, 562 } 563 564 impl ModelButtonBuilder { new() -> Self565 pub fn new() -> Self { 566 Self { 567 #[cfg(any(feature = "v3_16", feature = "dox"))] 568 active: None, 569 #[cfg(any(feature = "v3_16", feature = "dox"))] 570 centered: None, 571 #[cfg(any(feature = "v3_16", feature = "dox"))] 572 icon: None, 573 #[cfg(any(feature = "v3_16", feature = "dox"))] 574 iconic: None, 575 #[cfg(any(feature = "v3_16", feature = "dox"))] 576 inverted: None, 577 #[cfg(any(feature = "v3_16", feature = "dox"))] 578 menu_name: None, 579 #[cfg(any(feature = "v3_16", feature = "dox"))] 580 role: None, 581 #[cfg(any(feature = "v3_16", feature = "dox"))] 582 text: None, 583 #[cfg(any(feature = "v3_24", feature = "dox"))] 584 use_markup: None, 585 always_show_image: None, 586 image: None, 587 image_position: None, 588 label: None, 589 relief: None, 590 use_underline: None, 591 border_width: None, 592 child: None, 593 resize_mode: None, 594 app_paintable: None, 595 can_default: None, 596 can_focus: None, 597 events: None, 598 expand: None, 599 #[cfg(any(feature = "v3_20", feature = "dox"))] 600 focus_on_click: None, 601 halign: None, 602 has_default: None, 603 has_focus: None, 604 has_tooltip: None, 605 height_request: None, 606 hexpand: None, 607 hexpand_set: None, 608 is_focus: None, 609 margin: None, 610 margin_bottom: None, 611 margin_end: None, 612 margin_start: None, 613 margin_top: None, 614 name: None, 615 no_show_all: None, 616 opacity: None, 617 parent: None, 618 receives_default: None, 619 sensitive: None, 620 tooltip_markup: None, 621 tooltip_text: None, 622 valign: None, 623 vexpand: None, 624 vexpand_set: None, 625 visible: None, 626 width_request: None, 627 } 628 } 629 build(self) -> ModelButton630 pub fn build(self) -> ModelButton { 631 let mut properties: Vec<(&str, &dyn ToValue)> = vec![]; 632 #[cfg(any(feature = "v3_16", feature = "dox"))] 633 { 634 if let Some(ref active) = self.active { 635 properties.push(("active", active)); 636 } 637 } 638 #[cfg(any(feature = "v3_16", feature = "dox"))] 639 { 640 if let Some(ref centered) = self.centered { 641 properties.push(("centered", centered)); 642 } 643 } 644 #[cfg(any(feature = "v3_16", feature = "dox"))] 645 { 646 if let Some(ref icon) = self.icon { 647 properties.push(("icon", icon)); 648 } 649 } 650 #[cfg(any(feature = "v3_16", feature = "dox"))] 651 { 652 if let Some(ref iconic) = self.iconic { 653 properties.push(("iconic", iconic)); 654 } 655 } 656 #[cfg(any(feature = "v3_16", feature = "dox"))] 657 { 658 if let Some(ref inverted) = self.inverted { 659 properties.push(("inverted", inverted)); 660 } 661 } 662 #[cfg(any(feature = "v3_16", feature = "dox"))] 663 { 664 if let Some(ref menu_name) = self.menu_name { 665 properties.push(("menu-name", menu_name)); 666 } 667 } 668 #[cfg(any(feature = "v3_16", feature = "dox"))] 669 { 670 if let Some(ref role) = self.role { 671 properties.push(("role", role)); 672 } 673 } 674 #[cfg(any(feature = "v3_16", feature = "dox"))] 675 { 676 if let Some(ref text) = self.text { 677 properties.push(("text", text)); 678 } 679 } 680 #[cfg(any(feature = "v3_24", feature = "dox"))] 681 { 682 if let Some(ref use_markup) = self.use_markup { 683 properties.push(("use-markup", use_markup)); 684 } 685 } 686 if let Some(ref always_show_image) = self.always_show_image { 687 properties.push(("always-show-image", always_show_image)); 688 } 689 if let Some(ref image) = self.image { 690 properties.push(("image", image)); 691 } 692 if let Some(ref image_position) = self.image_position { 693 properties.push(("image-position", image_position)); 694 } 695 if let Some(ref label) = self.label { 696 properties.push(("label", label)); 697 } 698 if let Some(ref relief) = self.relief { 699 properties.push(("relief", relief)); 700 } 701 if let Some(ref use_underline) = self.use_underline { 702 properties.push(("use-underline", use_underline)); 703 } 704 if let Some(ref border_width) = self.border_width { 705 properties.push(("border-width", border_width)); 706 } 707 if let Some(ref child) = self.child { 708 properties.push(("child", child)); 709 } 710 if let Some(ref resize_mode) = self.resize_mode { 711 properties.push(("resize-mode", resize_mode)); 712 } 713 if let Some(ref app_paintable) = self.app_paintable { 714 properties.push(("app-paintable", app_paintable)); 715 } 716 if let Some(ref can_default) = self.can_default { 717 properties.push(("can-default", can_default)); 718 } 719 if let Some(ref can_focus) = self.can_focus { 720 properties.push(("can-focus", can_focus)); 721 } 722 if let Some(ref events) = self.events { 723 properties.push(("events", events)); 724 } 725 if let Some(ref expand) = self.expand { 726 properties.push(("expand", expand)); 727 } 728 #[cfg(any(feature = "v3_20", feature = "dox"))] 729 { 730 if let Some(ref focus_on_click) = self.focus_on_click { 731 properties.push(("focus-on-click", focus_on_click)); 732 } 733 } 734 if let Some(ref halign) = self.halign { 735 properties.push(("halign", halign)); 736 } 737 if let Some(ref has_default) = self.has_default { 738 properties.push(("has-default", has_default)); 739 } 740 if let Some(ref has_focus) = self.has_focus { 741 properties.push(("has-focus", has_focus)); 742 } 743 if let Some(ref has_tooltip) = self.has_tooltip { 744 properties.push(("has-tooltip", has_tooltip)); 745 } 746 if let Some(ref height_request) = self.height_request { 747 properties.push(("height-request", height_request)); 748 } 749 if let Some(ref hexpand) = self.hexpand { 750 properties.push(("hexpand", hexpand)); 751 } 752 if let Some(ref hexpand_set) = self.hexpand_set { 753 properties.push(("hexpand-set", hexpand_set)); 754 } 755 if let Some(ref is_focus) = self.is_focus { 756 properties.push(("is-focus", is_focus)); 757 } 758 if let Some(ref margin) = self.margin { 759 properties.push(("margin", margin)); 760 } 761 if let Some(ref margin_bottom) = self.margin_bottom { 762 properties.push(("margin-bottom", margin_bottom)); 763 } 764 if let Some(ref margin_end) = self.margin_end { 765 properties.push(("margin-end", margin_end)); 766 } 767 if let Some(ref margin_start) = self.margin_start { 768 properties.push(("margin-start", margin_start)); 769 } 770 if let Some(ref margin_top) = self.margin_top { 771 properties.push(("margin-top", margin_top)); 772 } 773 if let Some(ref name) = self.name { 774 properties.push(("name", name)); 775 } 776 if let Some(ref no_show_all) = self.no_show_all { 777 properties.push(("no-show-all", no_show_all)); 778 } 779 if let Some(ref opacity) = self.opacity { 780 properties.push(("opacity", opacity)); 781 } 782 if let Some(ref parent) = self.parent { 783 properties.push(("parent", parent)); 784 } 785 if let Some(ref receives_default) = self.receives_default { 786 properties.push(("receives-default", receives_default)); 787 } 788 if let Some(ref sensitive) = self.sensitive { 789 properties.push(("sensitive", sensitive)); 790 } 791 if let Some(ref tooltip_markup) = self.tooltip_markup { 792 properties.push(("tooltip-markup", tooltip_markup)); 793 } 794 if let Some(ref tooltip_text) = self.tooltip_text { 795 properties.push(("tooltip-text", tooltip_text)); 796 } 797 if let Some(ref valign) = self.valign { 798 properties.push(("valign", valign)); 799 } 800 if let Some(ref vexpand) = self.vexpand { 801 properties.push(("vexpand", vexpand)); 802 } 803 if let Some(ref vexpand_set) = self.vexpand_set { 804 properties.push(("vexpand-set", vexpand_set)); 805 } 806 if let Some(ref visible) = self.visible { 807 properties.push(("visible", visible)); 808 } 809 if let Some(ref width_request) = self.width_request { 810 properties.push(("width-request", width_request)); 811 } 812 glib::Object::new(ModelButton::static_type(), &properties) 813 .expect("object new") 814 .downcast() 815 .expect("downcast") 816 } 817 818 #[cfg(any(feature = "v3_16", feature = "dox"))] active(mut self, active: bool) -> Self819 pub fn active(mut self, active: bool) -> Self { 820 self.active = Some(active); 821 self 822 } 823 824 #[cfg(any(feature = "v3_16", feature = "dox"))] centered(mut self, centered: bool) -> Self825 pub fn centered(mut self, centered: bool) -> Self { 826 self.centered = Some(centered); 827 self 828 } 829 830 #[cfg(any(feature = "v3_16", feature = "dox"))] icon(mut self, icon: &gio::Icon) -> Self831 pub fn icon(mut self, icon: &gio::Icon) -> Self { 832 self.icon = Some(icon.clone()); 833 self 834 } 835 836 #[cfg(any(feature = "v3_16", feature = "dox"))] iconic(mut self, iconic: bool) -> Self837 pub fn iconic(mut self, iconic: bool) -> Self { 838 self.iconic = Some(iconic); 839 self 840 } 841 842 #[cfg(any(feature = "v3_16", feature = "dox"))] inverted(mut self, inverted: bool) -> Self843 pub fn inverted(mut self, inverted: bool) -> Self { 844 self.inverted = Some(inverted); 845 self 846 } 847 848 #[cfg(any(feature = "v3_16", feature = "dox"))] menu_name(mut self, menu_name: &str) -> Self849 pub fn menu_name(mut self, menu_name: &str) -> Self { 850 self.menu_name = Some(menu_name.to_string()); 851 self 852 } 853 854 #[cfg(any(feature = "v3_16", feature = "dox"))] role(mut self, role: ButtonRole) -> Self855 pub fn role(mut self, role: ButtonRole) -> Self { 856 self.role = Some(role); 857 self 858 } 859 860 #[cfg(any(feature = "v3_16", feature = "dox"))] text(mut self, text: &str) -> Self861 pub fn text(mut self, text: &str) -> Self { 862 self.text = Some(text.to_string()); 863 self 864 } 865 866 #[cfg(any(feature = "v3_24", feature = "dox"))] use_markup(mut self, use_markup: bool) -> Self867 pub fn use_markup(mut self, use_markup: bool) -> Self { 868 self.use_markup = Some(use_markup); 869 self 870 } 871 always_show_image(mut self, always_show_image: bool) -> Self872 pub fn always_show_image(mut self, always_show_image: bool) -> Self { 873 self.always_show_image = Some(always_show_image); 874 self 875 } 876 image(mut self, image: &Widget) -> Self877 pub fn image(mut self, image: &Widget) -> Self { 878 self.image = Some(image.clone()); 879 self 880 } 881 image_position(mut self, image_position: PositionType) -> Self882 pub fn image_position(mut self, image_position: PositionType) -> Self { 883 self.image_position = Some(image_position); 884 self 885 } 886 label(mut self, label: &str) -> Self887 pub fn label(mut self, label: &str) -> Self { 888 self.label = Some(label.to_string()); 889 self 890 } 891 relief(mut self, relief: ReliefStyle) -> Self892 pub fn relief(mut self, relief: ReliefStyle) -> Self { 893 self.relief = Some(relief); 894 self 895 } 896 use_underline(mut self, use_underline: bool) -> Self897 pub fn use_underline(mut self, use_underline: bool) -> Self { 898 self.use_underline = Some(use_underline); 899 self 900 } 901 border_width(mut self, border_width: u32) -> Self902 pub fn border_width(mut self, border_width: u32) -> Self { 903 self.border_width = Some(border_width); 904 self 905 } 906 child(mut self, child: &Widget) -> Self907 pub fn child(mut self, child: &Widget) -> Self { 908 self.child = Some(child.clone()); 909 self 910 } 911 resize_mode(mut self, resize_mode: ResizeMode) -> Self912 pub fn resize_mode(mut self, resize_mode: ResizeMode) -> Self { 913 self.resize_mode = Some(resize_mode); 914 self 915 } 916 app_paintable(mut self, app_paintable: bool) -> Self917 pub fn app_paintable(mut self, app_paintable: bool) -> Self { 918 self.app_paintable = Some(app_paintable); 919 self 920 } 921 can_default(mut self, can_default: bool) -> Self922 pub fn can_default(mut self, can_default: bool) -> Self { 923 self.can_default = Some(can_default); 924 self 925 } 926 can_focus(mut self, can_focus: bool) -> Self927 pub fn can_focus(mut self, can_focus: bool) -> Self { 928 self.can_focus = Some(can_focus); 929 self 930 } 931 events(mut self, events: gdk::EventMask) -> Self932 pub fn events(mut self, events: gdk::EventMask) -> Self { 933 self.events = Some(events); 934 self 935 } 936 expand(mut self, expand: bool) -> Self937 pub fn expand(mut self, expand: bool) -> Self { 938 self.expand = Some(expand); 939 self 940 } 941 942 #[cfg(any(feature = "v3_20", feature = "dox"))] focus_on_click(mut self, focus_on_click: bool) -> Self943 pub fn focus_on_click(mut self, focus_on_click: bool) -> Self { 944 self.focus_on_click = Some(focus_on_click); 945 self 946 } 947 halign(mut self, halign: Align) -> Self948 pub fn halign(mut self, halign: Align) -> Self { 949 self.halign = Some(halign); 950 self 951 } 952 has_default(mut self, has_default: bool) -> Self953 pub fn has_default(mut self, has_default: bool) -> Self { 954 self.has_default = Some(has_default); 955 self 956 } 957 has_focus(mut self, has_focus: bool) -> Self958 pub fn has_focus(mut self, has_focus: bool) -> Self { 959 self.has_focus = Some(has_focus); 960 self 961 } 962 has_tooltip(mut self, has_tooltip: bool) -> Self963 pub fn has_tooltip(mut self, has_tooltip: bool) -> Self { 964 self.has_tooltip = Some(has_tooltip); 965 self 966 } 967 height_request(mut self, height_request: i32) -> Self968 pub fn height_request(mut self, height_request: i32) -> Self { 969 self.height_request = Some(height_request); 970 self 971 } 972 hexpand(mut self, hexpand: bool) -> Self973 pub fn hexpand(mut self, hexpand: bool) -> Self { 974 self.hexpand = Some(hexpand); 975 self 976 } 977 hexpand_set(mut self, hexpand_set: bool) -> Self978 pub fn hexpand_set(mut self, hexpand_set: bool) -> Self { 979 self.hexpand_set = Some(hexpand_set); 980 self 981 } 982 is_focus(mut self, is_focus: bool) -> Self983 pub fn is_focus(mut self, is_focus: bool) -> Self { 984 self.is_focus = Some(is_focus); 985 self 986 } 987 margin(mut self, margin: i32) -> Self988 pub fn margin(mut self, margin: i32) -> Self { 989 self.margin = Some(margin); 990 self 991 } 992 margin_bottom(mut self, margin_bottom: i32) -> Self993 pub fn margin_bottom(mut self, margin_bottom: i32) -> Self { 994 self.margin_bottom = Some(margin_bottom); 995 self 996 } 997 margin_end(mut self, margin_end: i32) -> Self998 pub fn margin_end(mut self, margin_end: i32) -> Self { 999 self.margin_end = Some(margin_end); 1000 self 1001 } 1002 margin_start(mut self, margin_start: i32) -> Self1003 pub fn margin_start(mut self, margin_start: i32) -> Self { 1004 self.margin_start = Some(margin_start); 1005 self 1006 } 1007 margin_top(mut self, margin_top: i32) -> Self1008 pub fn margin_top(mut self, margin_top: i32) -> Self { 1009 self.margin_top = Some(margin_top); 1010 self 1011 } 1012 name(mut self, name: &str) -> Self1013 pub fn name(mut self, name: &str) -> Self { 1014 self.name = Some(name.to_string()); 1015 self 1016 } 1017 no_show_all(mut self, no_show_all: bool) -> Self1018 pub fn no_show_all(mut self, no_show_all: bool) -> Self { 1019 self.no_show_all = Some(no_show_all); 1020 self 1021 } 1022 opacity(mut self, opacity: f64) -> Self1023 pub fn opacity(mut self, opacity: f64) -> Self { 1024 self.opacity = Some(opacity); 1025 self 1026 } 1027 parent(mut self, parent: &Container) -> Self1028 pub fn parent(mut self, parent: &Container) -> Self { 1029 self.parent = Some(parent.clone()); 1030 self 1031 } 1032 receives_default(mut self, receives_default: bool) -> Self1033 pub fn receives_default(mut self, receives_default: bool) -> Self { 1034 self.receives_default = Some(receives_default); 1035 self 1036 } 1037 sensitive(mut self, sensitive: bool) -> Self1038 pub fn sensitive(mut self, sensitive: bool) -> Self { 1039 self.sensitive = Some(sensitive); 1040 self 1041 } 1042 tooltip_markup(mut self, tooltip_markup: &str) -> Self1043 pub fn tooltip_markup(mut self, tooltip_markup: &str) -> Self { 1044 self.tooltip_markup = Some(tooltip_markup.to_string()); 1045 self 1046 } 1047 tooltip_text(mut self, tooltip_text: &str) -> Self1048 pub fn tooltip_text(mut self, tooltip_text: &str) -> Self { 1049 self.tooltip_text = Some(tooltip_text.to_string()); 1050 self 1051 } 1052 valign(mut self, valign: Align) -> Self1053 pub fn valign(mut self, valign: Align) -> Self { 1054 self.valign = Some(valign); 1055 self 1056 } 1057 vexpand(mut self, vexpand: bool) -> Self1058 pub fn vexpand(mut self, vexpand: bool) -> Self { 1059 self.vexpand = Some(vexpand); 1060 self 1061 } 1062 vexpand_set(mut self, vexpand_set: bool) -> Self1063 pub fn vexpand_set(mut self, vexpand_set: bool) -> Self { 1064 self.vexpand_set = Some(vexpand_set); 1065 self 1066 } 1067 visible(mut self, visible: bool) -> Self1068 pub fn visible(mut self, visible: bool) -> Self { 1069 self.visible = Some(visible); 1070 self 1071 } 1072 width_request(mut self, width_request: i32) -> Self1073 pub fn width_request(mut self, width_request: i32) -> Self { 1074 self.width_request = Some(width_request); 1075 self 1076 } 1077 } 1078 1079 impl fmt::Display for ModelButton { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1080 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 1081 write!(f, "ModelButton") 1082 } 1083 } 1084