1 // This file was generated by gir (https://github.com/gtk-rs/gir)
2 // from gir-files (https://github.com/gtk-rs/gir-files)
3 // DO NOT EDIT
4 
5 use crate::TextBuffer;
6 use glib::object::IsA;
7 use glib::translate::*;
8 use std::mem;
9 
10 glib::wrapper! {
11     #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
12     pub struct TargetList(Shared<ffi::GtkTargetList>);
13 
14     match fn {
15         ref => |ptr| ffi::gtk_target_list_ref(ptr),
16         unref => |ptr| ffi::gtk_target_list_unref(ptr),
17         type_ => || ffi::gtk_target_list_get_type(),
18     }
19 }
20 
21 impl TargetList {
22     #[doc(alias = "gtk_target_list_add")]
add(&self, target: &gdk::Atom, flags: u32, info: u32)23     pub fn add(&self, target: &gdk::Atom, flags: u32, info: u32) {
24         unsafe {
25             ffi::gtk_target_list_add(self.to_glib_none().0, target.to_glib_none().0, flags, info);
26         }
27     }
28 
29     #[doc(alias = "gtk_target_list_add_image_targets")]
add_image_targets(&self, info: u32, writable: bool)30     pub fn add_image_targets(&self, info: u32, writable: bool) {
31         unsafe {
32             ffi::gtk_target_list_add_image_targets(
33                 self.to_glib_none().0,
34                 info,
35                 writable.into_glib(),
36             );
37         }
38     }
39 
40     #[doc(alias = "gtk_target_list_add_rich_text_targets")]
add_rich_text_targets<P: IsA<TextBuffer>>( &self, info: u32, deserializable: bool, buffer: &P, )41     pub fn add_rich_text_targets<P: IsA<TextBuffer>>(
42         &self,
43         info: u32,
44         deserializable: bool,
45         buffer: &P,
46     ) {
47         unsafe {
48             ffi::gtk_target_list_add_rich_text_targets(
49                 self.to_glib_none().0,
50                 info,
51                 deserializable.into_glib(),
52                 buffer.as_ref().to_glib_none().0,
53             );
54         }
55     }
56 
57     #[doc(alias = "gtk_target_list_add_text_targets")]
add_text_targets(&self, info: u32)58     pub fn add_text_targets(&self, info: u32) {
59         unsafe {
60             ffi::gtk_target_list_add_text_targets(self.to_glib_none().0, info);
61         }
62     }
63 
64     #[doc(alias = "gtk_target_list_add_uri_targets")]
add_uri_targets(&self, info: u32)65     pub fn add_uri_targets(&self, info: u32) {
66         unsafe {
67             ffi::gtk_target_list_add_uri_targets(self.to_glib_none().0, info);
68         }
69     }
70 
71     #[doc(alias = "gtk_target_list_find")]
find(&self, target: &gdk::Atom) -> Option<u32>72     pub fn find(&self, target: &gdk::Atom) -> Option<u32> {
73         unsafe {
74             let mut info = mem::MaybeUninit::uninit();
75             let ret = from_glib(ffi::gtk_target_list_find(
76                 self.to_glib_none().0,
77                 target.to_glib_none().0,
78                 info.as_mut_ptr(),
79             ));
80             let info = info.assume_init();
81             if ret {
82                 Some(info)
83             } else {
84                 None
85             }
86         }
87     }
88 
89     #[doc(alias = "gtk_target_list_remove")]
remove(&self, target: &gdk::Atom)90     pub fn remove(&self, target: &gdk::Atom) {
91         unsafe {
92             ffi::gtk_target_list_remove(self.to_glib_none().0, target.to_glib_none().0);
93         }
94     }
95 }
96