gtk/auto/
tree_row_reference.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 glib;
6use glib::object::IsA;
7use glib::translate::*;
8use gtk_sys;
9use TreeModel;
10use TreePath;
11
12glib_wrapper! {
13    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
14    pub struct TreeRowReference(Boxed<gtk_sys::GtkTreeRowReference>);
15
16    match fn {
17        copy => |ptr| gtk_sys::gtk_tree_row_reference_copy(mut_override(ptr)),
18        free => |ptr| gtk_sys::gtk_tree_row_reference_free(ptr),
19        get_type => || gtk_sys::gtk_tree_row_reference_get_type(),
20    }
21}
22
23impl TreeRowReference {
24    pub fn new<P: IsA<TreeModel>>(model: &P, path: &TreePath) -> Option<TreeRowReference> {
25        skip_assert_initialized!();
26        unsafe {
27            from_glib_full(gtk_sys::gtk_tree_row_reference_new(
28                model.as_ref().to_glib_none().0,
29                mut_override(path.to_glib_none().0),
30            ))
31        }
32    }
33
34    pub fn new_proxy<P: IsA<glib::Object>, Q: IsA<TreeModel>>(
35        proxy: &P,
36        model: &Q,
37        path: &TreePath,
38    ) -> Option<TreeRowReference> {
39        skip_assert_initialized!();
40        unsafe {
41            from_glib_full(gtk_sys::gtk_tree_row_reference_new_proxy(
42                proxy.as_ref().to_glib_none().0,
43                model.as_ref().to_glib_none().0,
44                mut_override(path.to_glib_none().0),
45            ))
46        }
47    }
48
49    pub fn get_model(&self) -> TreeModel {
50        unsafe {
51            from_glib_none(gtk_sys::gtk_tree_row_reference_get_model(mut_override(
52                self.to_glib_none().0,
53            )))
54        }
55    }
56
57    pub fn get_path(&self) -> Option<TreePath> {
58        unsafe {
59            from_glib_full(gtk_sys::gtk_tree_row_reference_get_path(mut_override(
60                self.to_glib_none().0,
61            )))
62        }
63    }
64
65    pub fn valid(&self) -> bool {
66        unsafe {
67            from_glib(gtk_sys::gtk_tree_row_reference_valid(mut_override(
68                self.to_glib_none().0,
69            )))
70        }
71    }
72
73    pub fn deleted<P: IsA<glib::Object>>(proxy: &P, path: &TreePath) {
74        assert_initialized_main_thread!();
75        unsafe {
76            gtk_sys::gtk_tree_row_reference_deleted(
77                proxy.as_ref().to_glib_none().0,
78                mut_override(path.to_glib_none().0),
79            );
80        }
81    }
82
83    pub fn inserted<P: IsA<glib::Object>>(proxy: &P, path: &TreePath) {
84        assert_initialized_main_thread!();
85        unsafe {
86            gtk_sys::gtk_tree_row_reference_inserted(
87                proxy.as_ref().to_glib_none().0,
88                mut_override(path.to_glib_none().0),
89            );
90        }
91    }
92
93    //pub fn reordered<P: IsA<glib::Object>>(proxy: &P, path: &mut TreePath, iter: &mut TreeIter, new_order: &[i32]) {
94    //    unsafe { TODO: call gtk_sys:gtk_tree_row_reference_reordered() }
95    //}
96}