gtk/auto/
target_list.rs

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
5use gdk;
6use glib::object::IsA;
7use glib::translate::*;
8use gtk_sys;
9use std::mem;
10use TextBuffer;
11
12glib_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
23impl TargetList {
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
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
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
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
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
73    pub fn find(&self, target: &gdk::Atom) -> Option<u32> {
74        unsafe {
75            let mut info = mem::uninitialized();
76            let ret = from_glib(gtk_sys::gtk_target_list_find(
77                self.to_glib_none().0,
78                target.to_glib_none().0,
79                &mut info,
80            ));
81            if ret {
82                Some(info)
83            } else {
84                None
85            }
86        }
87    }
88
89    pub fn remove(&self, target: &gdk::Atom) {
90        unsafe {
91            gtk_sys::gtk_target_list_remove(self.to_glib_none().0, target.to_glib_none().0);
92        }
93    }
94}