1use crate::{ffi, Widget};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9 #[doc(alias = "GtkTooltip")]
10 pub struct Tooltip(Object<ffi::GtkTooltip>);
11
12 match fn {
13 type_ => || ffi::gtk_tooltip_get_type(),
14 }
15}
16
17impl Tooltip {
18 #[doc(alias = "gtk_tooltip_set_custom")]
19 pub fn set_custom(&self, custom_widget: Option<&impl IsA<Widget>>) {
20 unsafe {
21 ffi::gtk_tooltip_set_custom(
22 self.to_glib_none().0,
23 custom_widget.map(|p| p.as_ref()).to_glib_none().0,
24 );
25 }
26 }
27
28 #[doc(alias = "gtk_tooltip_set_icon")]
29 pub fn set_icon(&self, paintable: Option<&impl IsA<gdk::Paintable>>) {
30 unsafe {
31 ffi::gtk_tooltip_set_icon(
32 self.to_glib_none().0,
33 paintable.map(|p| p.as_ref()).to_glib_none().0,
34 );
35 }
36 }
37
38 #[doc(alias = "gtk_tooltip_set_icon_from_gicon")]
39 pub fn set_icon_from_gicon(&self, gicon: Option<&impl IsA<gio::Icon>>) {
40 unsafe {
41 ffi::gtk_tooltip_set_icon_from_gicon(
42 self.to_glib_none().0,
43 gicon.map(|p| p.as_ref()).to_glib_none().0,
44 );
45 }
46 }
47
48 #[doc(alias = "gtk_tooltip_set_icon_from_icon_name")]
49 pub fn set_icon_from_icon_name(&self, icon_name: Option<&str>) {
50 unsafe {
51 ffi::gtk_tooltip_set_icon_from_icon_name(
52 self.to_glib_none().0,
53 icon_name.to_glib_none().0,
54 );
55 }
56 }
57
58 #[doc(alias = "gtk_tooltip_set_markup")]
59 pub fn set_markup(&self, markup: Option<&str>) {
60 unsafe {
61 ffi::gtk_tooltip_set_markup(self.to_glib_none().0, markup.to_glib_none().0);
62 }
63 }
64
65 #[doc(alias = "gtk_tooltip_set_text")]
66 pub fn set_text(&self, text: Option<&str>) {
67 unsafe {
68 ffi::gtk_tooltip_set_text(self.to_glib_none().0, text.to_glib_none().0);
69 }
70 }
71
72 #[doc(alias = "gtk_tooltip_set_tip_area")]
73 pub fn set_tip_area(&self, rect: &gdk::Rectangle) {
74 unsafe {
75 ffi::gtk_tooltip_set_tip_area(self.to_glib_none().0, rect.to_glib_none().0);
76 }
77 }
78}