1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#[macro_export]
macro_rules! is_widget {
($widget:ident, $inner_widget:ident) => {
impl<'a> ::glib::translate::ToGlibPtr<'a, *const ::gtk_sys::GtkWidget> for $widget {
type Storage = <::glib::object::ObjectRef as
::glib::translate::ToGlibPtr<'a, *mut ::glib::object::GObject>>::Storage;
#[inline]
fn to_glib_none(&'a self) -> ::glib::translate::Stash<'a, *const ::gtk_sys::GtkWidget, Self> {
let stash: ::glib::translate::Stash<'a, *const _, _> = self.$inner_widget.to_glib_none();
::glib::translate::Stash(stash.0 as *const _, stash.1)
}
#[inline]
fn to_glib_full(&self) -> *const ::gtk_sys::GtkWidget {
let widget: *const _ = self.$inner_widget.to_glib_full();
widget as *const _
}
}
impl<'a> ::glib::translate::ToGlibPtr<'a, *mut ::gtk_sys::GtkWidget> for $widget {
type Storage = <::glib::object::ObjectRef as
::glib::translate::ToGlibPtr<'a, *mut ::glib::object::GObject>>::Storage;
#[inline]
fn to_glib_none(&'a self) -> ::glib::translate::Stash<'a, *mut ::gtk_sys::GtkWidget, Self> {
let stash: ::glib::translate::Stash<'a, *mut _, _> = self.$inner_widget.to_glib_none();
::glib::translate::Stash(stash.0 as *mut _, stash.1)
}
#[inline]
fn to_glib_full(&self) -> *mut ::gtk_sys::GtkWidget {
let widget: *mut _ = self.$inner_widget.to_glib_full();
widget as *mut _
}
}
impl<'a> ::glib::translate::ToGlibPtr<'a, *mut ::glib::object::GObject> for $widget {
type Storage = <::glib::object::ObjectRef as
::glib::translate::ToGlibPtr<'a, *mut ::glib::object::GObject>>::Storage;
#[inline]
fn to_glib_none(&'a self)
-> ::glib::translate::Stash<'a, *mut ::glib::object::GObject, Self> {
let stash: ::glib::translate::Stash<'a, *mut _, _> = self.$inner_widget.to_glib_none();
::glib::translate::Stash(stash.0 as *mut _, stash.1)
}
#[inline]
fn to_glib_full(&self) -> *mut ::glib::object::GObject {
let widget: *mut _ = self.$inner_widget.to_glib_full();
widget as *mut _
}
}
impl Into<::glib::object::ObjectRef> for $widget {
fn into(self) -> ::glib::object::ObjectRef {
self.$inner_widget.into()
}
}
impl ::glib::types::StaticType for $widget {
fn static_type() -> ::glib::types::Type {
unsafe { ::glib::translate::from_glib(::gtk_sys::gtk_box_get_type()) }
}
}
impl ::glib::wrapper::UnsafeFrom<::glib::object::ObjectRef> for $widget {
unsafe fn from(_t: ::glib::object::ObjectRef) -> Self {
unimplemented!()
}
}
impl ::glib::wrapper::Wrapper for $widget {
type GlibType = ::gtk_sys::GtkWidget;
}
impl ::gtk::IsA<::gtk::Widget> for $widget {}
impl ::gtk::IsA<::glib::Object> for $widget {}
};
}