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