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 cairo;
6 use gdk;
7 use glib::object::Cast;
8 use glib::object::IsA;
9 use glib::signal::connect_raw;
10 use glib::signal::SignalHandlerId;
11 use glib::translate::*;
12 use glib::StaticType;
13 use glib::Value;
14 use glib_sys;
15 use gobject_sys;
16 use gtk_sys;
17 use libc;
18 use std::boxed::Box as Box_;
19 use std::fmt;
20 use std::mem;
21 use std::mem::transmute;
22 use CellEditable;
23 use CellRendererMode;
24 use CellRendererState;
25 use Requisition;
26 use SizeRequestMode;
27 use StateFlags;
28 use TreePath;
29 use Widget;
30 
31 glib_wrapper! {
32     pub struct CellRenderer(Object<gtk_sys::GtkCellRenderer, gtk_sys::GtkCellRendererClass, CellRendererClass>);
33 
34     match fn {
35         get_type => || gtk_sys::gtk_cell_renderer_get_type(),
36     }
37 }
38 
39 pub const NONE_CELL_RENDERER: Option<&CellRenderer> = None;
40 
41 pub trait CellRendererExt: 'static {
activate<P: IsA<Widget>>( &self, event: &gdk::Event, widget: &P, path: &str, background_area: &gdk::Rectangle, cell_area: &gdk::Rectangle, flags: CellRendererState, ) -> bool42     fn activate<P: IsA<Widget>>(
43         &self,
44         event: &gdk::Event,
45         widget: &P,
46         path: &str,
47         background_area: &gdk::Rectangle,
48         cell_area: &gdk::Rectangle,
49         flags: CellRendererState,
50     ) -> bool;
51 
get_aligned_area<P: IsA<Widget>>( &self, widget: &P, flags: CellRendererState, cell_area: &gdk::Rectangle, ) -> gdk::Rectangle52     fn get_aligned_area<P: IsA<Widget>>(
53         &self,
54         widget: &P,
55         flags: CellRendererState,
56         cell_area: &gdk::Rectangle,
57     ) -> gdk::Rectangle;
58 
get_alignment(&self) -> (f32, f32)59     fn get_alignment(&self) -> (f32, f32);
60 
get_fixed_size(&self) -> (i32, i32)61     fn get_fixed_size(&self) -> (i32, i32);
62 
get_padding(&self) -> (i32, i32)63     fn get_padding(&self) -> (i32, i32);
64 
get_preferred_height<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32)65     fn get_preferred_height<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32);
66 
get_preferred_height_for_width<P: IsA<Widget>>(&self, widget: &P, width: i32) -> (i32, i32)67     fn get_preferred_height_for_width<P: IsA<Widget>>(&self, widget: &P, width: i32) -> (i32, i32);
68 
get_preferred_size<P: IsA<Widget>>(&self, widget: &P) -> (Requisition, Requisition)69     fn get_preferred_size<P: IsA<Widget>>(&self, widget: &P) -> (Requisition, Requisition);
70 
get_preferred_width<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32)71     fn get_preferred_width<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32);
72 
get_preferred_width_for_height<P: IsA<Widget>>(&self, widget: &P, height: i32) -> (i32, i32)73     fn get_preferred_width_for_height<P: IsA<Widget>>(&self, widget: &P, height: i32)
74         -> (i32, i32);
75 
get_request_mode(&self) -> SizeRequestMode76     fn get_request_mode(&self) -> SizeRequestMode;
77 
get_sensitive(&self) -> bool78     fn get_sensitive(&self) -> bool;
79 
get_state<P: IsA<Widget>>( &self, widget: Option<&P>, cell_state: CellRendererState, ) -> StateFlags80     fn get_state<P: IsA<Widget>>(
81         &self,
82         widget: Option<&P>,
83         cell_state: CellRendererState,
84     ) -> StateFlags;
85 
get_visible(&self) -> bool86     fn get_visible(&self) -> bool;
87 
is_activatable(&self) -> bool88     fn is_activatable(&self) -> bool;
89 
render<P: IsA<Widget>>( &self, cr: &cairo::Context, widget: &P, background_area: &gdk::Rectangle, cell_area: &gdk::Rectangle, flags: CellRendererState, )90     fn render<P: IsA<Widget>>(
91         &self,
92         cr: &cairo::Context,
93         widget: &P,
94         background_area: &gdk::Rectangle,
95         cell_area: &gdk::Rectangle,
96         flags: CellRendererState,
97     );
98 
set_alignment(&self, xalign: f32, yalign: f32)99     fn set_alignment(&self, xalign: f32, yalign: f32);
100 
set_fixed_size(&self, width: i32, height: i32)101     fn set_fixed_size(&self, width: i32, height: i32);
102 
set_padding(&self, xpad: i32, ypad: i32)103     fn set_padding(&self, xpad: i32, ypad: i32);
104 
set_sensitive(&self, sensitive: bool)105     fn set_sensitive(&self, sensitive: bool);
106 
set_visible(&self, visible: bool)107     fn set_visible(&self, visible: bool);
108 
start_editing<P: IsA<Widget>>( &self, event: Option<&gdk::Event>, widget: &P, path: &str, background_area: &gdk::Rectangle, cell_area: &gdk::Rectangle, flags: CellRendererState, ) -> Option<CellEditable>109     fn start_editing<P: IsA<Widget>>(
110         &self,
111         event: Option<&gdk::Event>,
112         widget: &P,
113         path: &str,
114         background_area: &gdk::Rectangle,
115         cell_area: &gdk::Rectangle,
116         flags: CellRendererState,
117     ) -> Option<CellEditable>;
118 
stop_editing(&self, canceled: bool)119     fn stop_editing(&self, canceled: bool);
120 
set_property_cell_background(&self, cell_background: Option<&str>)121     fn set_property_cell_background(&self, cell_background: Option<&str>);
122 
get_property_cell_background_rgba(&self) -> Option<gdk::RGBA>123     fn get_property_cell_background_rgba(&self) -> Option<gdk::RGBA>;
124 
set_property_cell_background_rgba(&self, cell_background_rgba: Option<&gdk::RGBA>)125     fn set_property_cell_background_rgba(&self, cell_background_rgba: Option<&gdk::RGBA>);
126 
get_property_cell_background_set(&self) -> bool127     fn get_property_cell_background_set(&self) -> bool;
128 
set_property_cell_background_set(&self, cell_background_set: bool)129     fn set_property_cell_background_set(&self, cell_background_set: bool);
130 
get_property_editing(&self) -> bool131     fn get_property_editing(&self) -> bool;
132 
get_property_height(&self) -> i32133     fn get_property_height(&self) -> i32;
134 
set_property_height(&self, height: i32)135     fn set_property_height(&self, height: i32);
136 
get_property_is_expanded(&self) -> bool137     fn get_property_is_expanded(&self) -> bool;
138 
set_property_is_expanded(&self, is_expanded: bool)139     fn set_property_is_expanded(&self, is_expanded: bool);
140 
get_property_is_expander(&self) -> bool141     fn get_property_is_expander(&self) -> bool;
142 
set_property_is_expander(&self, is_expander: bool)143     fn set_property_is_expander(&self, is_expander: bool);
144 
get_property_mode(&self) -> CellRendererMode145     fn get_property_mode(&self) -> CellRendererMode;
146 
set_property_mode(&self, mode: CellRendererMode)147     fn set_property_mode(&self, mode: CellRendererMode);
148 
get_property_width(&self) -> i32149     fn get_property_width(&self) -> i32;
150 
set_property_width(&self, width: i32)151     fn set_property_width(&self, width: i32);
152 
get_property_xalign(&self) -> f32153     fn get_property_xalign(&self) -> f32;
154 
set_property_xalign(&self, xalign: f32)155     fn set_property_xalign(&self, xalign: f32);
156 
get_property_xpad(&self) -> u32157     fn get_property_xpad(&self) -> u32;
158 
set_property_xpad(&self, xpad: u32)159     fn set_property_xpad(&self, xpad: u32);
160 
get_property_yalign(&self) -> f32161     fn get_property_yalign(&self) -> f32;
162 
set_property_yalign(&self, yalign: f32)163     fn set_property_yalign(&self, yalign: f32);
164 
get_property_ypad(&self) -> u32165     fn get_property_ypad(&self) -> u32;
166 
set_property_ypad(&self, ypad: u32)167     fn set_property_ypad(&self, ypad: u32);
168 
connect_editing_canceled<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId169     fn connect_editing_canceled<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
170 
connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>( &self, f: F, ) -> SignalHandlerId171     fn connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>(
172         &self,
173         f: F,
174     ) -> SignalHandlerId;
175 
connect_property_cell_background_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId176     fn connect_property_cell_background_notify<F: Fn(&Self) + 'static>(
177         &self,
178         f: F,
179     ) -> SignalHandlerId;
180 
connect_property_cell_background_rgba_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId181     fn connect_property_cell_background_rgba_notify<F: Fn(&Self) + 'static>(
182         &self,
183         f: F,
184     ) -> SignalHandlerId;
185 
connect_property_cell_background_set_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId186     fn connect_property_cell_background_set_notify<F: Fn(&Self) + 'static>(
187         &self,
188         f: F,
189     ) -> SignalHandlerId;
190 
connect_property_editing_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId191     fn connect_property_editing_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
192 
connect_property_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId193     fn connect_property_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
194 
connect_property_is_expanded_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId195     fn connect_property_is_expanded_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
196 
connect_property_is_expander_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId197     fn connect_property_is_expander_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
198 
connect_property_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId199     fn connect_property_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
200 
connect_property_sensitive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId201     fn connect_property_sensitive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
202 
connect_property_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId203     fn connect_property_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
204 
connect_property_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId205     fn connect_property_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
206 
connect_property_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId207     fn connect_property_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
208 
connect_property_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId209     fn connect_property_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
210 
connect_property_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId211     fn connect_property_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
212 
connect_property_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId213     fn connect_property_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
214 }
215 
216 impl<O: IsA<CellRenderer>> CellRendererExt for O {
activate<P: IsA<Widget>>( &self, event: &gdk::Event, widget: &P, path: &str, background_area: &gdk::Rectangle, cell_area: &gdk::Rectangle, flags: CellRendererState, ) -> bool217     fn activate<P: IsA<Widget>>(
218         &self,
219         event: &gdk::Event,
220         widget: &P,
221         path: &str,
222         background_area: &gdk::Rectangle,
223         cell_area: &gdk::Rectangle,
224         flags: CellRendererState,
225     ) -> bool {
226         unsafe {
227             from_glib(gtk_sys::gtk_cell_renderer_activate(
228                 self.as_ref().to_glib_none().0,
229                 mut_override(event.to_glib_none().0),
230                 widget.as_ref().to_glib_none().0,
231                 path.to_glib_none().0,
232                 background_area.to_glib_none().0,
233                 cell_area.to_glib_none().0,
234                 flags.to_glib(),
235             ))
236         }
237     }
238 
get_aligned_area<P: IsA<Widget>>( &self, widget: &P, flags: CellRendererState, cell_area: &gdk::Rectangle, ) -> gdk::Rectangle239     fn get_aligned_area<P: IsA<Widget>>(
240         &self,
241         widget: &P,
242         flags: CellRendererState,
243         cell_area: &gdk::Rectangle,
244     ) -> gdk::Rectangle {
245         unsafe {
246             let mut aligned_area = gdk::Rectangle::uninitialized();
247             gtk_sys::gtk_cell_renderer_get_aligned_area(
248                 self.as_ref().to_glib_none().0,
249                 widget.as_ref().to_glib_none().0,
250                 flags.to_glib(),
251                 cell_area.to_glib_none().0,
252                 aligned_area.to_glib_none_mut().0,
253             );
254             aligned_area
255         }
256     }
257 
get_alignment(&self) -> (f32, f32)258     fn get_alignment(&self) -> (f32, f32) {
259         unsafe {
260             let mut xalign = mem::MaybeUninit::uninit();
261             let mut yalign = mem::MaybeUninit::uninit();
262             gtk_sys::gtk_cell_renderer_get_alignment(
263                 self.as_ref().to_glib_none().0,
264                 xalign.as_mut_ptr(),
265                 yalign.as_mut_ptr(),
266             );
267             let xalign = xalign.assume_init();
268             let yalign = yalign.assume_init();
269             (xalign, yalign)
270         }
271     }
272 
get_fixed_size(&self) -> (i32, i32)273     fn get_fixed_size(&self) -> (i32, i32) {
274         unsafe {
275             let mut width = mem::MaybeUninit::uninit();
276             let mut height = mem::MaybeUninit::uninit();
277             gtk_sys::gtk_cell_renderer_get_fixed_size(
278                 self.as_ref().to_glib_none().0,
279                 width.as_mut_ptr(),
280                 height.as_mut_ptr(),
281             );
282             let width = width.assume_init();
283             let height = height.assume_init();
284             (width, height)
285         }
286     }
287 
get_padding(&self) -> (i32, i32)288     fn get_padding(&self) -> (i32, i32) {
289         unsafe {
290             let mut xpad = mem::MaybeUninit::uninit();
291             let mut ypad = mem::MaybeUninit::uninit();
292             gtk_sys::gtk_cell_renderer_get_padding(
293                 self.as_ref().to_glib_none().0,
294                 xpad.as_mut_ptr(),
295                 ypad.as_mut_ptr(),
296             );
297             let xpad = xpad.assume_init();
298             let ypad = ypad.assume_init();
299             (xpad, ypad)
300         }
301     }
302 
get_preferred_height<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32)303     fn get_preferred_height<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32) {
304         unsafe {
305             let mut minimum_size = mem::MaybeUninit::uninit();
306             let mut natural_size = mem::MaybeUninit::uninit();
307             gtk_sys::gtk_cell_renderer_get_preferred_height(
308                 self.as_ref().to_glib_none().0,
309                 widget.as_ref().to_glib_none().0,
310                 minimum_size.as_mut_ptr(),
311                 natural_size.as_mut_ptr(),
312             );
313             let minimum_size = minimum_size.assume_init();
314             let natural_size = natural_size.assume_init();
315             (minimum_size, natural_size)
316         }
317     }
318 
get_preferred_height_for_width<P: IsA<Widget>>(&self, widget: &P, width: i32) -> (i32, i32)319     fn get_preferred_height_for_width<P: IsA<Widget>>(&self, widget: &P, width: i32) -> (i32, i32) {
320         unsafe {
321             let mut minimum_height = mem::MaybeUninit::uninit();
322             let mut natural_height = mem::MaybeUninit::uninit();
323             gtk_sys::gtk_cell_renderer_get_preferred_height_for_width(
324                 self.as_ref().to_glib_none().0,
325                 widget.as_ref().to_glib_none().0,
326                 width,
327                 minimum_height.as_mut_ptr(),
328                 natural_height.as_mut_ptr(),
329             );
330             let minimum_height = minimum_height.assume_init();
331             let natural_height = natural_height.assume_init();
332             (minimum_height, natural_height)
333         }
334     }
335 
get_preferred_size<P: IsA<Widget>>(&self, widget: &P) -> (Requisition, Requisition)336     fn get_preferred_size<P: IsA<Widget>>(&self, widget: &P) -> (Requisition, Requisition) {
337         unsafe {
338             let mut minimum_size = Requisition::uninitialized();
339             let mut natural_size = Requisition::uninitialized();
340             gtk_sys::gtk_cell_renderer_get_preferred_size(
341                 self.as_ref().to_glib_none().0,
342                 widget.as_ref().to_glib_none().0,
343                 minimum_size.to_glib_none_mut().0,
344                 natural_size.to_glib_none_mut().0,
345             );
346             (minimum_size, natural_size)
347         }
348     }
349 
get_preferred_width<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32)350     fn get_preferred_width<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32) {
351         unsafe {
352             let mut minimum_size = mem::MaybeUninit::uninit();
353             let mut natural_size = mem::MaybeUninit::uninit();
354             gtk_sys::gtk_cell_renderer_get_preferred_width(
355                 self.as_ref().to_glib_none().0,
356                 widget.as_ref().to_glib_none().0,
357                 minimum_size.as_mut_ptr(),
358                 natural_size.as_mut_ptr(),
359             );
360             let minimum_size = minimum_size.assume_init();
361             let natural_size = natural_size.assume_init();
362             (minimum_size, natural_size)
363         }
364     }
365 
get_preferred_width_for_height<P: IsA<Widget>>( &self, widget: &P, height: i32, ) -> (i32, i32)366     fn get_preferred_width_for_height<P: IsA<Widget>>(
367         &self,
368         widget: &P,
369         height: i32,
370     ) -> (i32, i32) {
371         unsafe {
372             let mut minimum_width = mem::MaybeUninit::uninit();
373             let mut natural_width = mem::MaybeUninit::uninit();
374             gtk_sys::gtk_cell_renderer_get_preferred_width_for_height(
375                 self.as_ref().to_glib_none().0,
376                 widget.as_ref().to_glib_none().0,
377                 height,
378                 minimum_width.as_mut_ptr(),
379                 natural_width.as_mut_ptr(),
380             );
381             let minimum_width = minimum_width.assume_init();
382             let natural_width = natural_width.assume_init();
383             (minimum_width, natural_width)
384         }
385     }
386 
get_request_mode(&self) -> SizeRequestMode387     fn get_request_mode(&self) -> SizeRequestMode {
388         unsafe {
389             from_glib(gtk_sys::gtk_cell_renderer_get_request_mode(
390                 self.as_ref().to_glib_none().0,
391             ))
392         }
393     }
394 
get_sensitive(&self) -> bool395     fn get_sensitive(&self) -> bool {
396         unsafe {
397             from_glib(gtk_sys::gtk_cell_renderer_get_sensitive(
398                 self.as_ref().to_glib_none().0,
399             ))
400         }
401     }
402 
get_state<P: IsA<Widget>>( &self, widget: Option<&P>, cell_state: CellRendererState, ) -> StateFlags403     fn get_state<P: IsA<Widget>>(
404         &self,
405         widget: Option<&P>,
406         cell_state: CellRendererState,
407     ) -> StateFlags {
408         unsafe {
409             from_glib(gtk_sys::gtk_cell_renderer_get_state(
410                 self.as_ref().to_glib_none().0,
411                 widget.map(|p| p.as_ref()).to_glib_none().0,
412                 cell_state.to_glib(),
413             ))
414         }
415     }
416 
get_visible(&self) -> bool417     fn get_visible(&self) -> bool {
418         unsafe {
419             from_glib(gtk_sys::gtk_cell_renderer_get_visible(
420                 self.as_ref().to_glib_none().0,
421             ))
422         }
423     }
424 
is_activatable(&self) -> bool425     fn is_activatable(&self) -> bool {
426         unsafe {
427             from_glib(gtk_sys::gtk_cell_renderer_is_activatable(
428                 self.as_ref().to_glib_none().0,
429             ))
430         }
431     }
432 
render<P: IsA<Widget>>( &self, cr: &cairo::Context, widget: &P, background_area: &gdk::Rectangle, cell_area: &gdk::Rectangle, flags: CellRendererState, )433     fn render<P: IsA<Widget>>(
434         &self,
435         cr: &cairo::Context,
436         widget: &P,
437         background_area: &gdk::Rectangle,
438         cell_area: &gdk::Rectangle,
439         flags: CellRendererState,
440     ) {
441         unsafe {
442             gtk_sys::gtk_cell_renderer_render(
443                 self.as_ref().to_glib_none().0,
444                 mut_override(cr.to_glib_none().0),
445                 widget.as_ref().to_glib_none().0,
446                 background_area.to_glib_none().0,
447                 cell_area.to_glib_none().0,
448                 flags.to_glib(),
449             );
450         }
451     }
452 
set_alignment(&self, xalign: f32, yalign: f32)453     fn set_alignment(&self, xalign: f32, yalign: f32) {
454         unsafe {
455             gtk_sys::gtk_cell_renderer_set_alignment(
456                 self.as_ref().to_glib_none().0,
457                 xalign,
458                 yalign,
459             );
460         }
461     }
462 
set_fixed_size(&self, width: i32, height: i32)463     fn set_fixed_size(&self, width: i32, height: i32) {
464         unsafe {
465             gtk_sys::gtk_cell_renderer_set_fixed_size(
466                 self.as_ref().to_glib_none().0,
467                 width,
468                 height,
469             );
470         }
471     }
472 
set_padding(&self, xpad: i32, ypad: i32)473     fn set_padding(&self, xpad: i32, ypad: i32) {
474         unsafe {
475             gtk_sys::gtk_cell_renderer_set_padding(self.as_ref().to_glib_none().0, xpad, ypad);
476         }
477     }
478 
set_sensitive(&self, sensitive: bool)479     fn set_sensitive(&self, sensitive: bool) {
480         unsafe {
481             gtk_sys::gtk_cell_renderer_set_sensitive(
482                 self.as_ref().to_glib_none().0,
483                 sensitive.to_glib(),
484             );
485         }
486     }
487 
set_visible(&self, visible: bool)488     fn set_visible(&self, visible: bool) {
489         unsafe {
490             gtk_sys::gtk_cell_renderer_set_visible(
491                 self.as_ref().to_glib_none().0,
492                 visible.to_glib(),
493             );
494         }
495     }
496 
start_editing<P: IsA<Widget>>( &self, event: Option<&gdk::Event>, widget: &P, path: &str, background_area: &gdk::Rectangle, cell_area: &gdk::Rectangle, flags: CellRendererState, ) -> Option<CellEditable>497     fn start_editing<P: IsA<Widget>>(
498         &self,
499         event: Option<&gdk::Event>,
500         widget: &P,
501         path: &str,
502         background_area: &gdk::Rectangle,
503         cell_area: &gdk::Rectangle,
504         flags: CellRendererState,
505     ) -> Option<CellEditable> {
506         unsafe {
507             from_glib_none(gtk_sys::gtk_cell_renderer_start_editing(
508                 self.as_ref().to_glib_none().0,
509                 mut_override(event.to_glib_none().0),
510                 widget.as_ref().to_glib_none().0,
511                 path.to_glib_none().0,
512                 background_area.to_glib_none().0,
513                 cell_area.to_glib_none().0,
514                 flags.to_glib(),
515             ))
516         }
517     }
518 
stop_editing(&self, canceled: bool)519     fn stop_editing(&self, canceled: bool) {
520         unsafe {
521             gtk_sys::gtk_cell_renderer_stop_editing(
522                 self.as_ref().to_glib_none().0,
523                 canceled.to_glib(),
524             );
525         }
526     }
527 
set_property_cell_background(&self, cell_background: Option<&str>)528     fn set_property_cell_background(&self, cell_background: Option<&str>) {
529         unsafe {
530             gobject_sys::g_object_set_property(
531                 self.to_glib_none().0 as *mut gobject_sys::GObject,
532                 b"cell-background\0".as_ptr() as *const _,
533                 Value::from(cell_background).to_glib_none().0,
534             );
535         }
536     }
537 
get_property_cell_background_rgba(&self) -> Option<gdk::RGBA>538     fn get_property_cell_background_rgba(&self) -> Option<gdk::RGBA> {
539         unsafe {
540             let mut value = Value::from_type(<gdk::RGBA as StaticType>::static_type());
541             gobject_sys::g_object_get_property(
542                 self.to_glib_none().0 as *mut gobject_sys::GObject,
543                 b"cell-background-rgba\0".as_ptr() as *const _,
544                 value.to_glib_none_mut().0,
545             );
546             value
547                 .get()
548                 .expect("Return Value for property `cell-background-rgba` getter")
549         }
550     }
551 
set_property_cell_background_rgba(&self, cell_background_rgba: Option<&gdk::RGBA>)552     fn set_property_cell_background_rgba(&self, cell_background_rgba: Option<&gdk::RGBA>) {
553         unsafe {
554             gobject_sys::g_object_set_property(
555                 self.to_glib_none().0 as *mut gobject_sys::GObject,
556                 b"cell-background-rgba\0".as_ptr() as *const _,
557                 Value::from(cell_background_rgba).to_glib_none().0,
558             );
559         }
560     }
561 
get_property_cell_background_set(&self) -> bool562     fn get_property_cell_background_set(&self) -> bool {
563         unsafe {
564             let mut value = Value::from_type(<bool as StaticType>::static_type());
565             gobject_sys::g_object_get_property(
566                 self.to_glib_none().0 as *mut gobject_sys::GObject,
567                 b"cell-background-set\0".as_ptr() as *const _,
568                 value.to_glib_none_mut().0,
569             );
570             value
571                 .get()
572                 .expect("Return Value for property `cell-background-set` getter")
573                 .unwrap()
574         }
575     }
576 
set_property_cell_background_set(&self, cell_background_set: bool)577     fn set_property_cell_background_set(&self, cell_background_set: bool) {
578         unsafe {
579             gobject_sys::g_object_set_property(
580                 self.to_glib_none().0 as *mut gobject_sys::GObject,
581                 b"cell-background-set\0".as_ptr() as *const _,
582                 Value::from(&cell_background_set).to_glib_none().0,
583             );
584         }
585     }
586 
get_property_editing(&self) -> bool587     fn get_property_editing(&self) -> bool {
588         unsafe {
589             let mut value = Value::from_type(<bool as StaticType>::static_type());
590             gobject_sys::g_object_get_property(
591                 self.to_glib_none().0 as *mut gobject_sys::GObject,
592                 b"editing\0".as_ptr() as *const _,
593                 value.to_glib_none_mut().0,
594             );
595             value
596                 .get()
597                 .expect("Return Value for property `editing` getter")
598                 .unwrap()
599         }
600     }
601 
get_property_height(&self) -> i32602     fn get_property_height(&self) -> i32 {
603         unsafe {
604             let mut value = Value::from_type(<i32 as StaticType>::static_type());
605             gobject_sys::g_object_get_property(
606                 self.to_glib_none().0 as *mut gobject_sys::GObject,
607                 b"height\0".as_ptr() as *const _,
608                 value.to_glib_none_mut().0,
609             );
610             value
611                 .get()
612                 .expect("Return Value for property `height` getter")
613                 .unwrap()
614         }
615     }
616 
set_property_height(&self, height: i32)617     fn set_property_height(&self, height: i32) {
618         unsafe {
619             gobject_sys::g_object_set_property(
620                 self.to_glib_none().0 as *mut gobject_sys::GObject,
621                 b"height\0".as_ptr() as *const _,
622                 Value::from(&height).to_glib_none().0,
623             );
624         }
625     }
626 
get_property_is_expanded(&self) -> bool627     fn get_property_is_expanded(&self) -> bool {
628         unsafe {
629             let mut value = Value::from_type(<bool as StaticType>::static_type());
630             gobject_sys::g_object_get_property(
631                 self.to_glib_none().0 as *mut gobject_sys::GObject,
632                 b"is-expanded\0".as_ptr() as *const _,
633                 value.to_glib_none_mut().0,
634             );
635             value
636                 .get()
637                 .expect("Return Value for property `is-expanded` getter")
638                 .unwrap()
639         }
640     }
641 
set_property_is_expanded(&self, is_expanded: bool)642     fn set_property_is_expanded(&self, is_expanded: bool) {
643         unsafe {
644             gobject_sys::g_object_set_property(
645                 self.to_glib_none().0 as *mut gobject_sys::GObject,
646                 b"is-expanded\0".as_ptr() as *const _,
647                 Value::from(&is_expanded).to_glib_none().0,
648             );
649         }
650     }
651 
get_property_is_expander(&self) -> bool652     fn get_property_is_expander(&self) -> bool {
653         unsafe {
654             let mut value = Value::from_type(<bool as StaticType>::static_type());
655             gobject_sys::g_object_get_property(
656                 self.to_glib_none().0 as *mut gobject_sys::GObject,
657                 b"is-expander\0".as_ptr() as *const _,
658                 value.to_glib_none_mut().0,
659             );
660             value
661                 .get()
662                 .expect("Return Value for property `is-expander` getter")
663                 .unwrap()
664         }
665     }
666 
set_property_is_expander(&self, is_expander: bool)667     fn set_property_is_expander(&self, is_expander: bool) {
668         unsafe {
669             gobject_sys::g_object_set_property(
670                 self.to_glib_none().0 as *mut gobject_sys::GObject,
671                 b"is-expander\0".as_ptr() as *const _,
672                 Value::from(&is_expander).to_glib_none().0,
673             );
674         }
675     }
676 
get_property_mode(&self) -> CellRendererMode677     fn get_property_mode(&self) -> CellRendererMode {
678         unsafe {
679             let mut value = Value::from_type(<CellRendererMode as StaticType>::static_type());
680             gobject_sys::g_object_get_property(
681                 self.to_glib_none().0 as *mut gobject_sys::GObject,
682                 b"mode\0".as_ptr() as *const _,
683                 value.to_glib_none_mut().0,
684             );
685             value
686                 .get()
687                 .expect("Return Value for property `mode` getter")
688                 .unwrap()
689         }
690     }
691 
set_property_mode(&self, mode: CellRendererMode)692     fn set_property_mode(&self, mode: CellRendererMode) {
693         unsafe {
694             gobject_sys::g_object_set_property(
695                 self.to_glib_none().0 as *mut gobject_sys::GObject,
696                 b"mode\0".as_ptr() as *const _,
697                 Value::from(&mode).to_glib_none().0,
698             );
699         }
700     }
701 
get_property_width(&self) -> i32702     fn get_property_width(&self) -> i32 {
703         unsafe {
704             let mut value = Value::from_type(<i32 as StaticType>::static_type());
705             gobject_sys::g_object_get_property(
706                 self.to_glib_none().0 as *mut gobject_sys::GObject,
707                 b"width\0".as_ptr() as *const _,
708                 value.to_glib_none_mut().0,
709             );
710             value
711                 .get()
712                 .expect("Return Value for property `width` getter")
713                 .unwrap()
714         }
715     }
716 
set_property_width(&self, width: i32)717     fn set_property_width(&self, width: i32) {
718         unsafe {
719             gobject_sys::g_object_set_property(
720                 self.to_glib_none().0 as *mut gobject_sys::GObject,
721                 b"width\0".as_ptr() as *const _,
722                 Value::from(&width).to_glib_none().0,
723             );
724         }
725     }
726 
get_property_xalign(&self) -> f32727     fn get_property_xalign(&self) -> f32 {
728         unsafe {
729             let mut value = Value::from_type(<f32 as StaticType>::static_type());
730             gobject_sys::g_object_get_property(
731                 self.to_glib_none().0 as *mut gobject_sys::GObject,
732                 b"xalign\0".as_ptr() as *const _,
733                 value.to_glib_none_mut().0,
734             );
735             value
736                 .get()
737                 .expect("Return Value for property `xalign` getter")
738                 .unwrap()
739         }
740     }
741 
set_property_xalign(&self, xalign: f32)742     fn set_property_xalign(&self, xalign: f32) {
743         unsafe {
744             gobject_sys::g_object_set_property(
745                 self.to_glib_none().0 as *mut gobject_sys::GObject,
746                 b"xalign\0".as_ptr() as *const _,
747                 Value::from(&xalign).to_glib_none().0,
748             );
749         }
750     }
751 
get_property_xpad(&self) -> u32752     fn get_property_xpad(&self) -> u32 {
753         unsafe {
754             let mut value = Value::from_type(<u32 as StaticType>::static_type());
755             gobject_sys::g_object_get_property(
756                 self.to_glib_none().0 as *mut gobject_sys::GObject,
757                 b"xpad\0".as_ptr() as *const _,
758                 value.to_glib_none_mut().0,
759             );
760             value
761                 .get()
762                 .expect("Return Value for property `xpad` getter")
763                 .unwrap()
764         }
765     }
766 
set_property_xpad(&self, xpad: u32)767     fn set_property_xpad(&self, xpad: u32) {
768         unsafe {
769             gobject_sys::g_object_set_property(
770                 self.to_glib_none().0 as *mut gobject_sys::GObject,
771                 b"xpad\0".as_ptr() as *const _,
772                 Value::from(&xpad).to_glib_none().0,
773             );
774         }
775     }
776 
get_property_yalign(&self) -> f32777     fn get_property_yalign(&self) -> f32 {
778         unsafe {
779             let mut value = Value::from_type(<f32 as StaticType>::static_type());
780             gobject_sys::g_object_get_property(
781                 self.to_glib_none().0 as *mut gobject_sys::GObject,
782                 b"yalign\0".as_ptr() as *const _,
783                 value.to_glib_none_mut().0,
784             );
785             value
786                 .get()
787                 .expect("Return Value for property `yalign` getter")
788                 .unwrap()
789         }
790     }
791 
set_property_yalign(&self, yalign: f32)792     fn set_property_yalign(&self, yalign: f32) {
793         unsafe {
794             gobject_sys::g_object_set_property(
795                 self.to_glib_none().0 as *mut gobject_sys::GObject,
796                 b"yalign\0".as_ptr() as *const _,
797                 Value::from(&yalign).to_glib_none().0,
798             );
799         }
800     }
801 
get_property_ypad(&self) -> u32802     fn get_property_ypad(&self) -> u32 {
803         unsafe {
804             let mut value = Value::from_type(<u32 as StaticType>::static_type());
805             gobject_sys::g_object_get_property(
806                 self.to_glib_none().0 as *mut gobject_sys::GObject,
807                 b"ypad\0".as_ptr() as *const _,
808                 value.to_glib_none_mut().0,
809             );
810             value
811                 .get()
812                 .expect("Return Value for property `ypad` getter")
813                 .unwrap()
814         }
815     }
816 
set_property_ypad(&self, ypad: u32)817     fn set_property_ypad(&self, ypad: u32) {
818         unsafe {
819             gobject_sys::g_object_set_property(
820                 self.to_glib_none().0 as *mut gobject_sys::GObject,
821                 b"ypad\0".as_ptr() as *const _,
822                 Value::from(&ypad).to_glib_none().0,
823             );
824         }
825     }
826 
connect_editing_canceled<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId827     fn connect_editing_canceled<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
828         unsafe extern "C" fn editing_canceled_trampoline<P, F: Fn(&P) + 'static>(
829             this: *mut gtk_sys::GtkCellRenderer,
830             f: glib_sys::gpointer,
831         ) where
832             P: IsA<CellRenderer>,
833         {
834             let f: &F = &*(f as *const F);
835             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
836         }
837         unsafe {
838             let f: Box_<F> = Box_::new(f);
839             connect_raw(
840                 self.as_ptr() as *mut _,
841                 b"editing-canceled\0".as_ptr() as *const _,
842                 Some(transmute(editing_canceled_trampoline::<Self, F> as usize)),
843                 Box_::into_raw(f),
844             )
845         }
846     }
847 
connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>( &self, f: F, ) -> SignalHandlerId848     fn connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>(
849         &self,
850         f: F,
851     ) -> SignalHandlerId {
852         unsafe extern "C" fn editing_started_trampoline<
853             P,
854             F: Fn(&P, &CellEditable, TreePath) + 'static,
855         >(
856             this: *mut gtk_sys::GtkCellRenderer,
857             editable: *mut gtk_sys::GtkCellEditable,
858             path: *mut libc::c_char,
859             f: glib_sys::gpointer,
860         ) where
861             P: IsA<CellRenderer>,
862         {
863             let f: &F = &*(f as *const F);
864             let path = from_glib_full(gtk_sys::gtk_tree_path_new_from_string(path));
865             f(
866                 &CellRenderer::from_glib_borrow(this).unsafe_cast(),
867                 &from_glib_borrow(editable),
868                 path,
869             )
870         }
871         unsafe {
872             let f: Box_<F> = Box_::new(f);
873             connect_raw(
874                 self.as_ptr() as *mut _,
875                 b"editing-started\0".as_ptr() as *const _,
876                 Some(transmute(editing_started_trampoline::<Self, F> as usize)),
877                 Box_::into_raw(f),
878             )
879         }
880     }
881 
connect_property_cell_background_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId882     fn connect_property_cell_background_notify<F: Fn(&Self) + 'static>(
883         &self,
884         f: F,
885     ) -> SignalHandlerId {
886         unsafe extern "C" fn notify_cell_background_trampoline<P, F: Fn(&P) + 'static>(
887             this: *mut gtk_sys::GtkCellRenderer,
888             _param_spec: glib_sys::gpointer,
889             f: glib_sys::gpointer,
890         ) where
891             P: IsA<CellRenderer>,
892         {
893             let f: &F = &*(f as *const F);
894             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
895         }
896         unsafe {
897             let f: Box_<F> = Box_::new(f);
898             connect_raw(
899                 self.as_ptr() as *mut _,
900                 b"notify::cell-background\0".as_ptr() as *const _,
901                 Some(transmute(
902                     notify_cell_background_trampoline::<Self, F> as usize,
903                 )),
904                 Box_::into_raw(f),
905             )
906         }
907     }
908 
connect_property_cell_background_rgba_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId909     fn connect_property_cell_background_rgba_notify<F: Fn(&Self) + 'static>(
910         &self,
911         f: F,
912     ) -> SignalHandlerId {
913         unsafe extern "C" fn notify_cell_background_rgba_trampoline<P, F: Fn(&P) + 'static>(
914             this: *mut gtk_sys::GtkCellRenderer,
915             _param_spec: glib_sys::gpointer,
916             f: glib_sys::gpointer,
917         ) where
918             P: IsA<CellRenderer>,
919         {
920             let f: &F = &*(f as *const F);
921             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
922         }
923         unsafe {
924             let f: Box_<F> = Box_::new(f);
925             connect_raw(
926                 self.as_ptr() as *mut _,
927                 b"notify::cell-background-rgba\0".as_ptr() as *const _,
928                 Some(transmute(
929                     notify_cell_background_rgba_trampoline::<Self, F> as usize,
930                 )),
931                 Box_::into_raw(f),
932             )
933         }
934     }
935 
connect_property_cell_background_set_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId936     fn connect_property_cell_background_set_notify<F: Fn(&Self) + 'static>(
937         &self,
938         f: F,
939     ) -> SignalHandlerId {
940         unsafe extern "C" fn notify_cell_background_set_trampoline<P, F: Fn(&P) + 'static>(
941             this: *mut gtk_sys::GtkCellRenderer,
942             _param_spec: glib_sys::gpointer,
943             f: glib_sys::gpointer,
944         ) where
945             P: IsA<CellRenderer>,
946         {
947             let f: &F = &*(f as *const F);
948             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
949         }
950         unsafe {
951             let f: Box_<F> = Box_::new(f);
952             connect_raw(
953                 self.as_ptr() as *mut _,
954                 b"notify::cell-background-set\0".as_ptr() as *const _,
955                 Some(transmute(
956                     notify_cell_background_set_trampoline::<Self, F> as usize,
957                 )),
958                 Box_::into_raw(f),
959             )
960         }
961     }
962 
connect_property_editing_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId963     fn connect_property_editing_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
964         unsafe extern "C" fn notify_editing_trampoline<P, F: Fn(&P) + 'static>(
965             this: *mut gtk_sys::GtkCellRenderer,
966             _param_spec: glib_sys::gpointer,
967             f: glib_sys::gpointer,
968         ) where
969             P: IsA<CellRenderer>,
970         {
971             let f: &F = &*(f as *const F);
972             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
973         }
974         unsafe {
975             let f: Box_<F> = Box_::new(f);
976             connect_raw(
977                 self.as_ptr() as *mut _,
978                 b"notify::editing\0".as_ptr() as *const _,
979                 Some(transmute(notify_editing_trampoline::<Self, F> as usize)),
980                 Box_::into_raw(f),
981             )
982         }
983     }
984 
connect_property_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId985     fn connect_property_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
986         unsafe extern "C" fn notify_height_trampoline<P, F: Fn(&P) + 'static>(
987             this: *mut gtk_sys::GtkCellRenderer,
988             _param_spec: glib_sys::gpointer,
989             f: glib_sys::gpointer,
990         ) where
991             P: IsA<CellRenderer>,
992         {
993             let f: &F = &*(f as *const F);
994             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
995         }
996         unsafe {
997             let f: Box_<F> = Box_::new(f);
998             connect_raw(
999                 self.as_ptr() as *mut _,
1000                 b"notify::height\0".as_ptr() as *const _,
1001                 Some(transmute(notify_height_trampoline::<Self, F> as usize)),
1002                 Box_::into_raw(f),
1003             )
1004         }
1005     }
1006 
connect_property_is_expanded_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1007     fn connect_property_is_expanded_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1008         unsafe extern "C" fn notify_is_expanded_trampoline<P, F: Fn(&P) + 'static>(
1009             this: *mut gtk_sys::GtkCellRenderer,
1010             _param_spec: glib_sys::gpointer,
1011             f: glib_sys::gpointer,
1012         ) where
1013             P: IsA<CellRenderer>,
1014         {
1015             let f: &F = &*(f as *const F);
1016             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1017         }
1018         unsafe {
1019             let f: Box_<F> = Box_::new(f);
1020             connect_raw(
1021                 self.as_ptr() as *mut _,
1022                 b"notify::is-expanded\0".as_ptr() as *const _,
1023                 Some(transmute(notify_is_expanded_trampoline::<Self, F> as usize)),
1024                 Box_::into_raw(f),
1025             )
1026         }
1027     }
1028 
connect_property_is_expander_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1029     fn connect_property_is_expander_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1030         unsafe extern "C" fn notify_is_expander_trampoline<P, F: Fn(&P) + 'static>(
1031             this: *mut gtk_sys::GtkCellRenderer,
1032             _param_spec: glib_sys::gpointer,
1033             f: glib_sys::gpointer,
1034         ) where
1035             P: IsA<CellRenderer>,
1036         {
1037             let f: &F = &*(f as *const F);
1038             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1039         }
1040         unsafe {
1041             let f: Box_<F> = Box_::new(f);
1042             connect_raw(
1043                 self.as_ptr() as *mut _,
1044                 b"notify::is-expander\0".as_ptr() as *const _,
1045                 Some(transmute(notify_is_expander_trampoline::<Self, F> as usize)),
1046                 Box_::into_raw(f),
1047             )
1048         }
1049     }
1050 
connect_property_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1051     fn connect_property_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1052         unsafe extern "C" fn notify_mode_trampoline<P, F: Fn(&P) + 'static>(
1053             this: *mut gtk_sys::GtkCellRenderer,
1054             _param_spec: glib_sys::gpointer,
1055             f: glib_sys::gpointer,
1056         ) where
1057             P: IsA<CellRenderer>,
1058         {
1059             let f: &F = &*(f as *const F);
1060             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1061         }
1062         unsafe {
1063             let f: Box_<F> = Box_::new(f);
1064             connect_raw(
1065                 self.as_ptr() as *mut _,
1066                 b"notify::mode\0".as_ptr() as *const _,
1067                 Some(transmute(notify_mode_trampoline::<Self, F> as usize)),
1068                 Box_::into_raw(f),
1069             )
1070         }
1071     }
1072 
connect_property_sensitive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1073     fn connect_property_sensitive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1074         unsafe extern "C" fn notify_sensitive_trampoline<P, F: Fn(&P) + 'static>(
1075             this: *mut gtk_sys::GtkCellRenderer,
1076             _param_spec: glib_sys::gpointer,
1077             f: glib_sys::gpointer,
1078         ) where
1079             P: IsA<CellRenderer>,
1080         {
1081             let f: &F = &*(f as *const F);
1082             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1083         }
1084         unsafe {
1085             let f: Box_<F> = Box_::new(f);
1086             connect_raw(
1087                 self.as_ptr() as *mut _,
1088                 b"notify::sensitive\0".as_ptr() as *const _,
1089                 Some(transmute(notify_sensitive_trampoline::<Self, F> as usize)),
1090                 Box_::into_raw(f),
1091             )
1092         }
1093     }
1094 
connect_property_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1095     fn connect_property_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1096         unsafe extern "C" fn notify_visible_trampoline<P, F: Fn(&P) + 'static>(
1097             this: *mut gtk_sys::GtkCellRenderer,
1098             _param_spec: glib_sys::gpointer,
1099             f: glib_sys::gpointer,
1100         ) where
1101             P: IsA<CellRenderer>,
1102         {
1103             let f: &F = &*(f as *const F);
1104             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1105         }
1106         unsafe {
1107             let f: Box_<F> = Box_::new(f);
1108             connect_raw(
1109                 self.as_ptr() as *mut _,
1110                 b"notify::visible\0".as_ptr() as *const _,
1111                 Some(transmute(notify_visible_trampoline::<Self, F> as usize)),
1112                 Box_::into_raw(f),
1113             )
1114         }
1115     }
1116 
connect_property_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1117     fn connect_property_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1118         unsafe extern "C" fn notify_width_trampoline<P, F: Fn(&P) + 'static>(
1119             this: *mut gtk_sys::GtkCellRenderer,
1120             _param_spec: glib_sys::gpointer,
1121             f: glib_sys::gpointer,
1122         ) where
1123             P: IsA<CellRenderer>,
1124         {
1125             let f: &F = &*(f as *const F);
1126             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1127         }
1128         unsafe {
1129             let f: Box_<F> = Box_::new(f);
1130             connect_raw(
1131                 self.as_ptr() as *mut _,
1132                 b"notify::width\0".as_ptr() as *const _,
1133                 Some(transmute(notify_width_trampoline::<Self, F> as usize)),
1134                 Box_::into_raw(f),
1135             )
1136         }
1137     }
1138 
connect_property_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1139     fn connect_property_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1140         unsafe extern "C" fn notify_xalign_trampoline<P, F: Fn(&P) + 'static>(
1141             this: *mut gtk_sys::GtkCellRenderer,
1142             _param_spec: glib_sys::gpointer,
1143             f: glib_sys::gpointer,
1144         ) where
1145             P: IsA<CellRenderer>,
1146         {
1147             let f: &F = &*(f as *const F);
1148             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1149         }
1150         unsafe {
1151             let f: Box_<F> = Box_::new(f);
1152             connect_raw(
1153                 self.as_ptr() as *mut _,
1154                 b"notify::xalign\0".as_ptr() as *const _,
1155                 Some(transmute(notify_xalign_trampoline::<Self, F> as usize)),
1156                 Box_::into_raw(f),
1157             )
1158         }
1159     }
1160 
connect_property_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1161     fn connect_property_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1162         unsafe extern "C" fn notify_xpad_trampoline<P, F: Fn(&P) + 'static>(
1163             this: *mut gtk_sys::GtkCellRenderer,
1164             _param_spec: glib_sys::gpointer,
1165             f: glib_sys::gpointer,
1166         ) where
1167             P: IsA<CellRenderer>,
1168         {
1169             let f: &F = &*(f as *const F);
1170             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1171         }
1172         unsafe {
1173             let f: Box_<F> = Box_::new(f);
1174             connect_raw(
1175                 self.as_ptr() as *mut _,
1176                 b"notify::xpad\0".as_ptr() as *const _,
1177                 Some(transmute(notify_xpad_trampoline::<Self, F> as usize)),
1178                 Box_::into_raw(f),
1179             )
1180         }
1181     }
1182 
connect_property_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1183     fn connect_property_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1184         unsafe extern "C" fn notify_yalign_trampoline<P, F: Fn(&P) + 'static>(
1185             this: *mut gtk_sys::GtkCellRenderer,
1186             _param_spec: glib_sys::gpointer,
1187             f: glib_sys::gpointer,
1188         ) where
1189             P: IsA<CellRenderer>,
1190         {
1191             let f: &F = &*(f as *const F);
1192             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1193         }
1194         unsafe {
1195             let f: Box_<F> = Box_::new(f);
1196             connect_raw(
1197                 self.as_ptr() as *mut _,
1198                 b"notify::yalign\0".as_ptr() as *const _,
1199                 Some(transmute(notify_yalign_trampoline::<Self, F> as usize)),
1200                 Box_::into_raw(f),
1201             )
1202         }
1203     }
1204 
connect_property_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId1205     fn connect_property_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1206         unsafe extern "C" fn notify_ypad_trampoline<P, F: Fn(&P) + 'static>(
1207             this: *mut gtk_sys::GtkCellRenderer,
1208             _param_spec: glib_sys::gpointer,
1209             f: glib_sys::gpointer,
1210         ) where
1211             P: IsA<CellRenderer>,
1212         {
1213             let f: &F = &*(f as *const F);
1214             f(&CellRenderer::from_glib_borrow(this).unsafe_cast())
1215         }
1216         unsafe {
1217             let f: Box_<F> = Box_::new(f);
1218             connect_raw(
1219                 self.as_ptr() as *mut _,
1220                 b"notify::ypad\0".as_ptr() as *const _,
1221                 Some(transmute(notify_ypad_trampoline::<Self, F> as usize)),
1222                 Box_::into_raw(f),
1223             )
1224         }
1225     }
1226 }
1227 
1228 impl fmt::Display for CellRenderer {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1229     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1230         write!(f, "CellRenderer")
1231     }
1232 }
1233