gtk/auto/
tree_drag_dest.rs1use crate::{SelectionData, TreePath};
6use glib::{prelude::*, translate::*};
7use std::fmt;
8
9glib::wrapper! {
10 #[doc(alias = "GtkTreeDragDest")]
11 pub struct TreeDragDest(Interface<ffi::GtkTreeDragDest, ffi::GtkTreeDragDestIface>);
12
13 match fn {
14 type_ => || ffi::gtk_tree_drag_dest_get_type(),
15 }
16}
17
18impl TreeDragDest {
19 pub const NONE: Option<&'static TreeDragDest> = None;
20}
21
22mod sealed {
23 pub trait Sealed {}
24 impl<T: super::IsA<super::TreeDragDest>> Sealed for T {}
25}
26
27pub trait TreeDragDestExt: IsA<TreeDragDest> + sealed::Sealed + 'static {
28 #[doc(alias = "gtk_tree_drag_dest_drag_data_received")]
29 fn drag_data_received(&self, dest: &mut TreePath, selection_data: &mut SelectionData) -> bool {
30 unsafe {
31 from_glib(ffi::gtk_tree_drag_dest_drag_data_received(
32 self.as_ref().to_glib_none().0,
33 dest.to_glib_none_mut().0,
34 selection_data.to_glib_none_mut().0,
35 ))
36 }
37 }
38
39 #[doc(alias = "gtk_tree_drag_dest_row_drop_possible")]
40 fn row_drop_possible(
41 &self,
42 dest_path: &mut TreePath,
43 selection_data: &mut SelectionData,
44 ) -> bool {
45 unsafe {
46 from_glib(ffi::gtk_tree_drag_dest_row_drop_possible(
47 self.as_ref().to_glib_none().0,
48 dest_path.to_glib_none_mut().0,
49 selection_data.to_glib_none_mut().0,
50 ))
51 }
52 }
53}
54
55impl<O: IsA<TreeDragDest>> TreeDragDestExt for O {}
56
57impl fmt::Display for TreeDragDest {
58 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
59 f.write_str("TreeDragDest")
60 }
61}