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