1use std::ptr;
4
5use glib::translate::*;
6
7use crate::{
8 ffi, prelude::*, ButtonsType, DialogFlags, MessageDialog, MessageType, Widget, Window,
9};
10
11impl MessageDialog {
12 #[doc(alias = "gtk_message_dialog_new")]
13 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
14 #[allow(deprecated)]
15 pub fn new(
16 parent: Option<&impl IsA<Window>>,
17 flags: DialogFlags,
18 type_: MessageType,
19 buttons: ButtonsType,
20 message: impl IntoGStr,
21 ) -> Self {
22 assert_initialized_main_thread!();
23 unsafe {
24 message.run_with_gstr(|message| {
25 Widget::from_glib_none(ffi::gtk_message_dialog_new(
26 parent.map(|p| p.as_ref()).to_glib_none().0,
27 flags.into_glib(),
28 type_.into_glib(),
29 buttons.into_glib(),
30 c"%s".as_ptr() as *const libc::c_char,
31 message.as_ptr(),
32 ptr::null::<libc::c_char>(),
33 ))
34 .unsafe_cast()
35 })
36 }
37 }
38
39 #[doc(alias = "gtk_message_dialog_new_with_markup")]
40 #[doc(alias = "new_with_markup")]
41 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
42 #[allow(deprecated)]
43 pub fn with_markup(
44 parent: Option<&impl IsA<Window>>,
45 flags: DialogFlags,
46 type_: MessageType,
47 buttons: ButtonsType,
48 message: impl IntoOptionalGStr,
49 ) -> Self {
50 assert_initialized_main_thread!();
51 unsafe {
52 message.run_with_gstr(|message| {
53 Widget::from_glib_none(ffi::gtk_message_dialog_new_with_markup(
54 parent.map(|p| p.as_ref()).to_glib_none().0,
55 flags.into_glib(),
56 type_.into_glib(),
57 buttons.into_glib(),
58 message.to_glib_none().0,
59 ))
60 .unsafe_cast()
61 })
62 }
63 }
64
65 #[doc(alias = "gtk_message_dialog_format_secondary_markup")]
66 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
67 #[allow(deprecated)]
68 pub fn format_secondary_markup(&self, message: impl IntoOptionalGStr) {
69 unsafe {
70 message.run_with_gstr(|message| {
71 ffi::gtk_message_dialog_format_secondary_markup(
72 self.to_glib_none().0,
73 message.to_glib_none().0,
74 )
75 })
76 }
77 }
78
79 #[doc(alias = "gtk_message_dialog_format_secondary_text")]
80 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
81 #[allow(deprecated)]
82 pub fn format_secondary_text(&self, message: impl IntoOptionalGStr) {
83 unsafe {
84 message.run_with_gstr(|message| {
85 ffi::gtk_message_dialog_format_secondary_text(
86 self.to_glib_none().0,
87 message.to_glib_none().0,
88 )
89 })
90 }
91 }
92}
93
94impl Default for MessageDialog {
95 fn default() -> Self {
96 glib::Object::new()
97 }
98}