1#![allow(deprecated)]
5
6use crate::{
7 ffi, CellEditable, CellRendererMode, CellRendererState, Requisition, SizeRequestMode, Snapshot,
8 StateFlags, TreePath, Widget,
9};
10use glib::{
11 object::ObjectType as _,
12 prelude::*,
13 signal::{connect_raw, SignalHandlerId},
14 translate::*,
15};
16use std::boxed::Box as Box_;
17
18glib::wrapper! {
19 #[doc(alias = "GtkCellRenderer")]
178 pub struct CellRenderer(Object<ffi::GtkCellRenderer, ffi::GtkCellRendererClass>);
179
180 match fn {
181 type_ => || ffi::gtk_cell_renderer_get_type(),
182 }
183}
184
185impl CellRenderer {
186 pub const NONE: Option<&'static CellRenderer> = None;
187}
188
189pub trait CellRendererExt: IsA<CellRenderer> + 'static {
195 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
219 #[allow(deprecated)]
220 #[doc(alias = "gtk_cell_renderer_activate")]
221 fn activate(
222 &self,
223 event: impl AsRef<gdk::Event>,
224 widget: &impl IsA<Widget>,
225 path: &str,
226 background_area: &gdk::Rectangle,
227 cell_area: &gdk::Rectangle,
228 flags: CellRendererState,
229 ) -> bool {
230 unsafe {
231 from_glib(ffi::gtk_cell_renderer_activate(
232 self.as_ref().to_glib_none().0,
233 event.as_ref().to_glib_none().0,
234 widget.as_ref().to_glib_none().0,
235 path.to_glib_none().0,
236 background_area.to_glib_none().0,
237 cell_area.to_glib_none().0,
238 flags.into_glib(),
239 ))
240 }
241 }
242
243 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
262 #[allow(deprecated)]
263 #[doc(alias = "gtk_cell_renderer_get_aligned_area")]
264 #[doc(alias = "get_aligned_area")]
265 fn aligned_area(
266 &self,
267 widget: &impl IsA<Widget>,
268 flags: CellRendererState,
269 cell_area: &gdk::Rectangle,
270 ) -> gdk::Rectangle {
271 unsafe {
272 let mut aligned_area = gdk::Rectangle::uninitialized();
273 ffi::gtk_cell_renderer_get_aligned_area(
274 self.as_ref().to_glib_none().0,
275 widget.as_ref().to_glib_none().0,
276 flags.into_glib(),
277 cell_area.to_glib_none().0,
278 aligned_area.to_glib_none_mut().0,
279 );
280 aligned_area
281 }
282 }
283
284 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
298 #[allow(deprecated)]
299 #[doc(alias = "gtk_cell_renderer_get_alignment")]
300 #[doc(alias = "get_alignment")]
301 fn alignment(&self) -> (f32, f32) {
302 unsafe {
303 let mut xalign = std::mem::MaybeUninit::uninit();
304 let mut yalign = std::mem::MaybeUninit::uninit();
305 ffi::gtk_cell_renderer_get_alignment(
306 self.as_ref().to_glib_none().0,
307 xalign.as_mut_ptr(),
308 yalign.as_mut_ptr(),
309 );
310 (xalign.assume_init(), yalign.assume_init())
311 }
312 }
313
314 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
328 #[allow(deprecated)]
329 #[doc(alias = "gtk_cell_renderer_get_fixed_size")]
330 #[doc(alias = "get_fixed_size")]
331 fn fixed_size(&self) -> (i32, i32) {
332 unsafe {
333 let mut width = std::mem::MaybeUninit::uninit();
334 let mut height = std::mem::MaybeUninit::uninit();
335 ffi::gtk_cell_renderer_get_fixed_size(
336 self.as_ref().to_glib_none().0,
337 width.as_mut_ptr(),
338 height.as_mut_ptr(),
339 );
340 (width.assume_init(), height.assume_init())
341 }
342 }
343
344 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
353 #[allow(deprecated)]
354 #[doc(alias = "gtk_cell_renderer_get_is_expanded")]
355 #[doc(alias = "get_is_expanded")]
356 #[doc(alias = "is-expanded")]
357 fn is_expanded(&self) -> bool {
358 unsafe {
359 from_glib(ffi::gtk_cell_renderer_get_is_expanded(
360 self.as_ref().to_glib_none().0,
361 ))
362 }
363 }
364
365 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
374 #[allow(deprecated)]
375 #[doc(alias = "gtk_cell_renderer_get_is_expander")]
376 #[doc(alias = "get_is_expander")]
377 #[doc(alias = "is-expander")]
378 fn is_expander(&self) -> bool {
379 unsafe {
380 from_glib(ffi::gtk_cell_renderer_get_is_expander(
381 self.as_ref().to_glib_none().0,
382 ))
383 }
384 }
385
386 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
400 #[allow(deprecated)]
401 #[doc(alias = "gtk_cell_renderer_get_padding")]
402 #[doc(alias = "get_padding")]
403 fn padding(&self) -> (i32, i32) {
404 unsafe {
405 let mut xpad = std::mem::MaybeUninit::uninit();
406 let mut ypad = std::mem::MaybeUninit::uninit();
407 ffi::gtk_cell_renderer_get_padding(
408 self.as_ref().to_glib_none().0,
409 xpad.as_mut_ptr(),
410 ypad.as_mut_ptr(),
411 );
412 (xpad.assume_init(), ypad.assume_init())
413 }
414 }
415
416 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
432 #[allow(deprecated)]
433 #[doc(alias = "gtk_cell_renderer_get_preferred_height")]
434 #[doc(alias = "get_preferred_height")]
435 fn preferred_height(&self, widget: &impl IsA<Widget>) -> (i32, i32) {
436 unsafe {
437 let mut minimum_size = std::mem::MaybeUninit::uninit();
438 let mut natural_size = std::mem::MaybeUninit::uninit();
439 ffi::gtk_cell_renderer_get_preferred_height(
440 self.as_ref().to_glib_none().0,
441 widget.as_ref().to_glib_none().0,
442 minimum_size.as_mut_ptr(),
443 natural_size.as_mut_ptr(),
444 );
445 (minimum_size.assume_init(), natural_size.assume_init())
446 }
447 }
448
449 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
468 #[allow(deprecated)]
469 #[doc(alias = "gtk_cell_renderer_get_preferred_height_for_width")]
470 #[doc(alias = "get_preferred_height_for_width")]
471 fn preferred_height_for_width(&self, widget: &impl IsA<Widget>, width: i32) -> (i32, i32) {
472 unsafe {
473 let mut minimum_height = std::mem::MaybeUninit::uninit();
474 let mut natural_height = std::mem::MaybeUninit::uninit();
475 ffi::gtk_cell_renderer_get_preferred_height_for_width(
476 self.as_ref().to_glib_none().0,
477 widget.as_ref().to_glib_none().0,
478 width,
479 minimum_height.as_mut_ptr(),
480 natural_height.as_mut_ptr(),
481 );
482 (minimum_height.assume_init(), natural_height.assume_init())
483 }
484 }
485
486 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
503 #[allow(deprecated)]
504 #[doc(alias = "gtk_cell_renderer_get_preferred_size")]
505 #[doc(alias = "get_preferred_size")]
506 fn preferred_size(&self, widget: &impl IsA<Widget>) -> (Requisition, Requisition) {
507 unsafe {
508 let mut minimum_size = Requisition::uninitialized();
509 let mut natural_size = Requisition::uninitialized();
510 ffi::gtk_cell_renderer_get_preferred_size(
511 self.as_ref().to_glib_none().0,
512 widget.as_ref().to_glib_none().0,
513 minimum_size.to_glib_none_mut().0,
514 natural_size.to_glib_none_mut().0,
515 );
516 (minimum_size, natural_size)
517 }
518 }
519
520 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
536 #[allow(deprecated)]
537 #[doc(alias = "gtk_cell_renderer_get_preferred_width")]
538 #[doc(alias = "get_preferred_width")]
539 fn preferred_width(&self, widget: &impl IsA<Widget>) -> (i32, i32) {
540 unsafe {
541 let mut minimum_size = std::mem::MaybeUninit::uninit();
542 let mut natural_size = std::mem::MaybeUninit::uninit();
543 ffi::gtk_cell_renderer_get_preferred_width(
544 self.as_ref().to_glib_none().0,
545 widget.as_ref().to_glib_none().0,
546 minimum_size.as_mut_ptr(),
547 natural_size.as_mut_ptr(),
548 );
549 (minimum_size.assume_init(), natural_size.assume_init())
550 }
551 }
552
553 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
572 #[allow(deprecated)]
573 #[doc(alias = "gtk_cell_renderer_get_preferred_width_for_height")]
574 #[doc(alias = "get_preferred_width_for_height")]
575 fn preferred_width_for_height(&self, widget: &impl IsA<Widget>, height: i32) -> (i32, i32) {
576 unsafe {
577 let mut minimum_width = std::mem::MaybeUninit::uninit();
578 let mut natural_width = std::mem::MaybeUninit::uninit();
579 ffi::gtk_cell_renderer_get_preferred_width_for_height(
580 self.as_ref().to_glib_none().0,
581 widget.as_ref().to_glib_none().0,
582 height,
583 minimum_width.as_mut_ptr(),
584 natural_width.as_mut_ptr(),
585 );
586 (minimum_width.assume_init(), natural_width.assume_init())
587 }
588 }
589
590 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
600 #[allow(deprecated)]
601 #[doc(alias = "gtk_cell_renderer_get_request_mode")]
602 #[doc(alias = "get_request_mode")]
603 fn request_mode(&self) -> SizeRequestMode {
604 unsafe {
605 from_glib(ffi::gtk_cell_renderer_get_request_mode(
606 self.as_ref().to_glib_none().0,
607 ))
608 }
609 }
610
611 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
620 #[allow(deprecated)]
621 #[doc(alias = "gtk_cell_renderer_get_sensitive")]
622 #[doc(alias = "get_sensitive")]
623 #[doc(alias = "sensitive")]
624 fn is_sensitive(&self) -> bool {
625 unsafe {
626 from_glib(ffi::gtk_cell_renderer_get_sensitive(
627 self.as_ref().to_glib_none().0,
628 ))
629 }
630 }
631
632 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
647 #[allow(deprecated)]
648 #[doc(alias = "gtk_cell_renderer_get_state")]
649 #[doc(alias = "get_state")]
650 fn state(
651 &self,
652 widget: Option<&impl IsA<Widget>>,
653 cell_state: CellRendererState,
654 ) -> StateFlags {
655 unsafe {
656 from_glib(ffi::gtk_cell_renderer_get_state(
657 self.as_ref().to_glib_none().0,
658 widget.map(|p| p.as_ref()).to_glib_none().0,
659 cell_state.into_glib(),
660 ))
661 }
662 }
663
664 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
673 #[allow(deprecated)]
674 #[doc(alias = "gtk_cell_renderer_get_visible")]
675 #[doc(alias = "get_visible")]
676 #[doc(alias = "visible")]
677 fn is_visible(&self) -> bool {
678 unsafe {
679 from_glib(ffi::gtk_cell_renderer_get_visible(
680 self.as_ref().to_glib_none().0,
681 ))
682 }
683 }
684
685 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
694 #[allow(deprecated)]
695 #[doc(alias = "gtk_cell_renderer_is_activatable")]
696 fn is_activatable(&self) -> bool {
697 unsafe {
698 from_glib(ffi::gtk_cell_renderer_is_activatable(
699 self.as_ref().to_glib_none().0,
700 ))
701 }
702 }
703
704 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
713 #[allow(deprecated)]
714 #[doc(alias = "gtk_cell_renderer_set_alignment")]
715 fn set_alignment(&self, xalign: f32, yalign: f32) {
716 unsafe {
717 ffi::gtk_cell_renderer_set_alignment(self.as_ref().to_glib_none().0, xalign, yalign);
718 }
719 }
720
721 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
730 #[allow(deprecated)]
731 #[doc(alias = "gtk_cell_renderer_set_fixed_size")]
732 fn set_fixed_size(&self, width: i32, height: i32) {
733 unsafe {
734 ffi::gtk_cell_renderer_set_fixed_size(self.as_ref().to_glib_none().0, width, height);
735 }
736 }
737
738 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
745 #[allow(deprecated)]
746 #[doc(alias = "gtk_cell_renderer_set_is_expanded")]
747 #[doc(alias = "is-expanded")]
748 fn set_is_expanded(&self, is_expanded: bool) {
749 unsafe {
750 ffi::gtk_cell_renderer_set_is_expanded(
751 self.as_ref().to_glib_none().0,
752 is_expanded.into_glib(),
753 );
754 }
755 }
756
757 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
764 #[allow(deprecated)]
765 #[doc(alias = "gtk_cell_renderer_set_is_expander")]
766 #[doc(alias = "is-expander")]
767 fn set_is_expander(&self, is_expander: bool) {
768 unsafe {
769 ffi::gtk_cell_renderer_set_is_expander(
770 self.as_ref().to_glib_none().0,
771 is_expander.into_glib(),
772 );
773 }
774 }
775
776 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
785 #[allow(deprecated)]
786 #[doc(alias = "gtk_cell_renderer_set_padding")]
787 fn set_padding(&self, xpad: i32, ypad: i32) {
788 unsafe {
789 ffi::gtk_cell_renderer_set_padding(self.as_ref().to_glib_none().0, xpad, ypad);
790 }
791 }
792
793 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
800 #[allow(deprecated)]
801 #[doc(alias = "gtk_cell_renderer_set_sensitive")]
802 #[doc(alias = "sensitive")]
803 fn set_sensitive(&self, sensitive: bool) {
804 unsafe {
805 ffi::gtk_cell_renderer_set_sensitive(
806 self.as_ref().to_glib_none().0,
807 sensitive.into_glib(),
808 );
809 }
810 }
811
812 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
819 #[allow(deprecated)]
820 #[doc(alias = "gtk_cell_renderer_set_visible")]
821 #[doc(alias = "visible")]
822 fn set_visible(&self, visible: bool) {
823 unsafe {
824 ffi::gtk_cell_renderer_set_visible(self.as_ref().to_glib_none().0, visible.into_glib());
825 }
826 }
827
828 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
850 #[allow(deprecated)]
851 #[doc(alias = "gtk_cell_renderer_snapshot")]
852 fn snapshot(
853 &self,
854 snapshot: &impl IsA<Snapshot>,
855 widget: &impl IsA<Widget>,
856 background_area: &gdk::Rectangle,
857 cell_area: &gdk::Rectangle,
858 flags: CellRendererState,
859 ) {
860 unsafe {
861 ffi::gtk_cell_renderer_snapshot(
862 self.as_ref().to_glib_none().0,
863 snapshot.as_ref().to_glib_none().0,
864 widget.as_ref().to_glib_none().0,
865 background_area.to_glib_none().0,
866 cell_area.to_glib_none().0,
867 flags.into_glib(),
868 );
869 }
870 }
871
872 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
896 #[allow(deprecated)]
897 #[doc(alias = "gtk_cell_renderer_start_editing")]
898 fn start_editing(
899 &self,
900 event: Option<impl AsRef<gdk::Event>>,
901 widget: &impl IsA<Widget>,
902 path: &str,
903 background_area: &gdk::Rectangle,
904 cell_area: &gdk::Rectangle,
905 flags: CellRendererState,
906 ) -> Option<CellEditable> {
907 unsafe {
908 from_glib_none(ffi::gtk_cell_renderer_start_editing(
909 self.as_ref().to_glib_none().0,
910 event.as_ref().map(|p| p.as_ref()).to_glib_none().0,
911 widget.as_ref().to_glib_none().0,
912 path.to_glib_none().0,
913 background_area.to_glib_none().0,
914 cell_area.to_glib_none().0,
915 flags.into_glib(),
916 ))
917 }
918 }
919
920 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
933 #[allow(deprecated)]
934 #[doc(alias = "gtk_cell_renderer_stop_editing")]
935 fn stop_editing(&self, canceled: bool) {
936 unsafe {
937 ffi::gtk_cell_renderer_stop_editing(
938 self.as_ref().to_glib_none().0,
939 canceled.into_glib(),
940 );
941 }
942 }
943
944 #[doc(alias = "cell-background")]
945 fn set_cell_background(&self, cell_background: Option<&str>) {
946 ObjectExt::set_property(self.as_ref(), "cell-background", cell_background)
947 }
948
949 #[doc(alias = "cell-background-rgba")]
951 fn cell_background_rgba(&self) -> Option<gdk::RGBA> {
952 ObjectExt::property(self.as_ref(), "cell-background-rgba")
953 }
954
955 #[doc(alias = "cell-background-rgba")]
957 fn set_cell_background_rgba(&self, cell_background_rgba: Option<&gdk::RGBA>) {
958 ObjectExt::set_property(self.as_ref(), "cell-background-rgba", cell_background_rgba)
959 }
960
961 #[doc(alias = "cell-background-set")]
962 fn is_cell_background_set(&self) -> bool {
963 ObjectExt::property(self.as_ref(), "cell-background-set")
964 }
965
966 fn is_editing(&self) -> bool {
967 ObjectExt::property(self.as_ref(), "editing")
968 }
969
970 fn height(&self) -> i32 {
971 ObjectExt::property(self.as_ref(), "height")
972 }
973
974 fn set_height(&self, height: i32) {
975 ObjectExt::set_property(self.as_ref(), "height", height)
976 }
977
978 fn mode(&self) -> CellRendererMode {
979 ObjectExt::property(self.as_ref(), "mode")
980 }
981
982 fn set_mode(&self, mode: CellRendererMode) {
983 ObjectExt::set_property(self.as_ref(), "mode", mode)
984 }
985
986 fn width(&self) -> i32 {
987 ObjectExt::property(self.as_ref(), "width")
988 }
989
990 fn set_width(&self, width: i32) {
991 ObjectExt::set_property(self.as_ref(), "width", width)
992 }
993
994 fn xalign(&self) -> f32 {
995 ObjectExt::property(self.as_ref(), "xalign")
996 }
997
998 fn set_xalign(&self, xalign: f32) {
999 ObjectExt::set_property(self.as_ref(), "xalign", xalign)
1000 }
1001
1002 fn xpad(&self) -> u32 {
1003 ObjectExt::property(self.as_ref(), "xpad")
1004 }
1005
1006 fn set_xpad(&self, xpad: u32) {
1007 ObjectExt::set_property(self.as_ref(), "xpad", xpad)
1008 }
1009
1010 fn yalign(&self) -> f32 {
1011 ObjectExt::property(self.as_ref(), "yalign")
1012 }
1013
1014 fn set_yalign(&self, yalign: f32) {
1015 ObjectExt::set_property(self.as_ref(), "yalign", yalign)
1016 }
1017
1018 fn ypad(&self) -> u32 {
1019 ObjectExt::property(self.as_ref(), "ypad")
1020 }
1021
1022 fn set_ypad(&self, ypad: u32) {
1023 ObjectExt::set_property(self.as_ref(), "ypad", ypad)
1024 }
1025
1026 #[doc(alias = "editing-canceled")]
1032 fn connect_editing_canceled<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1033 unsafe extern "C" fn editing_canceled_trampoline<
1034 P: IsA<CellRenderer>,
1035 F: Fn(&P) + 'static,
1036 >(
1037 this: *mut ffi::GtkCellRenderer,
1038 f: glib::ffi::gpointer,
1039 ) {
1040 let f: &F = &*(f as *const F);
1041 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1042 }
1043 unsafe {
1044 let f: Box_<F> = Box_::new(f);
1045 connect_raw(
1046 self.as_ptr() as *mut _,
1047 c"editing-canceled".as_ptr() as *const _,
1048 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1049 editing_canceled_trampoline::<Self, F> as *const (),
1050 )),
1051 Box_::into_raw(f),
1052 )
1053 }
1054 }
1055
1056 #[doc(alias = "editing-started")]
1093 fn connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>(
1094 &self,
1095 f: F,
1096 ) -> SignalHandlerId {
1097 unsafe extern "C" fn editing_started_trampoline<
1098 P: IsA<CellRenderer>,
1099 F: Fn(&P, &CellEditable, TreePath) + 'static,
1100 >(
1101 this: *mut ffi::GtkCellRenderer,
1102 editable: *mut ffi::GtkCellEditable,
1103 path: *mut std::ffi::c_char,
1104 f: glib::ffi::gpointer,
1105 ) {
1106 let f: &F = &*(f as *const F);
1107 let path = from_glib_full(crate::ffi::gtk_tree_path_new_from_string(path));
1108 f(
1109 CellRenderer::from_glib_borrow(this).unsafe_cast_ref(),
1110 &from_glib_borrow(editable),
1111 path,
1112 )
1113 }
1114 unsafe {
1115 let f: Box_<F> = Box_::new(f);
1116 connect_raw(
1117 self.as_ptr() as *mut _,
1118 c"editing-started".as_ptr() as *const _,
1119 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1120 editing_started_trampoline::<Self, F> as *const (),
1121 )),
1122 Box_::into_raw(f),
1123 )
1124 }
1125 }
1126
1127 #[doc(alias = "cell-background")]
1128 fn connect_cell_background_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1129 unsafe extern "C" fn notify_cell_background_trampoline<
1130 P: IsA<CellRenderer>,
1131 F: Fn(&P) + 'static,
1132 >(
1133 this: *mut ffi::GtkCellRenderer,
1134 _param_spec: glib::ffi::gpointer,
1135 f: glib::ffi::gpointer,
1136 ) {
1137 let f: &F = &*(f as *const F);
1138 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1139 }
1140 unsafe {
1141 let f: Box_<F> = Box_::new(f);
1142 connect_raw(
1143 self.as_ptr() as *mut _,
1144 c"notify::cell-background".as_ptr() as *const _,
1145 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1146 notify_cell_background_trampoline::<Self, F> as *const (),
1147 )),
1148 Box_::into_raw(f),
1149 )
1150 }
1151 }
1152
1153 #[doc(alias = "cell-background-rgba")]
1154 fn connect_cell_background_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1155 unsafe extern "C" fn notify_cell_background_rgba_trampoline<
1156 P: IsA<CellRenderer>,
1157 F: Fn(&P) + 'static,
1158 >(
1159 this: *mut ffi::GtkCellRenderer,
1160 _param_spec: glib::ffi::gpointer,
1161 f: glib::ffi::gpointer,
1162 ) {
1163 let f: &F = &*(f as *const F);
1164 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1165 }
1166 unsafe {
1167 let f: Box_<F> = Box_::new(f);
1168 connect_raw(
1169 self.as_ptr() as *mut _,
1170 c"notify::cell-background-rgba".as_ptr() as *const _,
1171 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1172 notify_cell_background_rgba_trampoline::<Self, F> as *const (),
1173 )),
1174 Box_::into_raw(f),
1175 )
1176 }
1177 }
1178
1179 #[doc(alias = "cell-background-set")]
1180 fn connect_cell_background_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1181 unsafe extern "C" fn notify_cell_background_set_trampoline<
1182 P: IsA<CellRenderer>,
1183 F: Fn(&P) + 'static,
1184 >(
1185 this: *mut ffi::GtkCellRenderer,
1186 _param_spec: glib::ffi::gpointer,
1187 f: glib::ffi::gpointer,
1188 ) {
1189 let f: &F = &*(f as *const F);
1190 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1191 }
1192 unsafe {
1193 let f: Box_<F> = Box_::new(f);
1194 connect_raw(
1195 self.as_ptr() as *mut _,
1196 c"notify::cell-background-set".as_ptr() as *const _,
1197 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1198 notify_cell_background_set_trampoline::<Self, F> as *const (),
1199 )),
1200 Box_::into_raw(f),
1201 )
1202 }
1203 }
1204
1205 #[doc(alias = "editing")]
1206 fn connect_editing_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1207 unsafe extern "C" fn notify_editing_trampoline<
1208 P: IsA<CellRenderer>,
1209 F: Fn(&P) + 'static,
1210 >(
1211 this: *mut ffi::GtkCellRenderer,
1212 _param_spec: glib::ffi::gpointer,
1213 f: glib::ffi::gpointer,
1214 ) {
1215 let f: &F = &*(f as *const F);
1216 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1217 }
1218 unsafe {
1219 let f: Box_<F> = Box_::new(f);
1220 connect_raw(
1221 self.as_ptr() as *mut _,
1222 c"notify::editing".as_ptr() as *const _,
1223 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1224 notify_editing_trampoline::<Self, F> as *const (),
1225 )),
1226 Box_::into_raw(f),
1227 )
1228 }
1229 }
1230
1231 #[doc(alias = "height")]
1232 fn connect_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1233 unsafe extern "C" fn notify_height_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1234 this: *mut ffi::GtkCellRenderer,
1235 _param_spec: glib::ffi::gpointer,
1236 f: glib::ffi::gpointer,
1237 ) {
1238 let f: &F = &*(f as *const F);
1239 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1240 }
1241 unsafe {
1242 let f: Box_<F> = Box_::new(f);
1243 connect_raw(
1244 self.as_ptr() as *mut _,
1245 c"notify::height".as_ptr() as *const _,
1246 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1247 notify_height_trampoline::<Self, F> as *const (),
1248 )),
1249 Box_::into_raw(f),
1250 )
1251 }
1252 }
1253
1254 #[doc(alias = "is-expanded")]
1255 fn connect_is_expanded_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1256 unsafe extern "C" fn notify_is_expanded_trampoline<
1257 P: IsA<CellRenderer>,
1258 F: Fn(&P) + 'static,
1259 >(
1260 this: *mut ffi::GtkCellRenderer,
1261 _param_spec: glib::ffi::gpointer,
1262 f: glib::ffi::gpointer,
1263 ) {
1264 let f: &F = &*(f as *const F);
1265 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1266 }
1267 unsafe {
1268 let f: Box_<F> = Box_::new(f);
1269 connect_raw(
1270 self.as_ptr() as *mut _,
1271 c"notify::is-expanded".as_ptr() as *const _,
1272 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1273 notify_is_expanded_trampoline::<Self, F> as *const (),
1274 )),
1275 Box_::into_raw(f),
1276 )
1277 }
1278 }
1279
1280 #[doc(alias = "is-expander")]
1281 fn connect_is_expander_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1282 unsafe extern "C" fn notify_is_expander_trampoline<
1283 P: IsA<CellRenderer>,
1284 F: Fn(&P) + 'static,
1285 >(
1286 this: *mut ffi::GtkCellRenderer,
1287 _param_spec: glib::ffi::gpointer,
1288 f: glib::ffi::gpointer,
1289 ) {
1290 let f: &F = &*(f as *const F);
1291 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1292 }
1293 unsafe {
1294 let f: Box_<F> = Box_::new(f);
1295 connect_raw(
1296 self.as_ptr() as *mut _,
1297 c"notify::is-expander".as_ptr() as *const _,
1298 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1299 notify_is_expander_trampoline::<Self, F> as *const (),
1300 )),
1301 Box_::into_raw(f),
1302 )
1303 }
1304 }
1305
1306 #[doc(alias = "mode")]
1307 fn connect_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1308 unsafe extern "C" fn notify_mode_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1309 this: *mut ffi::GtkCellRenderer,
1310 _param_spec: glib::ffi::gpointer,
1311 f: glib::ffi::gpointer,
1312 ) {
1313 let f: &F = &*(f as *const F);
1314 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1315 }
1316 unsafe {
1317 let f: Box_<F> = Box_::new(f);
1318 connect_raw(
1319 self.as_ptr() as *mut _,
1320 c"notify::mode".as_ptr() as *const _,
1321 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1322 notify_mode_trampoline::<Self, F> as *const (),
1323 )),
1324 Box_::into_raw(f),
1325 )
1326 }
1327 }
1328
1329 #[doc(alias = "sensitive")]
1330 fn connect_sensitive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1331 unsafe extern "C" fn notify_sensitive_trampoline<
1332 P: IsA<CellRenderer>,
1333 F: Fn(&P) + 'static,
1334 >(
1335 this: *mut ffi::GtkCellRenderer,
1336 _param_spec: glib::ffi::gpointer,
1337 f: glib::ffi::gpointer,
1338 ) {
1339 let f: &F = &*(f as *const F);
1340 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1341 }
1342 unsafe {
1343 let f: Box_<F> = Box_::new(f);
1344 connect_raw(
1345 self.as_ptr() as *mut _,
1346 c"notify::sensitive".as_ptr() as *const _,
1347 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1348 notify_sensitive_trampoline::<Self, F> as *const (),
1349 )),
1350 Box_::into_raw(f),
1351 )
1352 }
1353 }
1354
1355 #[doc(alias = "visible")]
1356 fn connect_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1357 unsafe extern "C" fn notify_visible_trampoline<
1358 P: IsA<CellRenderer>,
1359 F: Fn(&P) + 'static,
1360 >(
1361 this: *mut ffi::GtkCellRenderer,
1362 _param_spec: glib::ffi::gpointer,
1363 f: glib::ffi::gpointer,
1364 ) {
1365 let f: &F = &*(f as *const F);
1366 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1367 }
1368 unsafe {
1369 let f: Box_<F> = Box_::new(f);
1370 connect_raw(
1371 self.as_ptr() as *mut _,
1372 c"notify::visible".as_ptr() as *const _,
1373 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1374 notify_visible_trampoline::<Self, F> as *const (),
1375 )),
1376 Box_::into_raw(f),
1377 )
1378 }
1379 }
1380
1381 #[doc(alias = "width")]
1382 fn connect_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1383 unsafe extern "C" fn notify_width_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1384 this: *mut ffi::GtkCellRenderer,
1385 _param_spec: glib::ffi::gpointer,
1386 f: glib::ffi::gpointer,
1387 ) {
1388 let f: &F = &*(f as *const F);
1389 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1390 }
1391 unsafe {
1392 let f: Box_<F> = Box_::new(f);
1393 connect_raw(
1394 self.as_ptr() as *mut _,
1395 c"notify::width".as_ptr() as *const _,
1396 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1397 notify_width_trampoline::<Self, F> as *const (),
1398 )),
1399 Box_::into_raw(f),
1400 )
1401 }
1402 }
1403
1404 #[doc(alias = "xalign")]
1405 fn connect_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1406 unsafe extern "C" fn notify_xalign_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1407 this: *mut ffi::GtkCellRenderer,
1408 _param_spec: glib::ffi::gpointer,
1409 f: glib::ffi::gpointer,
1410 ) {
1411 let f: &F = &*(f as *const F);
1412 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1413 }
1414 unsafe {
1415 let f: Box_<F> = Box_::new(f);
1416 connect_raw(
1417 self.as_ptr() as *mut _,
1418 c"notify::xalign".as_ptr() as *const _,
1419 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1420 notify_xalign_trampoline::<Self, F> as *const (),
1421 )),
1422 Box_::into_raw(f),
1423 )
1424 }
1425 }
1426
1427 #[doc(alias = "xpad")]
1428 fn connect_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1429 unsafe extern "C" fn notify_xpad_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1430 this: *mut ffi::GtkCellRenderer,
1431 _param_spec: glib::ffi::gpointer,
1432 f: glib::ffi::gpointer,
1433 ) {
1434 let f: &F = &*(f as *const F);
1435 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1436 }
1437 unsafe {
1438 let f: Box_<F> = Box_::new(f);
1439 connect_raw(
1440 self.as_ptr() as *mut _,
1441 c"notify::xpad".as_ptr() as *const _,
1442 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1443 notify_xpad_trampoline::<Self, F> as *const (),
1444 )),
1445 Box_::into_raw(f),
1446 )
1447 }
1448 }
1449
1450 #[doc(alias = "yalign")]
1451 fn connect_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1452 unsafe extern "C" fn notify_yalign_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1453 this: *mut ffi::GtkCellRenderer,
1454 _param_spec: glib::ffi::gpointer,
1455 f: glib::ffi::gpointer,
1456 ) {
1457 let f: &F = &*(f as *const F);
1458 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1459 }
1460 unsafe {
1461 let f: Box_<F> = Box_::new(f);
1462 connect_raw(
1463 self.as_ptr() as *mut _,
1464 c"notify::yalign".as_ptr() as *const _,
1465 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1466 notify_yalign_trampoline::<Self, F> as *const (),
1467 )),
1468 Box_::into_raw(f),
1469 )
1470 }
1471 }
1472
1473 #[doc(alias = "ypad")]
1474 fn connect_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1475 unsafe extern "C" fn notify_ypad_trampoline<P: IsA<CellRenderer>, F: Fn(&P) + 'static>(
1476 this: *mut ffi::GtkCellRenderer,
1477 _param_spec: glib::ffi::gpointer,
1478 f: glib::ffi::gpointer,
1479 ) {
1480 let f: &F = &*(f as *const F);
1481 f(CellRenderer::from_glib_borrow(this).unsafe_cast_ref())
1482 }
1483 unsafe {
1484 let f: Box_<F> = Box_::new(f);
1485 connect_raw(
1486 self.as_ptr() as *mut _,
1487 c"notify::ypad".as_ptr() as *const _,
1488 Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1489 notify_ypad_trampoline::<Self, F> as *const (),
1490 )),
1491 Box_::into_raw(f),
1492 )
1493 }
1494 }
1495}
1496
1497impl<O: IsA<CellRenderer>> CellRendererExt for O {}