webkit2gtk/
script_dialog.rs1use std::ffi::{CStr, CString};
5
6use ffi;
7use glib::translate::{IntoGlib, ToGlibPtr, from_glib, mut_override};
8
9use super::ScriptDialogType;
10
11glib::wrapper! {
12 pub struct ScriptDialog(Boxed<ffi::WebKitScriptDialog>);
13
14 match fn {
15 copy => |ptr| webkit_script_dialog_copy(ptr),
16 free => |ptr| webkit_script_dialog_free(ptr),
17 }
18}
19
20impl ScriptDialog {
21 pub fn confirm_set_confirmed(&self, confirmed: bool) {
22 unsafe { ffi::webkit_script_dialog_confirm_set_confirmed(mut_override(self.to_glib_none().0), confirmed.into_glib()); }
23 }
24
25 pub fn get_dialog_type(&self) -> ScriptDialogType {
26 unsafe { from_glib(ffi::webkit_script_dialog_get_dialog_type(mut_override(self.to_glib_none().0))) }
27 }
28
29 pub fn get_message(&self) -> &str {
30 let c_str = unsafe { ffi::webkit_script_dialog_get_message(mut_override(self.to_glib_none().0)) };
31 let c_str = unsafe { CStr::from_ptr(c_str) };
32 c_str.to_str().unwrap()
33 }
34
35 pub fn prompt_get_default_text(&self) -> &str {
36 let c_str = unsafe { ffi::webkit_script_dialog_prompt_get_default_text(mut_override(self.to_glib_none().0)) };
37 let c_str = unsafe { CStr::from_ptr(c_str) };
38 c_str.to_str().unwrap()
39 }
40
41 pub fn prompt_set_text(&self, text: &str) {
42 let c_str = CString::new(text).unwrap();
43 unsafe { ffi::webkit_script_dialog_prompt_set_text(mut_override(self.to_glib_none().0), c_str.as_ptr()) };
44 }
45}
46
47fn webkit_script_dialog_copy(dialog: *const ffi::WebKitScriptDialog) -> *mut ffi::WebKitScriptDialog {
48 skip_assert_initialized!();
49 dialog as *mut _
50}
51
52fn webkit_script_dialog_free(_dialog: *const ffi::WebKitScriptDialog) {
53 skip_assert_initialized!();
54}