rute/auto/
desktop_widget.rs

1// This file is auto-generated by rute_gen. DO NOT EDIT.
2use std::cell::Cell;
3use std::rc::Rc;
4
5#[allow(unused_imports)]
6use std::marker::PhantomData;
7
8#[allow(unused_imports)]
9use std::os::raw::c_void;
10
11#[allow(unused_imports)]
12use std::mem::transmute;
13
14#[allow(unused_imports)]
15use std::ffi::{CStr, CString};
16
17use rute_ffi_base::*;
18
19#[allow(unused_imports)]
20use auto::*;
21
22/// **Notice these docs are heavy WIP and not very relevent yet**
23/// # Licence
24///
25/// The documentation is an adoption of the original [Qt Documentation](http://doc.qt.io/) and provided herein is licensed under the terms of the [GNU Free Documentation License version 1.3](http://www.gnu.org/licenses/fdl.html) as published by the Free Software Foundation.
26#[derive(Clone)]
27pub struct DesktopWidget<'a> {
28    #[doc(hidden)]
29    pub data: Rc<Cell<Option<*const RUBase>>>,
30    #[doc(hidden)]
31    pub all_funcs: *const RUDesktopWidgetAllFuncs,
32    #[doc(hidden)]
33    pub owned: bool,
34    #[doc(hidden)]
35    pub _marker: PhantomData<::std::cell::Cell<&'a ()>>,
36}
37
38impl<'a> DesktopWidget<'a> {
39    #[allow(dead_code)]
40    pub(crate) fn new_from_rc(ffi_data: RUDesktopWidget) -> DesktopWidget<'a> {
41        DesktopWidget {
42            data: unsafe { Rc::from_raw(ffi_data.host_data as *const Cell<Option<*const RUBase>>) },
43            all_funcs: ffi_data.all_funcs,
44            owned: false,
45            _marker: PhantomData,
46        }
47    }
48
49    #[allow(dead_code)]
50    pub(crate) fn new_from_owned(ffi_data: RUDesktopWidget) -> DesktopWidget<'a> {
51        DesktopWidget {
52            data: Rc::new(Cell::new(Some(ffi_data.qt_data as *const RUBase))),
53            all_funcs: ffi_data.all_funcs,
54            owned: true,
55            _marker: PhantomData,
56        }
57    }
58
59    #[allow(dead_code)]
60    pub(crate) fn new_from_temporary(ffi_data: RUDesktopWidget) -> DesktopWidget<'a> {
61        DesktopWidget {
62            data: Rc::new(Cell::new(Some(ffi_data.qt_data as *const RUBase))),
63            all_funcs: ffi_data.all_funcs,
64            owned: false,
65            _marker: PhantomData,
66        }
67    }
68    pub fn screen_number<W: WidgetTrait<'a>>(&self, widget: &W) -> i32 {
69        let (obj_widget_1, _funcs) = widget.get_widget_obj_funcs();
70
71        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
72        unsafe {
73            let ret_val = ((*funcs).screen_number)(obj_data, obj_widget_1);
74            ret_val
75        }
76    }
77    pub fn is_virtual_desktop(&self) -> bool {
78        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
79        unsafe {
80            let ret_val = ((*funcs).is_virtual_desktop)(obj_data);
81            ret_val
82        }
83    }
84    pub fn num_screens(&self) -> i32 {
85        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
86        unsafe {
87            let ret_val = ((*funcs).num_screens)(obj_data);
88            ret_val
89        }
90    }
91    pub fn screen_count(&self) -> i32 {
92        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
93        unsafe {
94            let ret_val = ((*funcs).screen_count)(obj_data);
95            ret_val
96        }
97    }
98    pub fn primary_screen(&self) -> i32 {
99        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
100        unsafe {
101            let ret_val = ((*funcs).primary_screen)(obj_data);
102            ret_val
103        }
104    }
105    pub fn screen_number_2<P: PointTrait<'a>>(&self, arg0: &P) -> i32 {
106        let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
107
108        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
109        unsafe {
110            let ret_val = ((*funcs).screen_number_2)(obj_data, obj_arg0_1);
111            ret_val
112        }
113    }
114    pub fn screen(&self, screen: i32) -> Option<Widget> {
115        let (obj_data, funcs) = self.get_desktop_widget_obj_funcs();
116        unsafe {
117            let ret_val = ((*funcs).screen)(obj_data, screen);
118            if ret_val.qt_data == ::std::ptr::null() {
119                return None;
120            }
121            let t = ret_val;
122            let ret_val;
123            if t.host_data != ::std::ptr::null() {
124                ret_val = Widget::new_from_rc(t);
125            } else {
126                ret_val = Widget::new_from_owned(t);
127            }
128            Some(ret_val)
129        }
130    }
131    #[doc(hidden)]
132    pub fn win_id(&self) -> u64 {
133        let (obj_data, funcs) = self.get_widget_obj_funcs();
134        unsafe {
135            let ret_val = ((*funcs).win_id)(obj_data);
136            ret_val
137        }
138    }
139    #[doc(hidden)]
140    pub fn create_win_id(&self) -> &Self {
141        let (obj_data, funcs) = self.get_widget_obj_funcs();
142        unsafe {
143            ((*funcs).create_win_id)(obj_data);
144        }
145        self
146    }
147    #[doc(hidden)]
148    pub fn internal_win_id(&self) -> u64 {
149        let (obj_data, funcs) = self.get_widget_obj_funcs();
150        unsafe {
151            let ret_val = ((*funcs).internal_win_id)(obj_data);
152            ret_val
153        }
154    }
155    #[doc(hidden)]
156    pub fn effective_win_id(&self) -> u64 {
157        let (obj_data, funcs) = self.get_widget_obj_funcs();
158        unsafe {
159            let ret_val = ((*funcs).effective_win_id)(obj_data);
160            ret_val
161        }
162    }
163    #[doc(hidden)]
164    pub fn style(&self) -> Option<Style> {
165        let (obj_data, funcs) = self.get_widget_obj_funcs();
166        unsafe {
167            let ret_val = ((*funcs).style)(obj_data);
168            if ret_val.qt_data == ::std::ptr::null() {
169                return None;
170            }
171            let t = ret_val;
172            let ret_val;
173            if t.host_data != ::std::ptr::null() {
174                ret_val = Style::new_from_rc(t);
175            } else {
176                ret_val = Style::new_from_owned(t);
177            }
178            Some(ret_val)
179        }
180    }
181    #[doc(hidden)]
182    pub fn set_style<S: StyleTrait<'a>>(&self, arg0: &S) -> &Self {
183        let (obj_arg0_1, _funcs) = arg0.get_style_obj_funcs();
184
185        let (obj_data, funcs) = self.get_widget_obj_funcs();
186        unsafe {
187            ((*funcs).set_style)(obj_data, obj_arg0_1);
188        }
189        self
190    }
191    #[doc(hidden)]
192    pub fn is_top_level(&self) -> bool {
193        let (obj_data, funcs) = self.get_widget_obj_funcs();
194        unsafe {
195            let ret_val = ((*funcs).is_top_level)(obj_data);
196            ret_val
197        }
198    }
199    #[doc(hidden)]
200    pub fn is_window(&self) -> bool {
201        let (obj_data, funcs) = self.get_widget_obj_funcs();
202        unsafe {
203            let ret_val = ((*funcs).is_window)(obj_data);
204            ret_val
205        }
206    }
207    #[doc(hidden)]
208    pub fn is_modal(&self) -> bool {
209        let (obj_data, funcs) = self.get_widget_obj_funcs();
210        unsafe {
211            let ret_val = ((*funcs).is_modal)(obj_data);
212            ret_val
213        }
214    }
215    #[doc(hidden)]
216    pub fn window_modality(&self) -> WindowModality {
217        let (obj_data, funcs) = self.get_widget_obj_funcs();
218        unsafe {
219            let ret_val = ((*funcs).window_modality)(obj_data);
220            let ret_val = { transmute::<u32, WindowModality>(ret_val) };
221            ret_val
222        }
223    }
224    #[doc(hidden)]
225    pub fn set_window_modality(&self, window_modality: WindowModality) -> &Self {
226        let enum_window_modality_1 = window_modality as u32;
227
228        let (obj_data, funcs) = self.get_widget_obj_funcs();
229        unsafe {
230            ((*funcs).set_window_modality)(obj_data, enum_window_modality_1);
231        }
232        self
233    }
234    #[doc(hidden)]
235    pub fn is_enabled(&self) -> bool {
236        let (obj_data, funcs) = self.get_widget_obj_funcs();
237        unsafe {
238            let ret_val = ((*funcs).is_enabled)(obj_data);
239            ret_val
240        }
241    }
242    #[doc(hidden)]
243    pub fn is_enabled_to<W: WidgetTrait<'a>>(&self, arg0: &W) -> bool {
244        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
245
246        let (obj_data, funcs) = self.get_widget_obj_funcs();
247        unsafe {
248            let ret_val = ((*funcs).is_enabled_to)(obj_data, obj_arg0_1);
249            ret_val
250        }
251    }
252    #[doc(hidden)]
253    pub fn set_enabled(&self, arg0: bool) -> &Self {
254        let (obj_data, funcs) = self.get_widget_obj_funcs();
255        unsafe {
256            ((*funcs).set_enabled)(obj_data, arg0);
257        }
258        self
259    }
260    #[doc(hidden)]
261    pub fn set_disabled(&self, arg0: bool) -> &Self {
262        let (obj_data, funcs) = self.get_widget_obj_funcs();
263        unsafe {
264            ((*funcs).set_disabled)(obj_data, arg0);
265        }
266        self
267    }
268    #[doc(hidden)]
269    pub fn set_window_modified(&self, arg0: bool) -> &Self {
270        let (obj_data, funcs) = self.get_widget_obj_funcs();
271        unsafe {
272            ((*funcs).set_window_modified)(obj_data, arg0);
273        }
274        self
275    }
276    #[doc(hidden)]
277    pub fn x(&self) -> i32 {
278        let (obj_data, funcs) = self.get_widget_obj_funcs();
279        unsafe {
280            let ret_val = ((*funcs).x)(obj_data);
281            ret_val
282        }
283    }
284    #[doc(hidden)]
285    pub fn y(&self) -> i32 {
286        let (obj_data, funcs) = self.get_widget_obj_funcs();
287        unsafe {
288            let ret_val = ((*funcs).y)(obj_data);
289            ret_val
290        }
291    }
292    #[doc(hidden)]
293    pub fn pos(&self) -> Point {
294        let (obj_data, funcs) = self.get_widget_obj_funcs();
295        unsafe {
296            let ret_val = ((*funcs).pos)(obj_data);
297            let t = ret_val;
298            let ret_val;
299            if t.host_data != ::std::ptr::null() {
300                ret_val = Point::new_from_rc(t);
301            } else {
302                ret_val = Point::new_from_owned(t);
303            }
304            ret_val
305        }
306    }
307    #[doc(hidden)]
308    pub fn frame_size(&self) -> Size {
309        let (obj_data, funcs) = self.get_widget_obj_funcs();
310        unsafe {
311            let ret_val = ((*funcs).frame_size)(obj_data);
312            let t = ret_val;
313            let ret_val;
314            if t.host_data != ::std::ptr::null() {
315                ret_val = Size::new_from_rc(t);
316            } else {
317                ret_val = Size::new_from_owned(t);
318            }
319            ret_val
320        }
321    }
322    #[doc(hidden)]
323    pub fn size(&self) -> Size {
324        let (obj_data, funcs) = self.get_widget_obj_funcs();
325        unsafe {
326            let ret_val = ((*funcs).size)(obj_data);
327            let t = ret_val;
328            let ret_val;
329            if t.host_data != ::std::ptr::null() {
330                ret_val = Size::new_from_rc(t);
331            } else {
332                ret_val = Size::new_from_owned(t);
333            }
334            ret_val
335        }
336    }
337    #[doc(hidden)]
338    pub fn width(&self) -> i32 {
339        let (obj_data, funcs) = self.get_widget_obj_funcs();
340        unsafe {
341            let ret_val = ((*funcs).width)(obj_data);
342            ret_val
343        }
344    }
345    #[doc(hidden)]
346    pub fn height(&self) -> i32 {
347        let (obj_data, funcs) = self.get_widget_obj_funcs();
348        unsafe {
349            let ret_val = ((*funcs).height)(obj_data);
350            ret_val
351        }
352    }
353    #[doc(hidden)]
354    pub fn rect(&self) -> Rect {
355        let (obj_data, funcs) = self.get_widget_obj_funcs();
356        unsafe {
357            let ret_val = ((*funcs).rect)(obj_data);
358            let t = ret_val;
359            let ret_val;
360            if t.host_data != ::std::ptr::null() {
361                ret_val = Rect::new_from_rc(t);
362            } else {
363                ret_val = Rect::new_from_owned(t);
364            }
365            ret_val
366        }
367    }
368    #[doc(hidden)]
369    pub fn children_rect(&self) -> Rect {
370        let (obj_data, funcs) = self.get_widget_obj_funcs();
371        unsafe {
372            let ret_val = ((*funcs).children_rect)(obj_data);
373            let t = ret_val;
374            let ret_val;
375            if t.host_data != ::std::ptr::null() {
376                ret_val = Rect::new_from_rc(t);
377            } else {
378                ret_val = Rect::new_from_owned(t);
379            }
380            ret_val
381        }
382    }
383    #[doc(hidden)]
384    pub fn children_region(&self) -> Region {
385        let (obj_data, funcs) = self.get_widget_obj_funcs();
386        unsafe {
387            let ret_val = ((*funcs).children_region)(obj_data);
388            let t = ret_val;
389            let ret_val;
390            if t.host_data != ::std::ptr::null() {
391                ret_val = Region::new_from_rc(t);
392            } else {
393                ret_val = Region::new_from_owned(t);
394            }
395            ret_val
396        }
397    }
398    #[doc(hidden)]
399    pub fn minimum_size(&self) -> Size {
400        let (obj_data, funcs) = self.get_widget_obj_funcs();
401        unsafe {
402            let ret_val = ((*funcs).minimum_size)(obj_data);
403            let t = ret_val;
404            let ret_val;
405            if t.host_data != ::std::ptr::null() {
406                ret_val = Size::new_from_rc(t);
407            } else {
408                ret_val = Size::new_from_owned(t);
409            }
410            ret_val
411        }
412    }
413    #[doc(hidden)]
414    pub fn maximum_size(&self) -> Size {
415        let (obj_data, funcs) = self.get_widget_obj_funcs();
416        unsafe {
417            let ret_val = ((*funcs).maximum_size)(obj_data);
418            let t = ret_val;
419            let ret_val;
420            if t.host_data != ::std::ptr::null() {
421                ret_val = Size::new_from_rc(t);
422            } else {
423                ret_val = Size::new_from_owned(t);
424            }
425            ret_val
426        }
427    }
428    #[doc(hidden)]
429    pub fn minimum_width(&self) -> i32 {
430        let (obj_data, funcs) = self.get_widget_obj_funcs();
431        unsafe {
432            let ret_val = ((*funcs).minimum_width)(obj_data);
433            ret_val
434        }
435    }
436    #[doc(hidden)]
437    pub fn minimum_height(&self) -> i32 {
438        let (obj_data, funcs) = self.get_widget_obj_funcs();
439        unsafe {
440            let ret_val = ((*funcs).minimum_height)(obj_data);
441            ret_val
442        }
443    }
444    #[doc(hidden)]
445    pub fn maximum_width(&self) -> i32 {
446        let (obj_data, funcs) = self.get_widget_obj_funcs();
447        unsafe {
448            let ret_val = ((*funcs).maximum_width)(obj_data);
449            ret_val
450        }
451    }
452    #[doc(hidden)]
453    pub fn maximum_height(&self) -> i32 {
454        let (obj_data, funcs) = self.get_widget_obj_funcs();
455        unsafe {
456            let ret_val = ((*funcs).maximum_height)(obj_data);
457            ret_val
458        }
459    }
460    #[doc(hidden)]
461    pub fn set_minimum_size<S: SizeTrait<'a>>(&self, arg0: &S) -> &Self {
462        let (obj_arg0_1, _funcs) = arg0.get_size_obj_funcs();
463
464        let (obj_data, funcs) = self.get_widget_obj_funcs();
465        unsafe {
466            ((*funcs).set_minimum_size)(obj_data, obj_arg0_1);
467        }
468        self
469    }
470    #[doc(hidden)]
471    pub fn set_minimum_size_2(&self, minw: i32, minh: i32) -> &Self {
472        let (obj_data, funcs) = self.get_widget_obj_funcs();
473        unsafe {
474            ((*funcs).set_minimum_size_2)(obj_data, minw, minh);
475        }
476        self
477    }
478    #[doc(hidden)]
479    pub fn set_maximum_size<S: SizeTrait<'a>>(&self, arg0: &S) -> &Self {
480        let (obj_arg0_1, _funcs) = arg0.get_size_obj_funcs();
481
482        let (obj_data, funcs) = self.get_widget_obj_funcs();
483        unsafe {
484            ((*funcs).set_maximum_size)(obj_data, obj_arg0_1);
485        }
486        self
487    }
488    #[doc(hidden)]
489    pub fn set_maximum_size_2(&self, maxw: i32, maxh: i32) -> &Self {
490        let (obj_data, funcs) = self.get_widget_obj_funcs();
491        unsafe {
492            ((*funcs).set_maximum_size_2)(obj_data, maxw, maxh);
493        }
494        self
495    }
496    #[doc(hidden)]
497    pub fn set_minimum_width(&self, minw: i32) -> &Self {
498        let (obj_data, funcs) = self.get_widget_obj_funcs();
499        unsafe {
500            ((*funcs).set_minimum_width)(obj_data, minw);
501        }
502        self
503    }
504    #[doc(hidden)]
505    pub fn set_minimum_height(&self, minh: i32) -> &Self {
506        let (obj_data, funcs) = self.get_widget_obj_funcs();
507        unsafe {
508            ((*funcs).set_minimum_height)(obj_data, minh);
509        }
510        self
511    }
512    #[doc(hidden)]
513    pub fn set_maximum_width(&self, maxw: i32) -> &Self {
514        let (obj_data, funcs) = self.get_widget_obj_funcs();
515        unsafe {
516            ((*funcs).set_maximum_width)(obj_data, maxw);
517        }
518        self
519    }
520    #[doc(hidden)]
521    pub fn set_maximum_height(&self, maxh: i32) -> &Self {
522        let (obj_data, funcs) = self.get_widget_obj_funcs();
523        unsafe {
524            ((*funcs).set_maximum_height)(obj_data, maxh);
525        }
526        self
527    }
528    #[doc(hidden)]
529    pub fn size_increment(&self) -> Size {
530        let (obj_data, funcs) = self.get_widget_obj_funcs();
531        unsafe {
532            let ret_val = ((*funcs).size_increment)(obj_data);
533            let t = ret_val;
534            let ret_val;
535            if t.host_data != ::std::ptr::null() {
536                ret_val = Size::new_from_rc(t);
537            } else {
538                ret_val = Size::new_from_owned(t);
539            }
540            ret_val
541        }
542    }
543    #[doc(hidden)]
544    pub fn set_size_increment<S: SizeTrait<'a>>(&self, arg0: &S) -> &Self {
545        let (obj_arg0_1, _funcs) = arg0.get_size_obj_funcs();
546
547        let (obj_data, funcs) = self.get_widget_obj_funcs();
548        unsafe {
549            ((*funcs).set_size_increment)(obj_data, obj_arg0_1);
550        }
551        self
552    }
553    #[doc(hidden)]
554    pub fn set_size_increment_2(&self, w: i32, h: i32) -> &Self {
555        let (obj_data, funcs) = self.get_widget_obj_funcs();
556        unsafe {
557            ((*funcs).set_size_increment_2)(obj_data, w, h);
558        }
559        self
560    }
561    #[doc(hidden)]
562    pub fn base_size(&self) -> Size {
563        let (obj_data, funcs) = self.get_widget_obj_funcs();
564        unsafe {
565            let ret_val = ((*funcs).base_size)(obj_data);
566            let t = ret_val;
567            let ret_val;
568            if t.host_data != ::std::ptr::null() {
569                ret_val = Size::new_from_rc(t);
570            } else {
571                ret_val = Size::new_from_owned(t);
572            }
573            ret_val
574        }
575    }
576    #[doc(hidden)]
577    pub fn set_base_size<S: SizeTrait<'a>>(&self, arg0: &S) -> &Self {
578        let (obj_arg0_1, _funcs) = arg0.get_size_obj_funcs();
579
580        let (obj_data, funcs) = self.get_widget_obj_funcs();
581        unsafe {
582            ((*funcs).set_base_size)(obj_data, obj_arg0_1);
583        }
584        self
585    }
586    #[doc(hidden)]
587    pub fn set_base_size_2(&self, basew: i32, baseh: i32) -> &Self {
588        let (obj_data, funcs) = self.get_widget_obj_funcs();
589        unsafe {
590            ((*funcs).set_base_size_2)(obj_data, basew, baseh);
591        }
592        self
593    }
594    #[doc(hidden)]
595    pub fn set_fixed_size<S: SizeTrait<'a>>(&self, arg0: &S) -> &Self {
596        let (obj_arg0_1, _funcs) = arg0.get_size_obj_funcs();
597
598        let (obj_data, funcs) = self.get_widget_obj_funcs();
599        unsafe {
600            ((*funcs).set_fixed_size)(obj_data, obj_arg0_1);
601        }
602        self
603    }
604    #[doc(hidden)]
605    pub fn set_fixed_size_2(&self, w: i32, h: i32) -> &Self {
606        let (obj_data, funcs) = self.get_widget_obj_funcs();
607        unsafe {
608            ((*funcs).set_fixed_size_2)(obj_data, w, h);
609        }
610        self
611    }
612    #[doc(hidden)]
613    pub fn set_fixed_width(&self, w: i32) -> &Self {
614        let (obj_data, funcs) = self.get_widget_obj_funcs();
615        unsafe {
616            ((*funcs).set_fixed_width)(obj_data, w);
617        }
618        self
619    }
620    #[doc(hidden)]
621    pub fn set_fixed_height(&self, h: i32) -> &Self {
622        let (obj_data, funcs) = self.get_widget_obj_funcs();
623        unsafe {
624            ((*funcs).set_fixed_height)(obj_data, h);
625        }
626        self
627    }
628    #[doc(hidden)]
629    pub fn map_to_global<P: PointTrait<'a>>(&self, arg0: &P) -> Point {
630        let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
631
632        let (obj_data, funcs) = self.get_widget_obj_funcs();
633        unsafe {
634            let ret_val = ((*funcs).map_to_global)(obj_data, obj_arg0_1);
635            let t = ret_val;
636            let ret_val;
637            if t.host_data != ::std::ptr::null() {
638                ret_val = Point::new_from_rc(t);
639            } else {
640                ret_val = Point::new_from_owned(t);
641            }
642            ret_val
643        }
644    }
645    #[doc(hidden)]
646    pub fn map_from_global<P: PointTrait<'a>>(&self, arg0: &P) -> Point {
647        let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
648
649        let (obj_data, funcs) = self.get_widget_obj_funcs();
650        unsafe {
651            let ret_val = ((*funcs).map_from_global)(obj_data, obj_arg0_1);
652            let t = ret_val;
653            let ret_val;
654            if t.host_data != ::std::ptr::null() {
655                ret_val = Point::new_from_rc(t);
656            } else {
657                ret_val = Point::new_from_owned(t);
658            }
659            ret_val
660        }
661    }
662    #[doc(hidden)]
663    pub fn map_to_parent<P: PointTrait<'a>>(&self, arg0: &P) -> Point {
664        let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
665
666        let (obj_data, funcs) = self.get_widget_obj_funcs();
667        unsafe {
668            let ret_val = ((*funcs).map_to_parent)(obj_data, obj_arg0_1);
669            let t = ret_val;
670            let ret_val;
671            if t.host_data != ::std::ptr::null() {
672                ret_val = Point::new_from_rc(t);
673            } else {
674                ret_val = Point::new_from_owned(t);
675            }
676            ret_val
677        }
678    }
679    #[doc(hidden)]
680    pub fn map_from_parent<P: PointTrait<'a>>(&self, arg0: &P) -> Point {
681        let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
682
683        let (obj_data, funcs) = self.get_widget_obj_funcs();
684        unsafe {
685            let ret_val = ((*funcs).map_from_parent)(obj_data, obj_arg0_1);
686            let t = ret_val;
687            let ret_val;
688            if t.host_data != ::std::ptr::null() {
689                ret_val = Point::new_from_rc(t);
690            } else {
691                ret_val = Point::new_from_owned(t);
692            }
693            ret_val
694        }
695    }
696    #[doc(hidden)]
697    pub fn map_to<P: PointTrait<'a>, W: WidgetTrait<'a>>(&self, arg0: &W, arg1: &P) -> Point {
698        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
699        let (obj_arg1_2, _funcs) = arg1.get_point_obj_funcs();
700
701        let (obj_data, funcs) = self.get_widget_obj_funcs();
702        unsafe {
703            let ret_val = ((*funcs).map_to)(obj_data, obj_arg0_1, obj_arg1_2);
704            let t = ret_val;
705            let ret_val;
706            if t.host_data != ::std::ptr::null() {
707                ret_val = Point::new_from_rc(t);
708            } else {
709                ret_val = Point::new_from_owned(t);
710            }
711            ret_val
712        }
713    }
714    #[doc(hidden)]
715    pub fn map_from<P: PointTrait<'a>, W: WidgetTrait<'a>>(&self, arg0: &W, arg1: &P) -> Point {
716        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
717        let (obj_arg1_2, _funcs) = arg1.get_point_obj_funcs();
718
719        let (obj_data, funcs) = self.get_widget_obj_funcs();
720        unsafe {
721            let ret_val = ((*funcs).map_from)(obj_data, obj_arg0_1, obj_arg1_2);
722            let t = ret_val;
723            let ret_val;
724            if t.host_data != ::std::ptr::null() {
725                ret_val = Point::new_from_rc(t);
726            } else {
727                ret_val = Point::new_from_owned(t);
728            }
729            ret_val
730        }
731    }
732    #[doc(hidden)]
733    pub fn window(&self) -> Option<Widget> {
734        let (obj_data, funcs) = self.get_widget_obj_funcs();
735        unsafe {
736            let ret_val = ((*funcs).window)(obj_data);
737            if ret_val.qt_data == ::std::ptr::null() {
738                return None;
739            }
740            let t = ret_val;
741            let ret_val;
742            if t.host_data != ::std::ptr::null() {
743                ret_val = Widget::new_from_rc(t);
744            } else {
745                ret_val = Widget::new_from_owned(t);
746            }
747            Some(ret_val)
748        }
749    }
750    #[doc(hidden)]
751    pub fn native_parent_widget(&self) -> Option<Widget> {
752        let (obj_data, funcs) = self.get_widget_obj_funcs();
753        unsafe {
754            let ret_val = ((*funcs).native_parent_widget)(obj_data);
755            if ret_val.qt_data == ::std::ptr::null() {
756                return None;
757            }
758            let t = ret_val;
759            let ret_val;
760            if t.host_data != ::std::ptr::null() {
761                ret_val = Widget::new_from_rc(t);
762            } else {
763                ret_val = Widget::new_from_owned(t);
764            }
765            Some(ret_val)
766        }
767    }
768    #[doc(hidden)]
769    pub fn palette(&self) -> Option<Palette> {
770        let (obj_data, funcs) = self.get_widget_obj_funcs();
771        unsafe {
772            let ret_val = ((*funcs).palette)(obj_data);
773            if ret_val.qt_data == ::std::ptr::null() {
774                return None;
775            }
776            let t = ret_val;
777            let ret_val;
778            if t.host_data != ::std::ptr::null() {
779                ret_val = Palette::new_from_rc(t);
780            } else {
781                ret_val = Palette::new_from_owned(t);
782            }
783            Some(ret_val)
784        }
785    }
786    #[doc(hidden)]
787    pub fn set_palette<P: PaletteTrait<'a>>(&self, arg0: &P) -> &Self {
788        let (obj_arg0_1, _funcs) = arg0.get_palette_obj_funcs();
789
790        let (obj_data, funcs) = self.get_widget_obj_funcs();
791        unsafe {
792            ((*funcs).set_palette)(obj_data, obj_arg0_1);
793        }
794        self
795    }
796    #[doc(hidden)]
797    pub fn set_background_role(&self, arg0: ColorRole) -> &Self {
798        let enum_arg0_1 = arg0.bits();
799
800        let (obj_data, funcs) = self.get_widget_obj_funcs();
801        unsafe {
802            ((*funcs).set_background_role)(obj_data, enum_arg0_1);
803        }
804        self
805    }
806    #[doc(hidden)]
807    pub fn background_role(&self) -> ColorRole {
808        let (obj_data, funcs) = self.get_widget_obj_funcs();
809        unsafe {
810            let ret_val = ((*funcs).background_role)(obj_data);
811            let ret_val = ColorRole::from_bits_truncate(ret_val);
812            ret_val
813        }
814    }
815    #[doc(hidden)]
816    pub fn set_foreground_role(&self, arg0: ColorRole) -> &Self {
817        let enum_arg0_1 = arg0.bits();
818
819        let (obj_data, funcs) = self.get_widget_obj_funcs();
820        unsafe {
821            ((*funcs).set_foreground_role)(obj_data, enum_arg0_1);
822        }
823        self
824    }
825    #[doc(hidden)]
826    pub fn foreground_role(&self) -> ColorRole {
827        let (obj_data, funcs) = self.get_widget_obj_funcs();
828        unsafe {
829            let ret_val = ((*funcs).foreground_role)(obj_data);
830            let ret_val = ColorRole::from_bits_truncate(ret_val);
831            ret_val
832        }
833    }
834    #[doc(hidden)]
835    pub fn font(&self) -> Option<Font> {
836        let (obj_data, funcs) = self.get_widget_obj_funcs();
837        unsafe {
838            let ret_val = ((*funcs).font)(obj_data);
839            if ret_val.qt_data == ::std::ptr::null() {
840                return None;
841            }
842            let t = ret_val;
843            let ret_val;
844            if t.host_data != ::std::ptr::null() {
845                ret_val = Font::new_from_rc(t);
846            } else {
847                ret_val = Font::new_from_owned(t);
848            }
849            Some(ret_val)
850        }
851    }
852    #[doc(hidden)]
853    pub fn set_font<F: FontTrait<'a>>(&self, arg0: &F) -> &Self {
854        let (obj_arg0_1, _funcs) = arg0.get_font_obj_funcs();
855
856        let (obj_data, funcs) = self.get_widget_obj_funcs();
857        unsafe {
858            ((*funcs).set_font)(obj_data, obj_arg0_1);
859        }
860        self
861    }
862    #[doc(hidden)]
863    pub fn cursor(&self) -> Cursor {
864        let (obj_data, funcs) = self.get_widget_obj_funcs();
865        unsafe {
866            let ret_val = ((*funcs).cursor)(obj_data);
867            let t = ret_val;
868            let ret_val;
869            if t.host_data != ::std::ptr::null() {
870                ret_val = Cursor::new_from_rc(t);
871            } else {
872                ret_val = Cursor::new_from_owned(t);
873            }
874            ret_val
875        }
876    }
877    #[doc(hidden)]
878    pub fn set_cursor<C: CursorTrait<'a>>(&self, arg0: &C) -> &Self {
879        let (obj_arg0_1, _funcs) = arg0.get_cursor_obj_funcs();
880
881        let (obj_data, funcs) = self.get_widget_obj_funcs();
882        unsafe {
883            ((*funcs).set_cursor)(obj_data, obj_arg0_1);
884        }
885        self
886    }
887    #[doc(hidden)]
888    pub fn unset_cursor(&self) -> &Self {
889        let (obj_data, funcs) = self.get_widget_obj_funcs();
890        unsafe {
891            ((*funcs).unset_cursor)(obj_data);
892        }
893        self
894    }
895    #[doc(hidden)]
896    pub fn set_mouse_tracking(&self, enable: bool) -> &Self {
897        let (obj_data, funcs) = self.get_widget_obj_funcs();
898        unsafe {
899            ((*funcs).set_mouse_tracking)(obj_data, enable);
900        }
901        self
902    }
903    #[doc(hidden)]
904    pub fn has_mouse_tracking(&self) -> bool {
905        let (obj_data, funcs) = self.get_widget_obj_funcs();
906        unsafe {
907            let ret_val = ((*funcs).has_mouse_tracking)(obj_data);
908            ret_val
909        }
910    }
911    #[doc(hidden)]
912    pub fn under_mouse(&self) -> bool {
913        let (obj_data, funcs) = self.get_widget_obj_funcs();
914        unsafe {
915            let ret_val = ((*funcs).under_mouse)(obj_data);
916            ret_val
917        }
918    }
919    #[doc(hidden)]
920    pub fn set_tablet_tracking(&self, enable: bool) -> &Self {
921        let (obj_data, funcs) = self.get_widget_obj_funcs();
922        unsafe {
923            ((*funcs).set_tablet_tracking)(obj_data, enable);
924        }
925        self
926    }
927    #[doc(hidden)]
928    pub fn has_tablet_tracking(&self) -> bool {
929        let (obj_data, funcs) = self.get_widget_obj_funcs();
930        unsafe {
931            let ret_val = ((*funcs).has_tablet_tracking)(obj_data);
932            ret_val
933        }
934    }
935    #[doc(hidden)]
936    pub fn set_mask<B: BitmapTrait<'a>>(&self, arg0: &B) -> &Self {
937        let (obj_arg0_1, _funcs) = arg0.get_bitmap_obj_funcs();
938
939        let (obj_data, funcs) = self.get_widget_obj_funcs();
940        unsafe {
941            ((*funcs).set_mask)(obj_data, obj_arg0_1);
942        }
943        self
944    }
945    #[doc(hidden)]
946    pub fn set_mask_2<R: RegionTrait<'a>>(&self, arg0: &R) -> &Self {
947        let (obj_arg0_1, _funcs) = arg0.get_region_obj_funcs();
948
949        let (obj_data, funcs) = self.get_widget_obj_funcs();
950        unsafe {
951            ((*funcs).set_mask_2)(obj_data, obj_arg0_1);
952        }
953        self
954    }
955    #[doc(hidden)]
956    pub fn mask(&self) -> Region {
957        let (obj_data, funcs) = self.get_widget_obj_funcs();
958        unsafe {
959            let ret_val = ((*funcs).mask)(obj_data);
960            let t = ret_val;
961            let ret_val;
962            if t.host_data != ::std::ptr::null() {
963                ret_val = Region::new_from_rc(t);
964            } else {
965                ret_val = Region::new_from_owned(t);
966            }
967            ret_val
968        }
969    }
970    #[doc(hidden)]
971    pub fn clear_mask(&self) -> &Self {
972        let (obj_data, funcs) = self.get_widget_obj_funcs();
973        unsafe {
974            ((*funcs).clear_mask)(obj_data);
975        }
976        self
977    }
978    #[doc(hidden)]
979    pub fn render<P: PaintDeviceTrait<'a>, Q: PointTrait<'a>, R: RegionTrait<'a>>(
980        &self,
981        target: &P,
982        target_offset: &Q,
983        source_region: &R,
984        render_flags: RenderFlags,
985    ) -> &Self {
986        let (obj_target_1, _funcs) = target.get_paint_device_obj_funcs();
987        let (obj_target_offset_2, _funcs) = target_offset.get_point_obj_funcs();
988        let (obj_source_region_3, _funcs) = source_region.get_region_obj_funcs();
989        let enum_render_flags_4 = render_flags.bits();
990
991        let (obj_data, funcs) = self.get_widget_obj_funcs();
992        unsafe {
993            ((*funcs).render)(
994                obj_data,
995                obj_target_1,
996                obj_target_offset_2,
997                obj_source_region_3,
998                enum_render_flags_4,
999            );
1000        }
1001        self
1002    }
1003    #[doc(hidden)]
1004    pub fn render_2<P: PainterTrait<'a>, Q: PointTrait<'a>, R: RegionTrait<'a>>(
1005        &self,
1006        painter: &P,
1007        target_offset: &Q,
1008        source_region: &R,
1009        render_flags: RenderFlags,
1010    ) -> &Self {
1011        let (obj_painter_1, _funcs) = painter.get_painter_obj_funcs();
1012        let (obj_target_offset_2, _funcs) = target_offset.get_point_obj_funcs();
1013        let (obj_source_region_3, _funcs) = source_region.get_region_obj_funcs();
1014        let enum_render_flags_4 = render_flags.bits();
1015
1016        let (obj_data, funcs) = self.get_widget_obj_funcs();
1017        unsafe {
1018            ((*funcs).render_2)(
1019                obj_data,
1020                obj_painter_1,
1021                obj_target_offset_2,
1022                obj_source_region_3,
1023                enum_render_flags_4,
1024            );
1025        }
1026        self
1027    }
1028    #[doc(hidden)]
1029    pub fn grab<R: RectTrait<'a>>(&self, rectangle: &R) -> Pixmap {
1030        let (obj_rectangle_1, _funcs) = rectangle.get_rect_obj_funcs();
1031
1032        let (obj_data, funcs) = self.get_widget_obj_funcs();
1033        unsafe {
1034            let ret_val = ((*funcs).grab)(obj_data, obj_rectangle_1);
1035            let t = ret_val;
1036            let ret_val;
1037            if t.host_data != ::std::ptr::null() {
1038                ret_val = Pixmap::new_from_rc(t);
1039            } else {
1040                ret_val = Pixmap::new_from_owned(t);
1041            }
1042            ret_val
1043        }
1044    }
1045    #[doc(hidden)]
1046    pub fn grab_gesture(&self, gtype: GestureType, flags: GestureFlags) -> &Self {
1047        let enum_gtype_1 = gtype.bits();
1048        let enum_flags_2 = flags.bits();
1049
1050        let (obj_data, funcs) = self.get_widget_obj_funcs();
1051        unsafe {
1052            ((*funcs).grab_gesture)(obj_data, enum_gtype_1, enum_flags_2);
1053        }
1054        self
1055    }
1056    #[doc(hidden)]
1057    pub fn ungrab_gesture(&self, gtype: GestureType) -> &Self {
1058        let enum_gtype_1 = gtype.bits();
1059
1060        let (obj_data, funcs) = self.get_widget_obj_funcs();
1061        unsafe {
1062            ((*funcs).ungrab_gesture)(obj_data, enum_gtype_1);
1063        }
1064        self
1065    }
1066    #[doc(hidden)]
1067    pub fn set_window_title(&self, arg0: &str) -> &Self {
1068        let str_in_arg0_1 = CString::new(arg0).unwrap();
1069
1070        let (obj_data, funcs) = self.get_widget_obj_funcs();
1071        unsafe {
1072            ((*funcs).set_window_title)(obj_data, str_in_arg0_1.as_ptr());
1073        }
1074        self
1075    }
1076    #[doc(hidden)]
1077    pub fn set_style_sheet(&self, style_sheet: &str) -> &Self {
1078        let str_in_style_sheet_1 = CString::new(style_sheet).unwrap();
1079
1080        let (obj_data, funcs) = self.get_widget_obj_funcs();
1081        unsafe {
1082            ((*funcs).set_style_sheet)(obj_data, str_in_style_sheet_1.as_ptr());
1083        }
1084        self
1085    }
1086    #[doc(hidden)]
1087    pub fn style_sheet(&self) -> String {
1088        let (obj_data, funcs) = self.get_widget_obj_funcs();
1089        unsafe {
1090            let ret_val = ((*funcs).style_sheet)(obj_data);
1091            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1092            ret_val
1093        }
1094    }
1095    #[doc(hidden)]
1096    pub fn window_title(&self) -> String {
1097        let (obj_data, funcs) = self.get_widget_obj_funcs();
1098        unsafe {
1099            let ret_val = ((*funcs).window_title)(obj_data);
1100            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1101            ret_val
1102        }
1103    }
1104    #[doc(hidden)]
1105    pub fn set_window_icon<I: IconTrait<'a>>(&self, icon: &I) -> &Self {
1106        let (obj_icon_1, _funcs) = icon.get_icon_obj_funcs();
1107
1108        let (obj_data, funcs) = self.get_widget_obj_funcs();
1109        unsafe {
1110            ((*funcs).set_window_icon)(obj_data, obj_icon_1);
1111        }
1112        self
1113    }
1114    #[doc(hidden)]
1115    pub fn window_icon(&self) -> Icon {
1116        let (obj_data, funcs) = self.get_widget_obj_funcs();
1117        unsafe {
1118            let ret_val = ((*funcs).window_icon)(obj_data);
1119            let t = ret_val;
1120            let ret_val;
1121            if t.host_data != ::std::ptr::null() {
1122                ret_val = Icon::new_from_rc(t);
1123            } else {
1124                ret_val = Icon::new_from_owned(t);
1125            }
1126            ret_val
1127        }
1128    }
1129    #[doc(hidden)]
1130    pub fn set_window_icon_text(&self, arg0: &str) -> &Self {
1131        let str_in_arg0_1 = CString::new(arg0).unwrap();
1132
1133        let (obj_data, funcs) = self.get_widget_obj_funcs();
1134        unsafe {
1135            ((*funcs).set_window_icon_text)(obj_data, str_in_arg0_1.as_ptr());
1136        }
1137        self
1138    }
1139    #[doc(hidden)]
1140    pub fn window_icon_text(&self) -> String {
1141        let (obj_data, funcs) = self.get_widget_obj_funcs();
1142        unsafe {
1143            let ret_val = ((*funcs).window_icon_text)(obj_data);
1144            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1145            ret_val
1146        }
1147    }
1148    #[doc(hidden)]
1149    pub fn set_window_role(&self, arg0: &str) -> &Self {
1150        let str_in_arg0_1 = CString::new(arg0).unwrap();
1151
1152        let (obj_data, funcs) = self.get_widget_obj_funcs();
1153        unsafe {
1154            ((*funcs).set_window_role)(obj_data, str_in_arg0_1.as_ptr());
1155        }
1156        self
1157    }
1158    #[doc(hidden)]
1159    pub fn window_role(&self) -> String {
1160        let (obj_data, funcs) = self.get_widget_obj_funcs();
1161        unsafe {
1162            let ret_val = ((*funcs).window_role)(obj_data);
1163            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1164            ret_val
1165        }
1166    }
1167    #[doc(hidden)]
1168    pub fn set_window_file_path(&self, file_path: &str) -> &Self {
1169        let str_in_file_path_1 = CString::new(file_path).unwrap();
1170
1171        let (obj_data, funcs) = self.get_widget_obj_funcs();
1172        unsafe {
1173            ((*funcs).set_window_file_path)(obj_data, str_in_file_path_1.as_ptr());
1174        }
1175        self
1176    }
1177    #[doc(hidden)]
1178    pub fn window_file_path(&self) -> String {
1179        let (obj_data, funcs) = self.get_widget_obj_funcs();
1180        unsafe {
1181            let ret_val = ((*funcs).window_file_path)(obj_data);
1182            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1183            ret_val
1184        }
1185    }
1186    #[doc(hidden)]
1187    pub fn set_window_opacity(&self, level: f32) -> &Self {
1188        let (obj_data, funcs) = self.get_widget_obj_funcs();
1189        unsafe {
1190            ((*funcs).set_window_opacity)(obj_data, level);
1191        }
1192        self
1193    }
1194    #[doc(hidden)]
1195    pub fn window_opacity(&self) -> f32 {
1196        let (obj_data, funcs) = self.get_widget_obj_funcs();
1197        unsafe {
1198            let ret_val = ((*funcs).window_opacity)(obj_data);
1199            ret_val
1200        }
1201    }
1202    #[doc(hidden)]
1203    pub fn is_window_modified(&self) -> bool {
1204        let (obj_data, funcs) = self.get_widget_obj_funcs();
1205        unsafe {
1206            let ret_val = ((*funcs).is_window_modified)(obj_data);
1207            ret_val
1208        }
1209    }
1210    #[doc(hidden)]
1211    pub fn set_tool_tip(&self, arg0: &str) -> &Self {
1212        let str_in_arg0_1 = CString::new(arg0).unwrap();
1213
1214        let (obj_data, funcs) = self.get_widget_obj_funcs();
1215        unsafe {
1216            ((*funcs).set_tool_tip)(obj_data, str_in_arg0_1.as_ptr());
1217        }
1218        self
1219    }
1220    #[doc(hidden)]
1221    pub fn tool_tip(&self) -> String {
1222        let (obj_data, funcs) = self.get_widget_obj_funcs();
1223        unsafe {
1224            let ret_val = ((*funcs).tool_tip)(obj_data);
1225            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1226            ret_val
1227        }
1228    }
1229    #[doc(hidden)]
1230    pub fn set_tool_tip_duration(&self, msec: i32) -> &Self {
1231        let (obj_data, funcs) = self.get_widget_obj_funcs();
1232        unsafe {
1233            ((*funcs).set_tool_tip_duration)(obj_data, msec);
1234        }
1235        self
1236    }
1237    #[doc(hidden)]
1238    pub fn tool_tip_duration(&self) -> i32 {
1239        let (obj_data, funcs) = self.get_widget_obj_funcs();
1240        unsafe {
1241            let ret_val = ((*funcs).tool_tip_duration)(obj_data);
1242            ret_val
1243        }
1244    }
1245    #[doc(hidden)]
1246    pub fn set_status_tip(&self, arg0: &str) -> &Self {
1247        let str_in_arg0_1 = CString::new(arg0).unwrap();
1248
1249        let (obj_data, funcs) = self.get_widget_obj_funcs();
1250        unsafe {
1251            ((*funcs).set_status_tip)(obj_data, str_in_arg0_1.as_ptr());
1252        }
1253        self
1254    }
1255    #[doc(hidden)]
1256    pub fn status_tip(&self) -> String {
1257        let (obj_data, funcs) = self.get_widget_obj_funcs();
1258        unsafe {
1259            let ret_val = ((*funcs).status_tip)(obj_data);
1260            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1261            ret_val
1262        }
1263    }
1264    #[doc(hidden)]
1265    pub fn set_whats_this(&self, arg0: &str) -> &Self {
1266        let str_in_arg0_1 = CString::new(arg0).unwrap();
1267
1268        let (obj_data, funcs) = self.get_widget_obj_funcs();
1269        unsafe {
1270            ((*funcs).set_whats_this)(obj_data, str_in_arg0_1.as_ptr());
1271        }
1272        self
1273    }
1274    #[doc(hidden)]
1275    pub fn whats_this(&self) -> String {
1276        let (obj_data, funcs) = self.get_widget_obj_funcs();
1277        unsafe {
1278            let ret_val = ((*funcs).whats_this)(obj_data);
1279            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1280            ret_val
1281        }
1282    }
1283    #[doc(hidden)]
1284    pub fn accessible_name(&self) -> String {
1285        let (obj_data, funcs) = self.get_widget_obj_funcs();
1286        unsafe {
1287            let ret_val = ((*funcs).accessible_name)(obj_data);
1288            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1289            ret_val
1290        }
1291    }
1292    #[doc(hidden)]
1293    pub fn set_accessible_name(&self, name: &str) -> &Self {
1294        let str_in_name_1 = CString::new(name).unwrap();
1295
1296        let (obj_data, funcs) = self.get_widget_obj_funcs();
1297        unsafe {
1298            ((*funcs).set_accessible_name)(obj_data, str_in_name_1.as_ptr());
1299        }
1300        self
1301    }
1302    #[doc(hidden)]
1303    pub fn accessible_description(&self) -> String {
1304        let (obj_data, funcs) = self.get_widget_obj_funcs();
1305        unsafe {
1306            let ret_val = ((*funcs).accessible_description)(obj_data);
1307            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
1308            ret_val
1309        }
1310    }
1311    #[doc(hidden)]
1312    pub fn set_accessible_description(&self, description: &str) -> &Self {
1313        let str_in_description_1 = CString::new(description).unwrap();
1314
1315        let (obj_data, funcs) = self.get_widget_obj_funcs();
1316        unsafe {
1317            ((*funcs).set_accessible_description)(obj_data, str_in_description_1.as_ptr());
1318        }
1319        self
1320    }
1321    #[doc(hidden)]
1322    pub fn set_layout_direction(&self, direction: LayoutDirection) -> &Self {
1323        let enum_direction_1 = direction as u32;
1324
1325        let (obj_data, funcs) = self.get_widget_obj_funcs();
1326        unsafe {
1327            ((*funcs).set_layout_direction)(obj_data, enum_direction_1);
1328        }
1329        self
1330    }
1331    #[doc(hidden)]
1332    pub fn layout_direction(&self) -> LayoutDirection {
1333        let (obj_data, funcs) = self.get_widget_obj_funcs();
1334        unsafe {
1335            let ret_val = ((*funcs).layout_direction)(obj_data);
1336            let ret_val = { transmute::<u32, LayoutDirection>(ret_val) };
1337            ret_val
1338        }
1339    }
1340    #[doc(hidden)]
1341    pub fn unset_layout_direction(&self) -> &Self {
1342        let (obj_data, funcs) = self.get_widget_obj_funcs();
1343        unsafe {
1344            ((*funcs).unset_layout_direction)(obj_data);
1345        }
1346        self
1347    }
1348    #[doc(hidden)]
1349    pub fn is_right_to_left(&self) -> bool {
1350        let (obj_data, funcs) = self.get_widget_obj_funcs();
1351        unsafe {
1352            let ret_val = ((*funcs).is_right_to_left)(obj_data);
1353            ret_val
1354        }
1355    }
1356    #[doc(hidden)]
1357    pub fn is_left_to_right(&self) -> bool {
1358        let (obj_data, funcs) = self.get_widget_obj_funcs();
1359        unsafe {
1360            let ret_val = ((*funcs).is_left_to_right)(obj_data);
1361            ret_val
1362        }
1363    }
1364    #[doc(hidden)]
1365    pub fn set_focus(&self) -> &Self {
1366        let (obj_data, funcs) = self.get_widget_obj_funcs();
1367        unsafe {
1368            ((*funcs).set_focus)(obj_data);
1369        }
1370        self
1371    }
1372    #[doc(hidden)]
1373    pub fn is_active_window(&self) -> bool {
1374        let (obj_data, funcs) = self.get_widget_obj_funcs();
1375        unsafe {
1376            let ret_val = ((*funcs).is_active_window)(obj_data);
1377            ret_val
1378        }
1379    }
1380    #[doc(hidden)]
1381    pub fn activate_window(&self) -> &Self {
1382        let (obj_data, funcs) = self.get_widget_obj_funcs();
1383        unsafe {
1384            ((*funcs).activate_window)(obj_data);
1385        }
1386        self
1387    }
1388    #[doc(hidden)]
1389    pub fn clear_focus(&self) -> &Self {
1390        let (obj_data, funcs) = self.get_widget_obj_funcs();
1391        unsafe {
1392            ((*funcs).clear_focus)(obj_data);
1393        }
1394        self
1395    }
1396    #[doc(hidden)]
1397    pub fn set_focus_2(&self, reason: FocusReason) -> &Self {
1398        let enum_reason_1 = reason as u32;
1399
1400        let (obj_data, funcs) = self.get_widget_obj_funcs();
1401        unsafe {
1402            ((*funcs).set_focus_2)(obj_data, enum_reason_1);
1403        }
1404        self
1405    }
1406    #[doc(hidden)]
1407    pub fn focus_policy(&self) -> FocusPolicy {
1408        let (obj_data, funcs) = self.get_widget_obj_funcs();
1409        unsafe {
1410            let ret_val = ((*funcs).focus_policy)(obj_data);
1411            let ret_val = { transmute::<u32, FocusPolicy>(ret_val) };
1412            ret_val
1413        }
1414    }
1415    #[doc(hidden)]
1416    pub fn set_focus_policy(&self, policy: FocusPolicy) -> &Self {
1417        let enum_policy_1 = policy as u32;
1418
1419        let (obj_data, funcs) = self.get_widget_obj_funcs();
1420        unsafe {
1421            ((*funcs).set_focus_policy)(obj_data, enum_policy_1);
1422        }
1423        self
1424    }
1425    #[doc(hidden)]
1426    pub fn has_focus(&self) -> bool {
1427        let (obj_data, funcs) = self.get_widget_obj_funcs();
1428        unsafe {
1429            let ret_val = ((*funcs).has_focus)(obj_data);
1430            ret_val
1431        }
1432    }
1433    #[doc(hidden)]
1434    pub fn set_tab_order<W: WidgetTrait<'a>>(arg0: &W, arg1: &W) {
1435        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
1436        let (obj_arg1_2, _funcs) = arg1.get_widget_obj_funcs();
1437
1438        let (obj_data, funcs) = unsafe {
1439            (
1440                ::std::ptr::null(),
1441                (*((*rute_ffi_get()).get_widget)(::std::ptr::null()).all_funcs).widget_funcs,
1442            )
1443        };
1444        unsafe {
1445            ((*funcs).set_tab_order)(obj_data, obj_arg0_1, obj_arg1_2);
1446        }
1447    }
1448    #[doc(hidden)]
1449    pub fn set_focus_proxy<W: WidgetTrait<'a>>(&self, arg0: &W) -> &Self {
1450        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
1451
1452        let (obj_data, funcs) = self.get_widget_obj_funcs();
1453        unsafe {
1454            ((*funcs).set_focus_proxy)(obj_data, obj_arg0_1);
1455        }
1456        self
1457    }
1458    #[doc(hidden)]
1459    pub fn focus_proxy(&self) -> Option<Widget> {
1460        let (obj_data, funcs) = self.get_widget_obj_funcs();
1461        unsafe {
1462            let ret_val = ((*funcs).focus_proxy)(obj_data);
1463            if ret_val.qt_data == ::std::ptr::null() {
1464                return None;
1465            }
1466            let t = ret_val;
1467            let ret_val;
1468            if t.host_data != ::std::ptr::null() {
1469                ret_val = Widget::new_from_rc(t);
1470            } else {
1471                ret_val = Widget::new_from_owned(t);
1472            }
1473            Some(ret_val)
1474        }
1475    }
1476    #[doc(hidden)]
1477    pub fn context_menu_policy(&self) -> ContextMenuPolicy {
1478        let (obj_data, funcs) = self.get_widget_obj_funcs();
1479        unsafe {
1480            let ret_val = ((*funcs).context_menu_policy)(obj_data);
1481            let ret_val = { transmute::<u32, ContextMenuPolicy>(ret_val) };
1482            ret_val
1483        }
1484    }
1485    #[doc(hidden)]
1486    pub fn set_context_menu_policy(&self, policy: ContextMenuPolicy) -> &Self {
1487        let enum_policy_1 = policy as u32;
1488
1489        let (obj_data, funcs) = self.get_widget_obj_funcs();
1490        unsafe {
1491            ((*funcs).set_context_menu_policy)(obj_data, enum_policy_1);
1492        }
1493        self
1494    }
1495    #[doc(hidden)]
1496    pub fn grab_mouse(&self) -> &Self {
1497        let (obj_data, funcs) = self.get_widget_obj_funcs();
1498        unsafe {
1499            ((*funcs).grab_mouse)(obj_data);
1500        }
1501        self
1502    }
1503    #[doc(hidden)]
1504    pub fn grab_mouse_2<C: CursorTrait<'a>>(&self, arg0: &C) -> &Self {
1505        let (obj_arg0_1, _funcs) = arg0.get_cursor_obj_funcs();
1506
1507        let (obj_data, funcs) = self.get_widget_obj_funcs();
1508        unsafe {
1509            ((*funcs).grab_mouse_2)(obj_data, obj_arg0_1);
1510        }
1511        self
1512    }
1513    #[doc(hidden)]
1514    pub fn release_mouse(&self) -> &Self {
1515        let (obj_data, funcs) = self.get_widget_obj_funcs();
1516        unsafe {
1517            ((*funcs).release_mouse)(obj_data);
1518        }
1519        self
1520    }
1521    #[doc(hidden)]
1522    pub fn grab_keyboard(&self) -> &Self {
1523        let (obj_data, funcs) = self.get_widget_obj_funcs();
1524        unsafe {
1525            ((*funcs).grab_keyboard)(obj_data);
1526        }
1527        self
1528    }
1529    #[doc(hidden)]
1530    pub fn release_keyboard(&self) -> &Self {
1531        let (obj_data, funcs) = self.get_widget_obj_funcs();
1532        unsafe {
1533            ((*funcs).release_keyboard)(obj_data);
1534        }
1535        self
1536    }
1537    #[doc(hidden)]
1538    pub fn grab_shortcut<K: KeySequenceTrait<'a>>(&self, key: &K, context: ShortcutContext) -> i32 {
1539        let (obj_key_1, _funcs) = key.get_key_sequence_obj_funcs();
1540        let enum_context_2 = context as u32;
1541
1542        let (obj_data, funcs) = self.get_widget_obj_funcs();
1543        unsafe {
1544            let ret_val = ((*funcs).grab_shortcut)(obj_data, obj_key_1, enum_context_2);
1545            ret_val
1546        }
1547    }
1548    #[doc(hidden)]
1549    pub fn release_shortcut(&self, id: i32) -> &Self {
1550        let (obj_data, funcs) = self.get_widget_obj_funcs();
1551        unsafe {
1552            ((*funcs).release_shortcut)(obj_data, id);
1553        }
1554        self
1555    }
1556    #[doc(hidden)]
1557    pub fn set_shortcut_enabled(&self, id: i32, enable: bool) -> &Self {
1558        let (obj_data, funcs) = self.get_widget_obj_funcs();
1559        unsafe {
1560            ((*funcs).set_shortcut_enabled)(obj_data, id, enable);
1561        }
1562        self
1563    }
1564    #[doc(hidden)]
1565    pub fn set_shortcut_auto_repeat(&self, id: i32, enable: bool) -> &Self {
1566        let (obj_data, funcs) = self.get_widget_obj_funcs();
1567        unsafe {
1568            ((*funcs).set_shortcut_auto_repeat)(obj_data, id, enable);
1569        }
1570        self
1571    }
1572    #[doc(hidden)]
1573    pub fn mouse_grabber() -> Option<Widget<'a>> {
1574        let (obj_data, funcs) = unsafe {
1575            (
1576                ::std::ptr::null(),
1577                (*((*rute_ffi_get()).get_widget)(::std::ptr::null()).all_funcs).widget_funcs,
1578            )
1579        };
1580        unsafe {
1581            let ret_val = ((*funcs).mouse_grabber)(obj_data);
1582            if ret_val.qt_data == ::std::ptr::null() {
1583                return None;
1584            }
1585            let t = ret_val;
1586            let ret_val;
1587            if t.host_data != ::std::ptr::null() {
1588                ret_val = Widget::new_from_rc(t);
1589            } else {
1590                ret_val = Widget::new_from_owned(t);
1591            }
1592            Some(ret_val)
1593        }
1594    }
1595    #[doc(hidden)]
1596    pub fn keyboard_grabber() -> Option<Widget<'a>> {
1597        let (obj_data, funcs) = unsafe {
1598            (
1599                ::std::ptr::null(),
1600                (*((*rute_ffi_get()).get_widget)(::std::ptr::null()).all_funcs).widget_funcs,
1601            )
1602        };
1603        unsafe {
1604            let ret_val = ((*funcs).keyboard_grabber)(obj_data);
1605            if ret_val.qt_data == ::std::ptr::null() {
1606                return None;
1607            }
1608            let t = ret_val;
1609            let ret_val;
1610            if t.host_data != ::std::ptr::null() {
1611                ret_val = Widget::new_from_rc(t);
1612            } else {
1613                ret_val = Widget::new_from_owned(t);
1614            }
1615            Some(ret_val)
1616        }
1617    }
1618    #[doc(hidden)]
1619    pub fn updates_enabled(&self) -> bool {
1620        let (obj_data, funcs) = self.get_widget_obj_funcs();
1621        unsafe {
1622            let ret_val = ((*funcs).updates_enabled)(obj_data);
1623            ret_val
1624        }
1625    }
1626    #[doc(hidden)]
1627    pub fn set_updates_enabled(&self, enable: bool) -> &Self {
1628        let (obj_data, funcs) = self.get_widget_obj_funcs();
1629        unsafe {
1630            ((*funcs).set_updates_enabled)(obj_data, enable);
1631        }
1632        self
1633    }
1634    #[doc(hidden)]
1635    pub fn update(&self) -> &Self {
1636        let (obj_data, funcs) = self.get_widget_obj_funcs();
1637        unsafe {
1638            ((*funcs).update)(obj_data);
1639        }
1640        self
1641    }
1642    #[doc(hidden)]
1643    pub fn repaint(&self) -> &Self {
1644        let (obj_data, funcs) = self.get_widget_obj_funcs();
1645        unsafe {
1646            ((*funcs).repaint)(obj_data);
1647        }
1648        self
1649    }
1650    #[doc(hidden)]
1651    pub fn update_2(&self, x: i32, y: i32, w: i32, h: i32) -> &Self {
1652        let (obj_data, funcs) = self.get_widget_obj_funcs();
1653        unsafe {
1654            ((*funcs).update_2)(obj_data, x, y, w, h);
1655        }
1656        self
1657    }
1658    #[doc(hidden)]
1659    pub fn update_3<R: RectTrait<'a>>(&self, arg0: &R) -> &Self {
1660        let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
1661
1662        let (obj_data, funcs) = self.get_widget_obj_funcs();
1663        unsafe {
1664            ((*funcs).update_3)(obj_data, obj_arg0_1);
1665        }
1666        self
1667    }
1668    #[doc(hidden)]
1669    pub fn update_4<R: RegionTrait<'a>>(&self, arg0: &R) -> &Self {
1670        let (obj_arg0_1, _funcs) = arg0.get_region_obj_funcs();
1671
1672        let (obj_data, funcs) = self.get_widget_obj_funcs();
1673        unsafe {
1674            ((*funcs).update_4)(obj_data, obj_arg0_1);
1675        }
1676        self
1677    }
1678    #[doc(hidden)]
1679    pub fn repaint_2(&self, x: i32, y: i32, w: i32, h: i32) -> &Self {
1680        let (obj_data, funcs) = self.get_widget_obj_funcs();
1681        unsafe {
1682            ((*funcs).repaint_2)(obj_data, x, y, w, h);
1683        }
1684        self
1685    }
1686    #[doc(hidden)]
1687    pub fn repaint_3<R: RectTrait<'a>>(&self, arg0: &R) -> &Self {
1688        let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
1689
1690        let (obj_data, funcs) = self.get_widget_obj_funcs();
1691        unsafe {
1692            ((*funcs).repaint_3)(obj_data, obj_arg0_1);
1693        }
1694        self
1695    }
1696    #[doc(hidden)]
1697    pub fn repaint_4<R: RegionTrait<'a>>(&self, arg0: &R) -> &Self {
1698        let (obj_arg0_1, _funcs) = arg0.get_region_obj_funcs();
1699
1700        let (obj_data, funcs) = self.get_widget_obj_funcs();
1701        unsafe {
1702            ((*funcs).repaint_4)(obj_data, obj_arg0_1);
1703        }
1704        self
1705    }
1706    #[doc(hidden)]
1707    pub fn set_hidden(&self, hidden: bool) -> &Self {
1708        let (obj_data, funcs) = self.get_widget_obj_funcs();
1709        unsafe {
1710            ((*funcs).set_hidden)(obj_data, hidden);
1711        }
1712        self
1713    }
1714    #[doc(hidden)]
1715    pub fn show(&self) -> &Self {
1716        let (obj_data, funcs) = self.get_widget_obj_funcs();
1717        unsafe {
1718            ((*funcs).show)(obj_data);
1719        }
1720        self
1721    }
1722    #[doc(hidden)]
1723    pub fn hide(&self) -> &Self {
1724        let (obj_data, funcs) = self.get_widget_obj_funcs();
1725        unsafe {
1726            ((*funcs).hide)(obj_data);
1727        }
1728        self
1729    }
1730    #[doc(hidden)]
1731    pub fn show_minimized(&self) -> &Self {
1732        let (obj_data, funcs) = self.get_widget_obj_funcs();
1733        unsafe {
1734            ((*funcs).show_minimized)(obj_data);
1735        }
1736        self
1737    }
1738    #[doc(hidden)]
1739    pub fn show_maximized(&self) -> &Self {
1740        let (obj_data, funcs) = self.get_widget_obj_funcs();
1741        unsafe {
1742            ((*funcs).show_maximized)(obj_data);
1743        }
1744        self
1745    }
1746    #[doc(hidden)]
1747    pub fn show_full_screen(&self) -> &Self {
1748        let (obj_data, funcs) = self.get_widget_obj_funcs();
1749        unsafe {
1750            ((*funcs).show_full_screen)(obj_data);
1751        }
1752        self
1753    }
1754    #[doc(hidden)]
1755    pub fn show_normal(&self) -> &Self {
1756        let (obj_data, funcs) = self.get_widget_obj_funcs();
1757        unsafe {
1758            ((*funcs).show_normal)(obj_data);
1759        }
1760        self
1761    }
1762    #[doc(hidden)]
1763    pub fn close(&self) -> bool {
1764        let (obj_data, funcs) = self.get_widget_obj_funcs();
1765        unsafe {
1766            let ret_val = ((*funcs).close)(obj_data);
1767            ret_val
1768        }
1769    }
1770    #[doc(hidden)]
1771    pub fn raise(&self) -> &Self {
1772        let (obj_data, funcs) = self.get_widget_obj_funcs();
1773        unsafe {
1774            ((*funcs).raise)(obj_data);
1775        }
1776        self
1777    }
1778    #[doc(hidden)]
1779    pub fn lower(&self) -> &Self {
1780        let (obj_data, funcs) = self.get_widget_obj_funcs();
1781        unsafe {
1782            ((*funcs).lower)(obj_data);
1783        }
1784        self
1785    }
1786    #[doc(hidden)]
1787    pub fn stack_under<W: WidgetTrait<'a>>(&self, arg0: &W) -> &Self {
1788        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
1789
1790        let (obj_data, funcs) = self.get_widget_obj_funcs();
1791        unsafe {
1792            ((*funcs).stack_under)(obj_data, obj_arg0_1);
1793        }
1794        self
1795    }
1796    #[doc(hidden)]
1797    pub fn move_widget(&self, x: i32, y: i32) -> &Self {
1798        let (obj_data, funcs) = self.get_widget_obj_funcs();
1799        unsafe {
1800            ((*funcs).move_widget)(obj_data, x, y);
1801        }
1802        self
1803    }
1804    #[doc(hidden)]
1805    pub fn move_2<P: PointTrait<'a>>(&self, arg0: &P) -> &Self {
1806        let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
1807
1808        let (obj_data, funcs) = self.get_widget_obj_funcs();
1809        unsafe {
1810            ((*funcs).move_2)(obj_data, obj_arg0_1);
1811        }
1812        self
1813    }
1814    #[doc(hidden)]
1815    pub fn resize(&self, w: i32, h: i32) -> &Self {
1816        let (obj_data, funcs) = self.get_widget_obj_funcs();
1817        unsafe {
1818            ((*funcs).resize)(obj_data, w, h);
1819        }
1820        self
1821    }
1822    #[doc(hidden)]
1823    pub fn resize_2<S: SizeTrait<'a>>(&self, arg0: &S) -> &Self {
1824        let (obj_arg0_1, _funcs) = arg0.get_size_obj_funcs();
1825
1826        let (obj_data, funcs) = self.get_widget_obj_funcs();
1827        unsafe {
1828            ((*funcs).resize_2)(obj_data, obj_arg0_1);
1829        }
1830        self
1831    }
1832    #[doc(hidden)]
1833    pub fn adjust_size(&self) -> &Self {
1834        let (obj_data, funcs) = self.get_widget_obj_funcs();
1835        unsafe {
1836            ((*funcs).adjust_size)(obj_data);
1837        }
1838        self
1839    }
1840    #[doc(hidden)]
1841    pub fn is_visible(&self) -> bool {
1842        let (obj_data, funcs) = self.get_widget_obj_funcs();
1843        unsafe {
1844            let ret_val = ((*funcs).is_visible)(obj_data);
1845            ret_val
1846        }
1847    }
1848    #[doc(hidden)]
1849    pub fn is_visible_to<W: WidgetTrait<'a>>(&self, arg0: &W) -> bool {
1850        let (obj_arg0_1, _funcs) = arg0.get_widget_obj_funcs();
1851
1852        let (obj_data, funcs) = self.get_widget_obj_funcs();
1853        unsafe {
1854            let ret_val = ((*funcs).is_visible_to)(obj_data, obj_arg0_1);
1855            ret_val
1856        }
1857    }
1858    #[doc(hidden)]
1859    pub fn is_hidden(&self) -> bool {
1860        let (obj_data, funcs) = self.get_widget_obj_funcs();
1861        unsafe {
1862            let ret_val = ((*funcs).is_hidden)(obj_data);
1863            ret_val
1864        }
1865    }
1866    #[doc(hidden)]
1867    pub fn is_minimized(&self) -> bool {
1868        let (obj_data, funcs) = self.get_widget_obj_funcs();
1869        unsafe {
1870            let ret_val = ((*funcs).is_minimized)(obj_data);
1871            ret_val
1872        }
1873    }
1874    #[doc(hidden)]
1875    pub fn is_maximized(&self) -> bool {
1876        let (obj_data, funcs) = self.get_widget_obj_funcs();
1877        unsafe {
1878            let ret_val = ((*funcs).is_maximized)(obj_data);
1879            ret_val
1880        }
1881    }
1882    #[doc(hidden)]
1883    pub fn is_full_screen(&self) -> bool {
1884        let (obj_data, funcs) = self.get_widget_obj_funcs();
1885        unsafe {
1886            let ret_val = ((*funcs).is_full_screen)(obj_data);
1887            ret_val
1888        }
1889    }
1890    #[doc(hidden)]
1891    pub fn window_state(&self) -> WindowStates {
1892        let (obj_data, funcs) = self.get_widget_obj_funcs();
1893        unsafe {
1894            let ret_val = ((*funcs).window_state)(obj_data);
1895            let ret_val = WindowStates::from_bits_truncate(ret_val);
1896            ret_val
1897        }
1898    }
1899    #[doc(hidden)]
1900    pub fn set_window_state(&self, state: WindowStates) -> &Self {
1901        let enum_state_1 = state.bits();
1902
1903        let (obj_data, funcs) = self.get_widget_obj_funcs();
1904        unsafe {
1905            ((*funcs).set_window_state)(obj_data, enum_state_1);
1906        }
1907        self
1908    }
1909    #[doc(hidden)]
1910    pub fn override_window_state(&self, state: WindowStates) -> &Self {
1911        let enum_state_1 = state.bits();
1912
1913        let (obj_data, funcs) = self.get_widget_obj_funcs();
1914        unsafe {
1915            ((*funcs).override_window_state)(obj_data, enum_state_1);
1916        }
1917        self
1918    }
1919    #[doc(hidden)]
1920    pub fn size_hint(&self) -> Size {
1921        let (obj_data, funcs) = self.get_widget_obj_funcs();
1922        unsafe {
1923            let ret_val = ((*funcs).size_hint)(obj_data);
1924            let t = ret_val;
1925            let ret_val;
1926            if t.host_data != ::std::ptr::null() {
1927                ret_val = Size::new_from_rc(t);
1928            } else {
1929                ret_val = Size::new_from_owned(t);
1930            }
1931            ret_val
1932        }
1933    }
1934    #[doc(hidden)]
1935    pub fn minimum_size_hint(&self) -> Size {
1936        let (obj_data, funcs) = self.get_widget_obj_funcs();
1937        unsafe {
1938            let ret_val = ((*funcs).minimum_size_hint)(obj_data);
1939            let t = ret_val;
1940            let ret_val;
1941            if t.host_data != ::std::ptr::null() {
1942                ret_val = Size::new_from_rc(t);
1943            } else {
1944                ret_val = Size::new_from_owned(t);
1945            }
1946            ret_val
1947        }
1948    }
1949    #[doc(hidden)]
1950    pub fn size_policy(&self) -> SizePolicy {
1951        let (obj_data, funcs) = self.get_widget_obj_funcs();
1952        unsafe {
1953            let ret_val = ((*funcs).size_policy)(obj_data);
1954            let t = ret_val;
1955            let ret_val;
1956            if t.host_data != ::std::ptr::null() {
1957                ret_val = SizePolicy::new_from_rc(t);
1958            } else {
1959                ret_val = SizePolicy::new_from_owned(t);
1960            }
1961            ret_val
1962        }
1963    }
1964    #[doc(hidden)]
1965    pub fn set_size_policy<S: SizePolicyTrait<'a>>(&self, arg0: &S) -> &Self {
1966        let (obj_arg0_1, _funcs) = arg0.get_size_policy_obj_funcs();
1967
1968        let (obj_data, funcs) = self.get_widget_obj_funcs();
1969        unsafe {
1970            ((*funcs).set_size_policy)(obj_data, obj_arg0_1);
1971        }
1972        self
1973    }
1974    #[doc(hidden)]
1975    pub fn set_size_policy_2(&self, horizontal: Policy, vertical: Policy) -> &Self {
1976        let enum_horizontal_1 = horizontal as u32;
1977        let enum_vertical_2 = vertical as u32;
1978
1979        let (obj_data, funcs) = self.get_widget_obj_funcs();
1980        unsafe {
1981            ((*funcs).set_size_policy_2)(obj_data, enum_horizontal_1, enum_vertical_2);
1982        }
1983        self
1984    }
1985    #[doc(hidden)]
1986    pub fn height_for_width(&self, arg0: i32) -> i32 {
1987        let (obj_data, funcs) = self.get_widget_obj_funcs();
1988        unsafe {
1989            let ret_val = ((*funcs).height_for_width)(obj_data, arg0);
1990            ret_val
1991        }
1992    }
1993    #[doc(hidden)]
1994    pub fn has_height_for_width(&self) -> bool {
1995        let (obj_data, funcs) = self.get_widget_obj_funcs();
1996        unsafe {
1997            let ret_val = ((*funcs).has_height_for_width)(obj_data);
1998            ret_val
1999        }
2000    }
2001    #[doc(hidden)]
2002    pub fn visible_region(&self) -> Region {
2003        let (obj_data, funcs) = self.get_widget_obj_funcs();
2004        unsafe {
2005            let ret_val = ((*funcs).visible_region)(obj_data);
2006            let t = ret_val;
2007            let ret_val;
2008            if t.host_data != ::std::ptr::null() {
2009                ret_val = Region::new_from_rc(t);
2010            } else {
2011                ret_val = Region::new_from_owned(t);
2012            }
2013            ret_val
2014        }
2015    }
2016    #[doc(hidden)]
2017    pub fn set_contents_margins(&self, left: i32, top: i32, right: i32, bottom: i32) -> &Self {
2018        let (obj_data, funcs) = self.get_widget_obj_funcs();
2019        unsafe {
2020            ((*funcs).set_contents_margins)(obj_data, left, top, right, bottom);
2021        }
2022        self
2023    }
2024    #[doc(hidden)]
2025    pub fn set_contents_margins_2<M: MarginsTrait<'a>>(&self, margins: &M) -> &Self {
2026        let (obj_margins_1, _funcs) = margins.get_margins_obj_funcs();
2027
2028        let (obj_data, funcs) = self.get_widget_obj_funcs();
2029        unsafe {
2030            ((*funcs).set_contents_margins_2)(obj_data, obj_margins_1);
2031        }
2032        self
2033    }
2034    #[doc(hidden)]
2035    pub fn contents_margins(&self) -> Margins {
2036        let (obj_data, funcs) = self.get_widget_obj_funcs();
2037        unsafe {
2038            let ret_val = ((*funcs).contents_margins)(obj_data);
2039            let t = ret_val;
2040            let ret_val;
2041            if t.host_data != ::std::ptr::null() {
2042                ret_val = Margins::new_from_rc(t);
2043            } else {
2044                ret_val = Margins::new_from_owned(t);
2045            }
2046            ret_val
2047        }
2048    }
2049    #[doc(hidden)]
2050    pub fn contents_rect(&self) -> Rect {
2051        let (obj_data, funcs) = self.get_widget_obj_funcs();
2052        unsafe {
2053            let ret_val = ((*funcs).contents_rect)(obj_data);
2054            let t = ret_val;
2055            let ret_val;
2056            if t.host_data != ::std::ptr::null() {
2057                ret_val = Rect::new_from_rc(t);
2058            } else {
2059                ret_val = Rect::new_from_owned(t);
2060            }
2061            ret_val
2062        }
2063    }
2064    #[doc(hidden)]
2065    pub fn layout(&self) -> Option<Layout> {
2066        let (obj_data, funcs) = self.get_widget_obj_funcs();
2067        unsafe {
2068            let ret_val = ((*funcs).layout)(obj_data);
2069            if ret_val.qt_data == ::std::ptr::null() {
2070                return None;
2071            }
2072            let t = ret_val;
2073            let ret_val;
2074            if t.host_data != ::std::ptr::null() {
2075                ret_val = Layout::new_from_rc(t);
2076            } else {
2077                ret_val = Layout::new_from_owned(t);
2078            }
2079            Some(ret_val)
2080        }
2081    }
2082    #[doc(hidden)]
2083    pub fn set_layout<L: LayoutTrait<'a>>(&self, arg0: &L) -> &Self {
2084        let (obj_arg0_1, _funcs) = arg0.get_layout_obj_funcs();
2085
2086        let (obj_data, funcs) = self.get_widget_obj_funcs();
2087        unsafe {
2088            ((*funcs).set_layout)(obj_data, obj_arg0_1);
2089        }
2090        self
2091    }
2092    #[doc(hidden)]
2093    pub fn set_parent<W: WidgetTrait<'a>>(&self, parent: &W) -> &Self {
2094        let (obj_parent_1, _funcs) = parent.get_widget_obj_funcs();
2095
2096        let (obj_data, funcs) = self.get_widget_obj_funcs();
2097        unsafe {
2098            ((*funcs).set_parent)(obj_data, obj_parent_1);
2099        }
2100        self
2101    }
2102    #[doc(hidden)]
2103    pub fn set_parent_2<W: WidgetTrait<'a>>(&self, parent: &W, f: WindowFlags) -> &Self {
2104        let (obj_parent_1, _funcs) = parent.get_widget_obj_funcs();
2105        let enum_f_2 = f.bits();
2106
2107        let (obj_data, funcs) = self.get_widget_obj_funcs();
2108        unsafe {
2109            ((*funcs).set_parent_2)(obj_data, obj_parent_1, enum_f_2);
2110        }
2111        self
2112    }
2113    #[doc(hidden)]
2114    pub fn scroll(&self, dx: i32, dy: i32) -> &Self {
2115        let (obj_data, funcs) = self.get_widget_obj_funcs();
2116        unsafe {
2117            ((*funcs).scroll)(obj_data, dx, dy);
2118        }
2119        self
2120    }
2121    #[doc(hidden)]
2122    pub fn scroll_2<R: RectTrait<'a>>(&self, dx: i32, dy: i32, arg0: &R) -> &Self {
2123        let (obj_arg0_3, _funcs) = arg0.get_rect_obj_funcs();
2124
2125        let (obj_data, funcs) = self.get_widget_obj_funcs();
2126        unsafe {
2127            ((*funcs).scroll_2)(obj_data, dx, dy, obj_arg0_3);
2128        }
2129        self
2130    }
2131    #[doc(hidden)]
2132    pub fn focus_widget(&self) -> Option<Widget> {
2133        let (obj_data, funcs) = self.get_widget_obj_funcs();
2134        unsafe {
2135            let ret_val = ((*funcs).focus_widget)(obj_data);
2136            if ret_val.qt_data == ::std::ptr::null() {
2137                return None;
2138            }
2139            let t = ret_val;
2140            let ret_val;
2141            if t.host_data != ::std::ptr::null() {
2142                ret_val = Widget::new_from_rc(t);
2143            } else {
2144                ret_val = Widget::new_from_owned(t);
2145            }
2146            Some(ret_val)
2147        }
2148    }
2149    #[doc(hidden)]
2150    pub fn next_in_focus_chain(&self) -> Option<Widget> {
2151        let (obj_data, funcs) = self.get_widget_obj_funcs();
2152        unsafe {
2153            let ret_val = ((*funcs).next_in_focus_chain)(obj_data);
2154            if ret_val.qt_data == ::std::ptr::null() {
2155                return None;
2156            }
2157            let t = ret_val;
2158            let ret_val;
2159            if t.host_data != ::std::ptr::null() {
2160                ret_val = Widget::new_from_rc(t);
2161            } else {
2162                ret_val = Widget::new_from_owned(t);
2163            }
2164            Some(ret_val)
2165        }
2166    }
2167    #[doc(hidden)]
2168    pub fn previous_in_focus_chain(&self) -> Option<Widget> {
2169        let (obj_data, funcs) = self.get_widget_obj_funcs();
2170        unsafe {
2171            let ret_val = ((*funcs).previous_in_focus_chain)(obj_data);
2172            if ret_val.qt_data == ::std::ptr::null() {
2173                return None;
2174            }
2175            let t = ret_val;
2176            let ret_val;
2177            if t.host_data != ::std::ptr::null() {
2178                ret_val = Widget::new_from_rc(t);
2179            } else {
2180                ret_val = Widget::new_from_owned(t);
2181            }
2182            Some(ret_val)
2183        }
2184    }
2185    #[doc(hidden)]
2186    pub fn accept_drops(&self) -> bool {
2187        let (obj_data, funcs) = self.get_widget_obj_funcs();
2188        unsafe {
2189            let ret_val = ((*funcs).accept_drops)(obj_data);
2190            ret_val
2191        }
2192    }
2193    #[doc(hidden)]
2194    pub fn set_accept_drops(&self, on: bool) -> &Self {
2195        let (obj_data, funcs) = self.get_widget_obj_funcs();
2196        unsafe {
2197            ((*funcs).set_accept_drops)(obj_data, on);
2198        }
2199        self
2200    }
2201    #[doc(hidden)]
2202    pub fn parent_widget(&self) -> Option<Widget> {
2203        let (obj_data, funcs) = self.get_widget_obj_funcs();
2204        unsafe {
2205            let ret_val = ((*funcs).parent_widget)(obj_data);
2206            if ret_val.qt_data == ::std::ptr::null() {
2207                return None;
2208            }
2209            let t = ret_val;
2210            let ret_val;
2211            if t.host_data != ::std::ptr::null() {
2212                ret_val = Widget::new_from_rc(t);
2213            } else {
2214                ret_val = Widget::new_from_owned(t);
2215            }
2216            Some(ret_val)
2217        }
2218    }
2219    #[doc(hidden)]
2220    pub fn set_window_flags(&self, gtype: WindowFlags) -> &Self {
2221        let enum_gtype_1 = gtype.bits();
2222
2223        let (obj_data, funcs) = self.get_widget_obj_funcs();
2224        unsafe {
2225            ((*funcs).set_window_flags)(obj_data, enum_gtype_1);
2226        }
2227        self
2228    }
2229    #[doc(hidden)]
2230    pub fn window_flags(&self) -> WindowFlags {
2231        let (obj_data, funcs) = self.get_widget_obj_funcs();
2232        unsafe {
2233            let ret_val = ((*funcs).window_flags)(obj_data);
2234            let ret_val = WindowFlags::from_bits_truncate(ret_val);
2235            ret_val
2236        }
2237    }
2238    #[doc(hidden)]
2239    pub fn override_window_flags(&self, wtype: WindowFlags) -> &Self {
2240        let enum_wtype_1 = wtype.bits();
2241
2242        let (obj_data, funcs) = self.get_widget_obj_funcs();
2243        unsafe {
2244            ((*funcs).override_window_flags)(obj_data, enum_wtype_1);
2245        }
2246        self
2247    }
2248    #[doc(hidden)]
2249    pub fn find(arg0: u64) -> Option<Widget<'a>> {
2250        let (obj_data, funcs) = unsafe {
2251            (
2252                ::std::ptr::null(),
2253                (*((*rute_ffi_get()).get_widget)(::std::ptr::null()).all_funcs).widget_funcs,
2254            )
2255        };
2256        unsafe {
2257            let ret_val = ((*funcs).find)(obj_data, arg0);
2258            if ret_val.qt_data == ::std::ptr::null() {
2259                return None;
2260            }
2261            let t = ret_val;
2262            let ret_val;
2263            if t.host_data != ::std::ptr::null() {
2264                ret_val = Widget::new_from_rc(t);
2265            } else {
2266                ret_val = Widget::new_from_owned(t);
2267            }
2268            Some(ret_val)
2269        }
2270    }
2271    #[doc(hidden)]
2272    pub fn child_at(&self, x: i32, y: i32) -> Option<Widget> {
2273        let (obj_data, funcs) = self.get_widget_obj_funcs();
2274        unsafe {
2275            let ret_val = ((*funcs).child_at)(obj_data, x, y);
2276            if ret_val.qt_data == ::std::ptr::null() {
2277                return None;
2278            }
2279            let t = ret_val;
2280            let ret_val;
2281            if t.host_data != ::std::ptr::null() {
2282                ret_val = Widget::new_from_rc(t);
2283            } else {
2284                ret_val = Widget::new_from_owned(t);
2285            }
2286            Some(ret_val)
2287        }
2288    }
2289    #[doc(hidden)]
2290    pub fn child_at_2<P: PointTrait<'a>>(&self, p: &P) -> Option<Widget> {
2291        let (obj_p_1, _funcs) = p.get_point_obj_funcs();
2292
2293        let (obj_data, funcs) = self.get_widget_obj_funcs();
2294        unsafe {
2295            let ret_val = ((*funcs).child_at_2)(obj_data, obj_p_1);
2296            if ret_val.qt_data == ::std::ptr::null() {
2297                return None;
2298            }
2299            let t = ret_val;
2300            let ret_val;
2301            if t.host_data != ::std::ptr::null() {
2302                ret_val = Widget::new_from_rc(t);
2303            } else {
2304                ret_val = Widget::new_from_owned(t);
2305            }
2306            Some(ret_val)
2307        }
2308    }
2309    #[doc(hidden)]
2310    pub fn paint_engine(&self) -> Option<PaintEngine> {
2311        let (obj_data, funcs) = self.get_widget_obj_funcs();
2312        unsafe {
2313            let ret_val = ((*funcs).paint_engine)(obj_data);
2314            if ret_val.qt_data == ::std::ptr::null() {
2315                return None;
2316            }
2317            let t = ret_val;
2318            let ret_val;
2319            if t.host_data != ::std::ptr::null() {
2320                ret_val = PaintEngine::new_from_rc(t);
2321            } else {
2322                ret_val = PaintEngine::new_from_owned(t);
2323            }
2324            Some(ret_val)
2325        }
2326    }
2327    #[doc(hidden)]
2328    pub fn ensure_polished(&self) -> &Self {
2329        let (obj_data, funcs) = self.get_widget_obj_funcs();
2330        unsafe {
2331            ((*funcs).ensure_polished)(obj_data);
2332        }
2333        self
2334    }
2335    #[doc(hidden)]
2336    pub fn is_ancestor_of<W: WidgetTrait<'a>>(&self, child: &W) -> bool {
2337        let (obj_child_1, _funcs) = child.get_widget_obj_funcs();
2338
2339        let (obj_data, funcs) = self.get_widget_obj_funcs();
2340        unsafe {
2341            let ret_val = ((*funcs).is_ancestor_of)(obj_data, obj_child_1);
2342            ret_val
2343        }
2344    }
2345    #[doc(hidden)]
2346    pub fn auto_fill_background(&self) -> bool {
2347        let (obj_data, funcs) = self.get_widget_obj_funcs();
2348        unsafe {
2349            let ret_val = ((*funcs).auto_fill_background)(obj_data);
2350            ret_val
2351        }
2352    }
2353    #[doc(hidden)]
2354    pub fn set_auto_fill_background(&self, enabled: bool) -> &Self {
2355        let (obj_data, funcs) = self.get_widget_obj_funcs();
2356        unsafe {
2357            ((*funcs).set_auto_fill_background)(obj_data, enabled);
2358        }
2359        self
2360    }
2361    #[doc(hidden)]
2362    pub fn backing_store(&self) -> Option<BackingStore> {
2363        let (obj_data, funcs) = self.get_widget_obj_funcs();
2364        unsafe {
2365            let ret_val = ((*funcs).backing_store)(obj_data);
2366            if ret_val.qt_data == ::std::ptr::null() {
2367                return None;
2368            }
2369            let t = ret_val;
2370            let ret_val;
2371            if t.host_data != ::std::ptr::null() {
2372                ret_val = BackingStore::new_from_rc(t);
2373            } else {
2374                ret_val = BackingStore::new_from_owned(t);
2375            }
2376            Some(ret_val)
2377        }
2378    }
2379    #[doc(hidden)]
2380    pub fn window_handle(&self) -> Option<Window> {
2381        let (obj_data, funcs) = self.get_widget_obj_funcs();
2382        unsafe {
2383            let ret_val = ((*funcs).window_handle)(obj_data);
2384            if ret_val.qt_data == ::std::ptr::null() {
2385                return None;
2386            }
2387            let t = ret_val;
2388            let ret_val;
2389            if t.host_data != ::std::ptr::null() {
2390                ret_val = Window::new_from_rc(t);
2391            } else {
2392                ret_val = Window::new_from_owned(t);
2393            }
2394            Some(ret_val)
2395        }
2396    }
2397    #[doc(hidden)]
2398    pub fn create_window_container<A: WidgetTrait<'a>, W: WindowTrait<'a>>(
2399        window: &W,
2400        parent: &A,
2401        flags: WindowFlags,
2402    ) -> Option<Widget<'a>> {
2403        let (obj_window_1, _funcs) = window.get_window_obj_funcs();
2404        let (obj_parent_2, _funcs) = parent.get_widget_obj_funcs();
2405        let enum_flags_3 = flags.bits();
2406
2407        let (obj_data, funcs) = unsafe {
2408            (
2409                ::std::ptr::null(),
2410                (*((*rute_ffi_get()).get_widget)(::std::ptr::null()).all_funcs).widget_funcs,
2411            )
2412        };
2413        unsafe {
2414            let ret_val = ((*funcs).create_window_container)(
2415                obj_data,
2416                obj_window_1,
2417                obj_parent_2,
2418                enum_flags_3,
2419            );
2420            if ret_val.qt_data == ::std::ptr::null() {
2421                return None;
2422            }
2423            let t = ret_val;
2424            let ret_val;
2425            if t.host_data != ::std::ptr::null() {
2426                ret_val = Widget::new_from_rc(t);
2427            } else {
2428                ret_val = Widget::new_from_owned(t);
2429            }
2430            Some(ret_val)
2431        }
2432    }
2433    #[doc(hidden)]
2434    pub fn set_window_title_changed_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2435    where
2436        F: Fn(&T, &str) + 'a,
2437        T: 'a,
2438    {
2439        let (obj_data, funcs) = self.get_widget_obj_funcs();
2440
2441        let f: Box<Box<Fn(&T, &str) + 'a>> = Box::new(Box::new(func));
2442        let user_data = data as *const _ as *const c_void;
2443
2444        unsafe {
2445            ((*funcs).set_window_title_changed_event)(
2446                obj_data,
2447                user_data,
2448                Box::into_raw(f) as *const _,
2449                transmute(widget_window_title_changed_trampoline_ud::<T> as usize),
2450            );
2451        }
2452
2453        self
2454    }
2455
2456    pub fn set_window_title_changed_event<F>(&self, func: F) -> &Self
2457    where
2458        F: Fn(&str) + 'a,
2459    {
2460        let (obj_data, funcs) = self.get_widget_obj_funcs();
2461        let f: Box<Box<Fn(&str) + 'a>> = Box::new(Box::new(func));
2462
2463        unsafe {
2464            ((*funcs).set_window_title_changed_event)(
2465                obj_data,
2466                ::std::ptr::null(),
2467                Box::into_raw(f) as *const _,
2468                transmute(widget_window_title_changed_trampoline as usize),
2469            );
2470        }
2471
2472        self
2473    }
2474    #[doc(hidden)]
2475    pub fn set_window_icon_changed_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2476    where
2477        F: Fn(&T, &Icon) + 'a,
2478        T: 'a,
2479    {
2480        let (obj_data, funcs) = self.get_widget_obj_funcs();
2481
2482        let f: Box<Box<Fn(&T, &Icon) + 'a>> = Box::new(Box::new(func));
2483        let user_data = data as *const _ as *const c_void;
2484
2485        unsafe {
2486            ((*funcs).set_window_icon_changed_event)(
2487                obj_data,
2488                user_data,
2489                Box::into_raw(f) as *const _,
2490                transmute(widget_window_icon_changed_trampoline_ud::<T> as usize),
2491            );
2492        }
2493
2494        self
2495    }
2496
2497    pub fn set_window_icon_changed_event<F>(&self, func: F) -> &Self
2498    where
2499        F: Fn(&Icon) + 'a,
2500    {
2501        let (obj_data, funcs) = self.get_widget_obj_funcs();
2502        let f: Box<Box<Fn(&Icon) + 'a>> = Box::new(Box::new(func));
2503
2504        unsafe {
2505            ((*funcs).set_window_icon_changed_event)(
2506                obj_data,
2507                ::std::ptr::null(),
2508                Box::into_raw(f) as *const _,
2509                transmute(widget_window_icon_changed_trampoline as usize),
2510            );
2511        }
2512
2513        self
2514    }
2515    #[doc(hidden)]
2516    pub fn set_window_icon_text_changed_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2517    where
2518        F: Fn(&T, &str) + 'a,
2519        T: 'a,
2520    {
2521        let (obj_data, funcs) = self.get_widget_obj_funcs();
2522
2523        let f: Box<Box<Fn(&T, &str) + 'a>> = Box::new(Box::new(func));
2524        let user_data = data as *const _ as *const c_void;
2525
2526        unsafe {
2527            ((*funcs).set_window_icon_text_changed_event)(
2528                obj_data,
2529                user_data,
2530                Box::into_raw(f) as *const _,
2531                transmute(widget_window_icon_text_changed_trampoline_ud::<T> as usize),
2532            );
2533        }
2534
2535        self
2536    }
2537
2538    pub fn set_window_icon_text_changed_event<F>(&self, func: F) -> &Self
2539    where
2540        F: Fn(&str) + 'a,
2541    {
2542        let (obj_data, funcs) = self.get_widget_obj_funcs();
2543        let f: Box<Box<Fn(&str) + 'a>> = Box::new(Box::new(func));
2544
2545        unsafe {
2546            ((*funcs).set_window_icon_text_changed_event)(
2547                obj_data,
2548                ::std::ptr::null(),
2549                Box::into_raw(f) as *const _,
2550                transmute(widget_window_icon_text_changed_trampoline as usize),
2551            );
2552        }
2553
2554        self
2555    }
2556    #[doc(hidden)]
2557    pub fn set_custom_context_menu_requested_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2558    where
2559        F: Fn(&T, &Point) + 'a,
2560        T: 'a,
2561    {
2562        let (obj_data, funcs) = self.get_widget_obj_funcs();
2563
2564        let f: Box<Box<Fn(&T, &Point) + 'a>> = Box::new(Box::new(func));
2565        let user_data = data as *const _ as *const c_void;
2566
2567        unsafe {
2568            ((*funcs).set_custom_context_menu_requested_event)(
2569                obj_data,
2570                user_data,
2571                Box::into_raw(f) as *const _,
2572                transmute(widget_custom_context_menu_requested_trampoline_ud::<T> as usize),
2573            );
2574        }
2575
2576        self
2577    }
2578
2579    pub fn set_custom_context_menu_requested_event<F>(&self, func: F) -> &Self
2580    where
2581        F: Fn(&Point) + 'a,
2582    {
2583        let (obj_data, funcs) = self.get_widget_obj_funcs();
2584        let f: Box<Box<Fn(&Point) + 'a>> = Box::new(Box::new(func));
2585
2586        unsafe {
2587            ((*funcs).set_custom_context_menu_requested_event)(
2588                obj_data,
2589                ::std::ptr::null(),
2590                Box::into_raw(f) as *const _,
2591                transmute(widget_custom_context_menu_requested_trampoline as usize),
2592            );
2593        }
2594
2595        self
2596    }
2597    #[doc(hidden)]
2598    pub fn set_mouse_press_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2599    where
2600        F: Fn(&T, &MouseEvent) + 'a,
2601        T: 'a,
2602    {
2603        let (obj_data, funcs) = self.get_widget_obj_funcs();
2604
2605        let f: Box<Box<Fn(&T, &MouseEvent) + 'a>> = Box::new(Box::new(func));
2606        let user_data = data as *const _ as *const c_void;
2607
2608        unsafe {
2609            ((*funcs).set_mouse_press_event)(
2610                obj_data,
2611                user_data,
2612                Box::into_raw(f) as *const _,
2613                transmute(widget_mouse_press_trampoline_ud::<T> as usize),
2614            );
2615        }
2616
2617        self
2618    }
2619
2620    pub fn set_mouse_press_event<F>(&self, func: F) -> &Self
2621    where
2622        F: Fn(&MouseEvent) + 'a,
2623    {
2624        let (obj_data, funcs) = self.get_widget_obj_funcs();
2625        let f: Box<Box<Fn(&MouseEvent) + 'a>> = Box::new(Box::new(func));
2626
2627        unsafe {
2628            ((*funcs).set_mouse_press_event)(
2629                obj_data,
2630                ::std::ptr::null(),
2631                Box::into_raw(f) as *const _,
2632                transmute(widget_mouse_press_trampoline as usize),
2633            );
2634        }
2635
2636        self
2637    }
2638    #[doc(hidden)]
2639    pub fn set_mouse_release_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2640    where
2641        F: Fn(&T, &MouseEvent) + 'a,
2642        T: 'a,
2643    {
2644        let (obj_data, funcs) = self.get_widget_obj_funcs();
2645
2646        let f: Box<Box<Fn(&T, &MouseEvent) + 'a>> = Box::new(Box::new(func));
2647        let user_data = data as *const _ as *const c_void;
2648
2649        unsafe {
2650            ((*funcs).set_mouse_release_event)(
2651                obj_data,
2652                user_data,
2653                Box::into_raw(f) as *const _,
2654                transmute(widget_mouse_release_trampoline_ud::<T> as usize),
2655            );
2656        }
2657
2658        self
2659    }
2660
2661    pub fn set_mouse_release_event<F>(&self, func: F) -> &Self
2662    where
2663        F: Fn(&MouseEvent) + 'a,
2664    {
2665        let (obj_data, funcs) = self.get_widget_obj_funcs();
2666        let f: Box<Box<Fn(&MouseEvent) + 'a>> = Box::new(Box::new(func));
2667
2668        unsafe {
2669            ((*funcs).set_mouse_release_event)(
2670                obj_data,
2671                ::std::ptr::null(),
2672                Box::into_raw(f) as *const _,
2673                transmute(widget_mouse_release_trampoline as usize),
2674            );
2675        }
2676
2677        self
2678    }
2679    #[doc(hidden)]
2680    pub fn set_mouse_double_click_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2681    where
2682        F: Fn(&T, &MouseEvent) + 'a,
2683        T: 'a,
2684    {
2685        let (obj_data, funcs) = self.get_widget_obj_funcs();
2686
2687        let f: Box<Box<Fn(&T, &MouseEvent) + 'a>> = Box::new(Box::new(func));
2688        let user_data = data as *const _ as *const c_void;
2689
2690        unsafe {
2691            ((*funcs).set_mouse_double_click_event)(
2692                obj_data,
2693                user_data,
2694                Box::into_raw(f) as *const _,
2695                transmute(widget_mouse_double_click_trampoline_ud::<T> as usize),
2696            );
2697        }
2698
2699        self
2700    }
2701
2702    pub fn set_mouse_double_click_event<F>(&self, func: F) -> &Self
2703    where
2704        F: Fn(&MouseEvent) + 'a,
2705    {
2706        let (obj_data, funcs) = self.get_widget_obj_funcs();
2707        let f: Box<Box<Fn(&MouseEvent) + 'a>> = Box::new(Box::new(func));
2708
2709        unsafe {
2710            ((*funcs).set_mouse_double_click_event)(
2711                obj_data,
2712                ::std::ptr::null(),
2713                Box::into_raw(f) as *const _,
2714                transmute(widget_mouse_double_click_trampoline as usize),
2715            );
2716        }
2717
2718        self
2719    }
2720    #[doc(hidden)]
2721    pub fn set_mouse_move_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2722    where
2723        F: Fn(&T, &MouseEvent) + 'a,
2724        T: 'a,
2725    {
2726        let (obj_data, funcs) = self.get_widget_obj_funcs();
2727
2728        let f: Box<Box<Fn(&T, &MouseEvent) + 'a>> = Box::new(Box::new(func));
2729        let user_data = data as *const _ as *const c_void;
2730
2731        unsafe {
2732            ((*funcs).set_mouse_move_event)(
2733                obj_data,
2734                user_data,
2735                Box::into_raw(f) as *const _,
2736                transmute(widget_mouse_move_trampoline_ud::<T> as usize),
2737            );
2738        }
2739
2740        self
2741    }
2742
2743    pub fn set_mouse_move_event<F>(&self, func: F) -> &Self
2744    where
2745        F: Fn(&MouseEvent) + 'a,
2746    {
2747        let (obj_data, funcs) = self.get_widget_obj_funcs();
2748        let f: Box<Box<Fn(&MouseEvent) + 'a>> = Box::new(Box::new(func));
2749
2750        unsafe {
2751            ((*funcs).set_mouse_move_event)(
2752                obj_data,
2753                ::std::ptr::null(),
2754                Box::into_raw(f) as *const _,
2755                transmute(widget_mouse_move_trampoline as usize),
2756            );
2757        }
2758
2759        self
2760    }
2761    #[doc(hidden)]
2762    pub fn set_wheel_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2763    where
2764        F: Fn(&T, &WheelEvent) + 'a,
2765        T: 'a,
2766    {
2767        let (obj_data, funcs) = self.get_widget_obj_funcs();
2768
2769        let f: Box<Box<Fn(&T, &WheelEvent) + 'a>> = Box::new(Box::new(func));
2770        let user_data = data as *const _ as *const c_void;
2771
2772        unsafe {
2773            ((*funcs).set_wheel_event)(
2774                obj_data,
2775                user_data,
2776                Box::into_raw(f) as *const _,
2777                transmute(widget_wheel_trampoline_ud::<T> as usize),
2778            );
2779        }
2780
2781        self
2782    }
2783
2784    pub fn set_wheel_event<F>(&self, func: F) -> &Self
2785    where
2786        F: Fn(&WheelEvent) + 'a,
2787    {
2788        let (obj_data, funcs) = self.get_widget_obj_funcs();
2789        let f: Box<Box<Fn(&WheelEvent) + 'a>> = Box::new(Box::new(func));
2790
2791        unsafe {
2792            ((*funcs).set_wheel_event)(
2793                obj_data,
2794                ::std::ptr::null(),
2795                Box::into_raw(f) as *const _,
2796                transmute(widget_wheel_trampoline as usize),
2797            );
2798        }
2799
2800        self
2801    }
2802    #[doc(hidden)]
2803    pub fn set_key_press_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2804    where
2805        F: Fn(&T, &KeyEvent) + 'a,
2806        T: 'a,
2807    {
2808        let (obj_data, funcs) = self.get_widget_obj_funcs();
2809
2810        let f: Box<Box<Fn(&T, &KeyEvent) + 'a>> = Box::new(Box::new(func));
2811        let user_data = data as *const _ as *const c_void;
2812
2813        unsafe {
2814            ((*funcs).set_key_press_event)(
2815                obj_data,
2816                user_data,
2817                Box::into_raw(f) as *const _,
2818                transmute(widget_key_press_trampoline_ud::<T> as usize),
2819            );
2820        }
2821
2822        self
2823    }
2824
2825    pub fn set_key_press_event<F>(&self, func: F) -> &Self
2826    where
2827        F: Fn(&KeyEvent) + 'a,
2828    {
2829        let (obj_data, funcs) = self.get_widget_obj_funcs();
2830        let f: Box<Box<Fn(&KeyEvent) + 'a>> = Box::new(Box::new(func));
2831
2832        unsafe {
2833            ((*funcs).set_key_press_event)(
2834                obj_data,
2835                ::std::ptr::null(),
2836                Box::into_raw(f) as *const _,
2837                transmute(widget_key_press_trampoline as usize),
2838            );
2839        }
2840
2841        self
2842    }
2843    #[doc(hidden)]
2844    pub fn set_key_release_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2845    where
2846        F: Fn(&T, &KeyEvent) + 'a,
2847        T: 'a,
2848    {
2849        let (obj_data, funcs) = self.get_widget_obj_funcs();
2850
2851        let f: Box<Box<Fn(&T, &KeyEvent) + 'a>> = Box::new(Box::new(func));
2852        let user_data = data as *const _ as *const c_void;
2853
2854        unsafe {
2855            ((*funcs).set_key_release_event)(
2856                obj_data,
2857                user_data,
2858                Box::into_raw(f) as *const _,
2859                transmute(widget_key_release_trampoline_ud::<T> as usize),
2860            );
2861        }
2862
2863        self
2864    }
2865
2866    pub fn set_key_release_event<F>(&self, func: F) -> &Self
2867    where
2868        F: Fn(&KeyEvent) + 'a,
2869    {
2870        let (obj_data, funcs) = self.get_widget_obj_funcs();
2871        let f: Box<Box<Fn(&KeyEvent) + 'a>> = Box::new(Box::new(func));
2872
2873        unsafe {
2874            ((*funcs).set_key_release_event)(
2875                obj_data,
2876                ::std::ptr::null(),
2877                Box::into_raw(f) as *const _,
2878                transmute(widget_key_release_trampoline as usize),
2879            );
2880        }
2881
2882        self
2883    }
2884    #[doc(hidden)]
2885    pub fn set_focus_in_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2886    where
2887        F: Fn(&T, &FocusEvent) + 'a,
2888        T: 'a,
2889    {
2890        let (obj_data, funcs) = self.get_widget_obj_funcs();
2891
2892        let f: Box<Box<Fn(&T, &FocusEvent) + 'a>> = Box::new(Box::new(func));
2893        let user_data = data as *const _ as *const c_void;
2894
2895        unsafe {
2896            ((*funcs).set_focus_in_event)(
2897                obj_data,
2898                user_data,
2899                Box::into_raw(f) as *const _,
2900                transmute(widget_focus_in_trampoline_ud::<T> as usize),
2901            );
2902        }
2903
2904        self
2905    }
2906
2907    pub fn set_focus_in_event<F>(&self, func: F) -> &Self
2908    where
2909        F: Fn(&FocusEvent) + 'a,
2910    {
2911        let (obj_data, funcs) = self.get_widget_obj_funcs();
2912        let f: Box<Box<Fn(&FocusEvent) + 'a>> = Box::new(Box::new(func));
2913
2914        unsafe {
2915            ((*funcs).set_focus_in_event)(
2916                obj_data,
2917                ::std::ptr::null(),
2918                Box::into_raw(f) as *const _,
2919                transmute(widget_focus_in_trampoline as usize),
2920            );
2921        }
2922
2923        self
2924    }
2925    #[doc(hidden)]
2926    pub fn set_focus_out_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2927    where
2928        F: Fn(&T, &FocusEvent) + 'a,
2929        T: 'a,
2930    {
2931        let (obj_data, funcs) = self.get_widget_obj_funcs();
2932
2933        let f: Box<Box<Fn(&T, &FocusEvent) + 'a>> = Box::new(Box::new(func));
2934        let user_data = data as *const _ as *const c_void;
2935
2936        unsafe {
2937            ((*funcs).set_focus_out_event)(
2938                obj_data,
2939                user_data,
2940                Box::into_raw(f) as *const _,
2941                transmute(widget_focus_out_trampoline_ud::<T> as usize),
2942            );
2943        }
2944
2945        self
2946    }
2947
2948    pub fn set_focus_out_event<F>(&self, func: F) -> &Self
2949    where
2950        F: Fn(&FocusEvent) + 'a,
2951    {
2952        let (obj_data, funcs) = self.get_widget_obj_funcs();
2953        let f: Box<Box<Fn(&FocusEvent) + 'a>> = Box::new(Box::new(func));
2954
2955        unsafe {
2956            ((*funcs).set_focus_out_event)(
2957                obj_data,
2958                ::std::ptr::null(),
2959                Box::into_raw(f) as *const _,
2960                transmute(widget_focus_out_trampoline as usize),
2961            );
2962        }
2963
2964        self
2965    }
2966    #[doc(hidden)]
2967    pub fn set_enter_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
2968    where
2969        F: Fn(&T, &Event) + 'a,
2970        T: 'a,
2971    {
2972        let (obj_data, funcs) = self.get_widget_obj_funcs();
2973
2974        let f: Box<Box<Fn(&T, &Event) + 'a>> = Box::new(Box::new(func));
2975        let user_data = data as *const _ as *const c_void;
2976
2977        unsafe {
2978            ((*funcs).set_enter_event)(
2979                obj_data,
2980                user_data,
2981                Box::into_raw(f) as *const _,
2982                transmute(widget_enter_trampoline_ud::<T> as usize),
2983            );
2984        }
2985
2986        self
2987    }
2988
2989    pub fn set_enter_event<F>(&self, func: F) -> &Self
2990    where
2991        F: Fn(&Event) + 'a,
2992    {
2993        let (obj_data, funcs) = self.get_widget_obj_funcs();
2994        let f: Box<Box<Fn(&Event) + 'a>> = Box::new(Box::new(func));
2995
2996        unsafe {
2997            ((*funcs).set_enter_event)(
2998                obj_data,
2999                ::std::ptr::null(),
3000                Box::into_raw(f) as *const _,
3001                transmute(widget_enter_trampoline as usize),
3002            );
3003        }
3004
3005        self
3006    }
3007    #[doc(hidden)]
3008    pub fn set_leave_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3009    where
3010        F: Fn(&T, &Event) + 'a,
3011        T: 'a,
3012    {
3013        let (obj_data, funcs) = self.get_widget_obj_funcs();
3014
3015        let f: Box<Box<Fn(&T, &Event) + 'a>> = Box::new(Box::new(func));
3016        let user_data = data as *const _ as *const c_void;
3017
3018        unsafe {
3019            ((*funcs).set_leave_event)(
3020                obj_data,
3021                user_data,
3022                Box::into_raw(f) as *const _,
3023                transmute(widget_leave_trampoline_ud::<T> as usize),
3024            );
3025        }
3026
3027        self
3028    }
3029
3030    pub fn set_leave_event<F>(&self, func: F) -> &Self
3031    where
3032        F: Fn(&Event) + 'a,
3033    {
3034        let (obj_data, funcs) = self.get_widget_obj_funcs();
3035        let f: Box<Box<Fn(&Event) + 'a>> = Box::new(Box::new(func));
3036
3037        unsafe {
3038            ((*funcs).set_leave_event)(
3039                obj_data,
3040                ::std::ptr::null(),
3041                Box::into_raw(f) as *const _,
3042                transmute(widget_leave_trampoline as usize),
3043            );
3044        }
3045
3046        self
3047    }
3048    #[doc(hidden)]
3049    pub fn set_paint_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3050    where
3051        F: Fn(&T, &PaintEvent) + 'a,
3052        T: 'a,
3053    {
3054        let (obj_data, funcs) = self.get_widget_obj_funcs();
3055
3056        let f: Box<Box<Fn(&T, &PaintEvent) + 'a>> = Box::new(Box::new(func));
3057        let user_data = data as *const _ as *const c_void;
3058
3059        unsafe {
3060            ((*funcs).set_paint_event)(
3061                obj_data,
3062                user_data,
3063                Box::into_raw(f) as *const _,
3064                transmute(widget_paint_trampoline_ud::<T> as usize),
3065            );
3066        }
3067
3068        self
3069    }
3070
3071    pub fn set_paint_event<F>(&self, func: F) -> &Self
3072    where
3073        F: Fn(&PaintEvent) + 'a,
3074    {
3075        let (obj_data, funcs) = self.get_widget_obj_funcs();
3076        let f: Box<Box<Fn(&PaintEvent) + 'a>> = Box::new(Box::new(func));
3077
3078        unsafe {
3079            ((*funcs).set_paint_event)(
3080                obj_data,
3081                ::std::ptr::null(),
3082                Box::into_raw(f) as *const _,
3083                transmute(widget_paint_trampoline as usize),
3084            );
3085        }
3086
3087        self
3088    }
3089    #[doc(hidden)]
3090    pub fn set_move_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3091    where
3092        F: Fn(&T, &MoveEvent) + 'a,
3093        T: 'a,
3094    {
3095        let (obj_data, funcs) = self.get_widget_obj_funcs();
3096
3097        let f: Box<Box<Fn(&T, &MoveEvent) + 'a>> = Box::new(Box::new(func));
3098        let user_data = data as *const _ as *const c_void;
3099
3100        unsafe {
3101            ((*funcs).set_move_event)(
3102                obj_data,
3103                user_data,
3104                Box::into_raw(f) as *const _,
3105                transmute(widget_move_trampoline_ud::<T> as usize),
3106            );
3107        }
3108
3109        self
3110    }
3111
3112    pub fn set_move_event<F>(&self, func: F) -> &Self
3113    where
3114        F: Fn(&MoveEvent) + 'a,
3115    {
3116        let (obj_data, funcs) = self.get_widget_obj_funcs();
3117        let f: Box<Box<Fn(&MoveEvent) + 'a>> = Box::new(Box::new(func));
3118
3119        unsafe {
3120            ((*funcs).set_move_event)(
3121                obj_data,
3122                ::std::ptr::null(),
3123                Box::into_raw(f) as *const _,
3124                transmute(widget_move_trampoline as usize),
3125            );
3126        }
3127
3128        self
3129    }
3130    #[doc(hidden)]
3131    pub fn set_resize_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3132    where
3133        F: Fn(&T, &ResizeEvent) + 'a,
3134        T: 'a,
3135    {
3136        let (obj_data, funcs) = self.get_widget_obj_funcs();
3137
3138        let f: Box<Box<Fn(&T, &ResizeEvent) + 'a>> = Box::new(Box::new(func));
3139        let user_data = data as *const _ as *const c_void;
3140
3141        unsafe {
3142            ((*funcs).set_resize_event)(
3143                obj_data,
3144                user_data,
3145                Box::into_raw(f) as *const _,
3146                transmute(widget_resize_trampoline_ud::<T> as usize),
3147            );
3148        }
3149
3150        self
3151    }
3152
3153    pub fn set_resize_event<F>(&self, func: F) -> &Self
3154    where
3155        F: Fn(&ResizeEvent) + 'a,
3156    {
3157        let (obj_data, funcs) = self.get_widget_obj_funcs();
3158        let f: Box<Box<Fn(&ResizeEvent) + 'a>> = Box::new(Box::new(func));
3159
3160        unsafe {
3161            ((*funcs).set_resize_event)(
3162                obj_data,
3163                ::std::ptr::null(),
3164                Box::into_raw(f) as *const _,
3165                transmute(widget_resize_trampoline as usize),
3166            );
3167        }
3168
3169        self
3170    }
3171    #[doc(hidden)]
3172    pub fn set_close_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3173    where
3174        F: Fn(&T, &CloseEvent) + 'a,
3175        T: 'a,
3176    {
3177        let (obj_data, funcs) = self.get_widget_obj_funcs();
3178
3179        let f: Box<Box<Fn(&T, &CloseEvent) + 'a>> = Box::new(Box::new(func));
3180        let user_data = data as *const _ as *const c_void;
3181
3182        unsafe {
3183            ((*funcs).set_close_event)(
3184                obj_data,
3185                user_data,
3186                Box::into_raw(f) as *const _,
3187                transmute(widget_close_trampoline_ud::<T> as usize),
3188            );
3189        }
3190
3191        self
3192    }
3193
3194    pub fn set_close_event<F>(&self, func: F) -> &Self
3195    where
3196        F: Fn(&CloseEvent) + 'a,
3197    {
3198        let (obj_data, funcs) = self.get_widget_obj_funcs();
3199        let f: Box<Box<Fn(&CloseEvent) + 'a>> = Box::new(Box::new(func));
3200
3201        unsafe {
3202            ((*funcs).set_close_event)(
3203                obj_data,
3204                ::std::ptr::null(),
3205                Box::into_raw(f) as *const _,
3206                transmute(widget_close_trampoline as usize),
3207            );
3208        }
3209
3210        self
3211    }
3212    #[doc(hidden)]
3213    pub fn set_context_menu_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3214    where
3215        F: Fn(&T, &ContextMenuEvent) + 'a,
3216        T: 'a,
3217    {
3218        let (obj_data, funcs) = self.get_widget_obj_funcs();
3219
3220        let f: Box<Box<Fn(&T, &ContextMenuEvent) + 'a>> = Box::new(Box::new(func));
3221        let user_data = data as *const _ as *const c_void;
3222
3223        unsafe {
3224            ((*funcs).set_context_menu_event)(
3225                obj_data,
3226                user_data,
3227                Box::into_raw(f) as *const _,
3228                transmute(widget_context_menu_trampoline_ud::<T> as usize),
3229            );
3230        }
3231
3232        self
3233    }
3234
3235    pub fn set_context_menu_event<F>(&self, func: F) -> &Self
3236    where
3237        F: Fn(&ContextMenuEvent) + 'a,
3238    {
3239        let (obj_data, funcs) = self.get_widget_obj_funcs();
3240        let f: Box<Box<Fn(&ContextMenuEvent) + 'a>> = Box::new(Box::new(func));
3241
3242        unsafe {
3243            ((*funcs).set_context_menu_event)(
3244                obj_data,
3245                ::std::ptr::null(),
3246                Box::into_raw(f) as *const _,
3247                transmute(widget_context_menu_trampoline as usize),
3248            );
3249        }
3250
3251        self
3252    }
3253    #[doc(hidden)]
3254    pub fn set_tablet_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3255    where
3256        F: Fn(&T, &TabletEvent) + 'a,
3257        T: 'a,
3258    {
3259        let (obj_data, funcs) = self.get_widget_obj_funcs();
3260
3261        let f: Box<Box<Fn(&T, &TabletEvent) + 'a>> = Box::new(Box::new(func));
3262        let user_data = data as *const _ as *const c_void;
3263
3264        unsafe {
3265            ((*funcs).set_tablet_event)(
3266                obj_data,
3267                user_data,
3268                Box::into_raw(f) as *const _,
3269                transmute(widget_tablet_trampoline_ud::<T> as usize),
3270            );
3271        }
3272
3273        self
3274    }
3275
3276    pub fn set_tablet_event<F>(&self, func: F) -> &Self
3277    where
3278        F: Fn(&TabletEvent) + 'a,
3279    {
3280        let (obj_data, funcs) = self.get_widget_obj_funcs();
3281        let f: Box<Box<Fn(&TabletEvent) + 'a>> = Box::new(Box::new(func));
3282
3283        unsafe {
3284            ((*funcs).set_tablet_event)(
3285                obj_data,
3286                ::std::ptr::null(),
3287                Box::into_raw(f) as *const _,
3288                transmute(widget_tablet_trampoline as usize),
3289            );
3290        }
3291
3292        self
3293    }
3294    #[doc(hidden)]
3295    pub fn set_drag_enter_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3296    where
3297        F: Fn(&T, &DragEnterEvent) + 'a,
3298        T: 'a,
3299    {
3300        let (obj_data, funcs) = self.get_widget_obj_funcs();
3301
3302        let f: Box<Box<Fn(&T, &DragEnterEvent) + 'a>> = Box::new(Box::new(func));
3303        let user_data = data as *const _ as *const c_void;
3304
3305        unsafe {
3306            ((*funcs).set_drag_enter_event)(
3307                obj_data,
3308                user_data,
3309                Box::into_raw(f) as *const _,
3310                transmute(widget_drag_enter_trampoline_ud::<T> as usize),
3311            );
3312        }
3313
3314        self
3315    }
3316
3317    pub fn set_drag_enter_event<F>(&self, func: F) -> &Self
3318    where
3319        F: Fn(&DragEnterEvent) + 'a,
3320    {
3321        let (obj_data, funcs) = self.get_widget_obj_funcs();
3322        let f: Box<Box<Fn(&DragEnterEvent) + 'a>> = Box::new(Box::new(func));
3323
3324        unsafe {
3325            ((*funcs).set_drag_enter_event)(
3326                obj_data,
3327                ::std::ptr::null(),
3328                Box::into_raw(f) as *const _,
3329                transmute(widget_drag_enter_trampoline as usize),
3330            );
3331        }
3332
3333        self
3334    }
3335    #[doc(hidden)]
3336    pub fn set_drag_move_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3337    where
3338        F: Fn(&T, &DragMoveEvent) + 'a,
3339        T: 'a,
3340    {
3341        let (obj_data, funcs) = self.get_widget_obj_funcs();
3342
3343        let f: Box<Box<Fn(&T, &DragMoveEvent) + 'a>> = Box::new(Box::new(func));
3344        let user_data = data as *const _ as *const c_void;
3345
3346        unsafe {
3347            ((*funcs).set_drag_move_event)(
3348                obj_data,
3349                user_data,
3350                Box::into_raw(f) as *const _,
3351                transmute(widget_drag_move_trampoline_ud::<T> as usize),
3352            );
3353        }
3354
3355        self
3356    }
3357
3358    pub fn set_drag_move_event<F>(&self, func: F) -> &Self
3359    where
3360        F: Fn(&DragMoveEvent) + 'a,
3361    {
3362        let (obj_data, funcs) = self.get_widget_obj_funcs();
3363        let f: Box<Box<Fn(&DragMoveEvent) + 'a>> = Box::new(Box::new(func));
3364
3365        unsafe {
3366            ((*funcs).set_drag_move_event)(
3367                obj_data,
3368                ::std::ptr::null(),
3369                Box::into_raw(f) as *const _,
3370                transmute(widget_drag_move_trampoline as usize),
3371            );
3372        }
3373
3374        self
3375    }
3376    #[doc(hidden)]
3377    pub fn set_drag_leave_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3378    where
3379        F: Fn(&T, &DragLeaveEvent) + 'a,
3380        T: 'a,
3381    {
3382        let (obj_data, funcs) = self.get_widget_obj_funcs();
3383
3384        let f: Box<Box<Fn(&T, &DragLeaveEvent) + 'a>> = Box::new(Box::new(func));
3385        let user_data = data as *const _ as *const c_void;
3386
3387        unsafe {
3388            ((*funcs).set_drag_leave_event)(
3389                obj_data,
3390                user_data,
3391                Box::into_raw(f) as *const _,
3392                transmute(widget_drag_leave_trampoline_ud::<T> as usize),
3393            );
3394        }
3395
3396        self
3397    }
3398
3399    pub fn set_drag_leave_event<F>(&self, func: F) -> &Self
3400    where
3401        F: Fn(&DragLeaveEvent) + 'a,
3402    {
3403        let (obj_data, funcs) = self.get_widget_obj_funcs();
3404        let f: Box<Box<Fn(&DragLeaveEvent) + 'a>> = Box::new(Box::new(func));
3405
3406        unsafe {
3407            ((*funcs).set_drag_leave_event)(
3408                obj_data,
3409                ::std::ptr::null(),
3410                Box::into_raw(f) as *const _,
3411                transmute(widget_drag_leave_trampoline as usize),
3412            );
3413        }
3414
3415        self
3416    }
3417    #[doc(hidden)]
3418    pub fn set_drop_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3419    where
3420        F: Fn(&T, &DropEvent) + 'a,
3421        T: 'a,
3422    {
3423        let (obj_data, funcs) = self.get_widget_obj_funcs();
3424
3425        let f: Box<Box<Fn(&T, &DropEvent) + 'a>> = Box::new(Box::new(func));
3426        let user_data = data as *const _ as *const c_void;
3427
3428        unsafe {
3429            ((*funcs).set_drop_event)(
3430                obj_data,
3431                user_data,
3432                Box::into_raw(f) as *const _,
3433                transmute(widget_drop_trampoline_ud::<T> as usize),
3434            );
3435        }
3436
3437        self
3438    }
3439
3440    pub fn set_drop_event<F>(&self, func: F) -> &Self
3441    where
3442        F: Fn(&DropEvent) + 'a,
3443    {
3444        let (obj_data, funcs) = self.get_widget_obj_funcs();
3445        let f: Box<Box<Fn(&DropEvent) + 'a>> = Box::new(Box::new(func));
3446
3447        unsafe {
3448            ((*funcs).set_drop_event)(
3449                obj_data,
3450                ::std::ptr::null(),
3451                Box::into_raw(f) as *const _,
3452                transmute(widget_drop_trampoline as usize),
3453            );
3454        }
3455
3456        self
3457    }
3458    #[doc(hidden)]
3459    pub fn set_show_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3460    where
3461        F: Fn(&T, &ShowEvent) + 'a,
3462        T: 'a,
3463    {
3464        let (obj_data, funcs) = self.get_widget_obj_funcs();
3465
3466        let f: Box<Box<Fn(&T, &ShowEvent) + 'a>> = Box::new(Box::new(func));
3467        let user_data = data as *const _ as *const c_void;
3468
3469        unsafe {
3470            ((*funcs).set_show_event)(
3471                obj_data,
3472                user_data,
3473                Box::into_raw(f) as *const _,
3474                transmute(widget_show_trampoline_ud::<T> as usize),
3475            );
3476        }
3477
3478        self
3479    }
3480
3481    pub fn set_show_event<F>(&self, func: F) -> &Self
3482    where
3483        F: Fn(&ShowEvent) + 'a,
3484    {
3485        let (obj_data, funcs) = self.get_widget_obj_funcs();
3486        let f: Box<Box<Fn(&ShowEvent) + 'a>> = Box::new(Box::new(func));
3487
3488        unsafe {
3489            ((*funcs).set_show_event)(
3490                obj_data,
3491                ::std::ptr::null(),
3492                Box::into_raw(f) as *const _,
3493                transmute(widget_show_trampoline as usize),
3494            );
3495        }
3496
3497        self
3498    }
3499    #[doc(hidden)]
3500    pub fn set_hide_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3501    where
3502        F: Fn(&T, &HideEvent) + 'a,
3503        T: 'a,
3504    {
3505        let (obj_data, funcs) = self.get_widget_obj_funcs();
3506
3507        let f: Box<Box<Fn(&T, &HideEvent) + 'a>> = Box::new(Box::new(func));
3508        let user_data = data as *const _ as *const c_void;
3509
3510        unsafe {
3511            ((*funcs).set_hide_event)(
3512                obj_data,
3513                user_data,
3514                Box::into_raw(f) as *const _,
3515                transmute(widget_hide_trampoline_ud::<T> as usize),
3516            );
3517        }
3518
3519        self
3520    }
3521
3522    pub fn set_hide_event<F>(&self, func: F) -> &Self
3523    where
3524        F: Fn(&HideEvent) + 'a,
3525    {
3526        let (obj_data, funcs) = self.get_widget_obj_funcs();
3527        let f: Box<Box<Fn(&HideEvent) + 'a>> = Box::new(Box::new(func));
3528
3529        unsafe {
3530            ((*funcs).set_hide_event)(
3531                obj_data,
3532                ::std::ptr::null(),
3533                Box::into_raw(f) as *const _,
3534                transmute(widget_hide_trampoline as usize),
3535            );
3536        }
3537
3538        self
3539    }
3540    #[doc(hidden)]
3541    pub fn set_change_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3542    where
3543        F: Fn(&T, &Event) + 'a,
3544        T: 'a,
3545    {
3546        let (obj_data, funcs) = self.get_widget_obj_funcs();
3547
3548        let f: Box<Box<Fn(&T, &Event) + 'a>> = Box::new(Box::new(func));
3549        let user_data = data as *const _ as *const c_void;
3550
3551        unsafe {
3552            ((*funcs).set_change_event)(
3553                obj_data,
3554                user_data,
3555                Box::into_raw(f) as *const _,
3556                transmute(widget_change_trampoline_ud::<T> as usize),
3557            );
3558        }
3559
3560        self
3561    }
3562
3563    pub fn set_change_event<F>(&self, func: F) -> &Self
3564    where
3565        F: Fn(&Event) + 'a,
3566    {
3567        let (obj_data, funcs) = self.get_widget_obj_funcs();
3568        let f: Box<Box<Fn(&Event) + 'a>> = Box::new(Box::new(func));
3569
3570        unsafe {
3571            ((*funcs).set_change_event)(
3572                obj_data,
3573                ::std::ptr::null(),
3574                Box::into_raw(f) as *const _,
3575                transmute(widget_change_trampoline as usize),
3576            );
3577        }
3578
3579        self
3580    }
3581    #[doc(hidden)]
3582    pub fn input_method_hints(&self) -> InputMethodHints {
3583        let (obj_data, funcs) = self.get_widget_obj_funcs();
3584        unsafe {
3585            let ret_val = ((*funcs).input_method_hints)(obj_data);
3586            let ret_val = InputMethodHints::from_bits_truncate(ret_val);
3587            ret_val
3588        }
3589    }
3590    #[doc(hidden)]
3591    pub fn set_input_method_hints(&self, hints: InputMethodHints) -> &Self {
3592        let enum_hints_1 = hints.bits();
3593
3594        let (obj_data, funcs) = self.get_widget_obj_funcs();
3595        unsafe {
3596            ((*funcs).set_input_method_hints)(obj_data, enum_hints_1);
3597        }
3598        self
3599    }
3600    #[doc(hidden)]
3601    pub fn painting_active(&self) -> bool {
3602        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3603        unsafe {
3604            let ret_val = ((*funcs).painting_active)(obj_data);
3605            ret_val
3606        }
3607    }
3608    #[doc(hidden)]
3609    pub fn logical_dpi_x(&self) -> i32 {
3610        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3611        unsafe {
3612            let ret_val = ((*funcs).logical_dpi_x)(obj_data);
3613            ret_val
3614        }
3615    }
3616    #[doc(hidden)]
3617    pub fn logical_dpi_y(&self) -> i32 {
3618        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3619        unsafe {
3620            let ret_val = ((*funcs).logical_dpi_y)(obj_data);
3621            ret_val
3622        }
3623    }
3624    #[doc(hidden)]
3625    pub fn physical_dpi_x(&self) -> i32 {
3626        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3627        unsafe {
3628            let ret_val = ((*funcs).physical_dpi_x)(obj_data);
3629            ret_val
3630        }
3631    }
3632    #[doc(hidden)]
3633    pub fn physical_dpi_y(&self) -> i32 {
3634        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3635        unsafe {
3636            let ret_val = ((*funcs).physical_dpi_y)(obj_data);
3637            ret_val
3638        }
3639    }
3640    #[doc(hidden)]
3641    pub fn device_pixel_ratio(&self) -> i32 {
3642        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3643        unsafe {
3644            let ret_val = ((*funcs).device_pixel_ratio)(obj_data);
3645            ret_val
3646        }
3647    }
3648    #[doc(hidden)]
3649    pub fn device_pixel_ratio_f(&self) -> f32 {
3650        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3651        unsafe {
3652            let ret_val = ((*funcs).device_pixel_ratio_f)(obj_data);
3653            ret_val
3654        }
3655    }
3656    #[doc(hidden)]
3657    pub fn color_count(&self) -> i32 {
3658        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3659        unsafe {
3660            let ret_val = ((*funcs).color_count)(obj_data);
3661            ret_val
3662        }
3663    }
3664    #[doc(hidden)]
3665    pub fn depth(&self) -> i32 {
3666        let (obj_data, funcs) = self.get_paint_device_obj_funcs();
3667        unsafe {
3668            let ret_val = ((*funcs).depth)(obj_data);
3669            ret_val
3670        }
3671    }
3672    #[doc(hidden)]
3673    pub fn object_name(&self) -> String {
3674        let (obj_data, funcs) = self.get_object_obj_funcs();
3675        unsafe {
3676            let ret_val = ((*funcs).object_name)(obj_data);
3677            let ret_val = CStr::from_ptr(ret_val).to_string_lossy().into_owned();
3678            ret_val
3679        }
3680    }
3681    #[doc(hidden)]
3682    pub fn set_object_name(&self, name: &str) -> &Self {
3683        let str_in_name_1 = CString::new(name).unwrap();
3684
3685        let (obj_data, funcs) = self.get_object_obj_funcs();
3686        unsafe {
3687            ((*funcs).set_object_name)(obj_data, str_in_name_1.as_ptr());
3688        }
3689        self
3690    }
3691    #[doc(hidden)]
3692    pub fn is_widget_type(&self) -> bool {
3693        let (obj_data, funcs) = self.get_object_obj_funcs();
3694        unsafe {
3695            let ret_val = ((*funcs).is_widget_type)(obj_data);
3696            ret_val
3697        }
3698    }
3699    #[doc(hidden)]
3700    pub fn is_window_type(&self) -> bool {
3701        let (obj_data, funcs) = self.get_object_obj_funcs();
3702        unsafe {
3703            let ret_val = ((*funcs).is_window_type)(obj_data);
3704            ret_val
3705        }
3706    }
3707    #[doc(hidden)]
3708    pub fn signals_blocked(&self) -> bool {
3709        let (obj_data, funcs) = self.get_object_obj_funcs();
3710        unsafe {
3711            let ret_val = ((*funcs).signals_blocked)(obj_data);
3712            ret_val
3713        }
3714    }
3715    #[doc(hidden)]
3716    pub fn block_signals(&self, b: bool) -> bool {
3717        let (obj_data, funcs) = self.get_object_obj_funcs();
3718        unsafe {
3719            let ret_val = ((*funcs).block_signals)(obj_data, b);
3720            ret_val
3721        }
3722    }
3723    #[doc(hidden)]
3724    pub fn start_timer(&self, interval: i32, timer_type: TimerType) -> i32 {
3725        let enum_timer_type_2 = timer_type as u32;
3726
3727        let (obj_data, funcs) = self.get_object_obj_funcs();
3728        unsafe {
3729            let ret_val = ((*funcs).start_timer)(obj_data, interval, enum_timer_type_2);
3730            ret_val
3731        }
3732    }
3733    #[doc(hidden)]
3734    pub fn start_timer_2(&self, time: u32, timer_type: TimerType) -> i32 {
3735        let enum_timer_type_2 = timer_type as u32;
3736
3737        let (obj_data, funcs) = self.get_object_obj_funcs();
3738        unsafe {
3739            let ret_val = ((*funcs).start_timer_2)(obj_data, time, enum_timer_type_2);
3740            ret_val
3741        }
3742    }
3743    #[doc(hidden)]
3744    pub fn kill_timer(&self, id: i32) -> &Self {
3745        let (obj_data, funcs) = self.get_object_obj_funcs();
3746        unsafe {
3747            ((*funcs).kill_timer)(obj_data, id);
3748        }
3749        self
3750    }
3751    #[doc(hidden)]
3752    pub fn install_event_filter<O: ObjectTrait<'a>>(&self, filter_obj: &O) -> &Self {
3753        let (obj_filter_obj_1, _funcs) = filter_obj.get_object_obj_funcs();
3754
3755        let (obj_data, funcs) = self.get_object_obj_funcs();
3756        unsafe {
3757            ((*funcs).install_event_filter)(obj_data, obj_filter_obj_1);
3758        }
3759        self
3760    }
3761    #[doc(hidden)]
3762    pub fn dump_object_tree(&self) -> &Self {
3763        let (obj_data, funcs) = self.get_object_obj_funcs();
3764        unsafe {
3765            ((*funcs).dump_object_tree)(obj_data);
3766        }
3767        self
3768    }
3769    #[doc(hidden)]
3770    pub fn dump_object_info(&self) -> &Self {
3771        let (obj_data, funcs) = self.get_object_obj_funcs();
3772        unsafe {
3773            ((*funcs).dump_object_info)(obj_data);
3774        }
3775        self
3776    }
3777    #[doc(hidden)]
3778    pub fn dump_object_tree_2(&self) -> &Self {
3779        let (obj_data, funcs) = self.get_object_obj_funcs();
3780        unsafe {
3781            ((*funcs).dump_object_tree_2)(obj_data);
3782        }
3783        self
3784    }
3785    #[doc(hidden)]
3786    pub fn dump_object_info_2(&self) -> &Self {
3787        let (obj_data, funcs) = self.get_object_obj_funcs();
3788        unsafe {
3789            ((*funcs).dump_object_info_2)(obj_data);
3790        }
3791        self
3792    }
3793    #[doc(hidden)]
3794    pub fn parent(&self) -> Option<Object> {
3795        let (obj_data, funcs) = self.get_object_obj_funcs();
3796        unsafe {
3797            let ret_val = ((*funcs).parent)(obj_data);
3798            if ret_val.qt_data == ::std::ptr::null() {
3799                return None;
3800            }
3801            let t = ret_val;
3802            let ret_val;
3803            if t.host_data != ::std::ptr::null() {
3804                ret_val = Object::new_from_rc(t);
3805            } else {
3806                ret_val = Object::new_from_owned(t);
3807            }
3808            Some(ret_val)
3809        }
3810    }
3811    #[doc(hidden)]
3812    pub fn delete_later(&self) -> &Self {
3813        let (obj_data, funcs) = self.get_object_obj_funcs();
3814        unsafe {
3815            ((*funcs).delete_later)(obj_data);
3816        }
3817        self
3818    }
3819    #[doc(hidden)]
3820    pub fn set_custom_event_ud<F, T>(&self, data: &'a T, func: F) -> &Self
3821    where
3822        F: Fn(&T, &Event) + 'a,
3823        T: 'a,
3824    {
3825        let (obj_data, funcs) = self.get_object_obj_funcs();
3826
3827        let f: Box<Box<Fn(&T, &Event) + 'a>> = Box::new(Box::new(func));
3828        let user_data = data as *const _ as *const c_void;
3829
3830        unsafe {
3831            ((*funcs).set_custom_event)(
3832                obj_data,
3833                user_data,
3834                Box::into_raw(f) as *const _,
3835                transmute(object_custom_trampoline_ud::<T> as usize),
3836            );
3837        }
3838
3839        self
3840    }
3841
3842    pub fn set_custom_event<F>(&self, func: F) -> &Self
3843    where
3844        F: Fn(&Event) + 'a,
3845    {
3846        let (obj_data, funcs) = self.get_object_obj_funcs();
3847        let f: Box<Box<Fn(&Event) + 'a>> = Box::new(Box::new(func));
3848
3849        unsafe {
3850            ((*funcs).set_custom_event)(
3851                obj_data,
3852                ::std::ptr::null(),
3853                Box::into_raw(f) as *const _,
3854                transmute(object_custom_trampoline as usize),
3855            );
3856        }
3857
3858        self
3859    }
3860
3861    pub fn build(&self) -> Self {
3862        self.clone()
3863    }
3864}
3865pub trait DesktopWidgetTrait<'a> {
3866    #[inline]
3867    #[doc(hidden)]
3868    fn get_desktop_widget_obj_funcs(&self) -> (*const RUBase, *const RUDesktopWidgetFuncs);
3869}
3870
3871impl<'a> ObjectTrait<'a> for DesktopWidget<'a> {
3872    #[doc(hidden)]
3873    fn get_object_obj_funcs(&self) -> (*const RUBase, *const RUObjectFuncs) {
3874        let obj = self.data.get().unwrap();
3875        unsafe { (obj, (*self.all_funcs).object_funcs) }
3876    }
3877}
3878
3879impl<'a> PaintDeviceTrait<'a> for DesktopWidget<'a> {
3880    #[doc(hidden)]
3881    fn get_paint_device_obj_funcs(&self) -> (*const RUBase, *const RUPaintDeviceFuncs) {
3882        let obj = self.data.get().unwrap();
3883        unsafe { (obj, (*self.all_funcs).paint_device_funcs) }
3884    }
3885}
3886
3887impl<'a> WidgetTrait<'a> for DesktopWidget<'a> {
3888    #[doc(hidden)]
3889    fn get_widget_obj_funcs(&self) -> (*const RUBase, *const RUWidgetFuncs) {
3890        let obj = self.data.get().unwrap();
3891        unsafe { (obj, (*self.all_funcs).widget_funcs) }
3892    }
3893}
3894
3895impl<'a> DesktopWidgetTrait<'a> for DesktopWidget<'a> {
3896    #[doc(hidden)]
3897    fn get_desktop_widget_obj_funcs(&self) -> (*const RUBase, *const RUDesktopWidgetFuncs) {
3898        let obj = self.data.get().unwrap();
3899        unsafe { (obj, (*self.all_funcs).desktop_widget_funcs) }
3900    }
3901}