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 glib::object::IsA;
6 use glib::translate::*;
7 use gtk_sys;
8 use std::fmt;
9 use TreeDragSource;
10 use TreeIter;
11 use TreeModel;
12 use TreePath;
13 use TreeSortable;
14 
15 glib_wrapper! {
16     pub struct TreeModelSort(Object<gtk_sys::GtkTreeModelSort, gtk_sys::GtkTreeModelSortClass, TreeModelSortClass>) @implements TreeDragSource, TreeModel, TreeSortable;
17 
18     match fn {
19         get_type => || gtk_sys::gtk_tree_model_sort_get_type(),
20     }
21 }
22 
23 pub const NONE_TREE_MODEL_SORT: Option<&TreeModelSort> = None;
24 
25 pub trait TreeModelSortExt: 'static {
clear_cache(&self)26     fn clear_cache(&self);
27 
convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter>28     fn convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter>;
29 
convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath>30     fn convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath>;
31 
convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter32     fn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter;
33 
convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath>34     fn convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath>;
35 
get_model(&self) -> TreeModel36     fn get_model(&self) -> TreeModel;
37 
iter_is_valid(&self, iter: &TreeIter) -> bool38     fn iter_is_valid(&self, iter: &TreeIter) -> bool;
39 
reset_default_sort_func(&self)40     fn reset_default_sort_func(&self);
41 }
42 
43 impl<O: IsA<TreeModelSort>> TreeModelSortExt for O {
clear_cache(&self)44     fn clear_cache(&self) {
45         unsafe {
46             gtk_sys::gtk_tree_model_sort_clear_cache(self.as_ref().to_glib_none().0);
47         }
48     }
49 
convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter>50     fn convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter> {
51         unsafe {
52             let mut sort_iter = TreeIter::uninitialized();
53             let ret = from_glib(gtk_sys::gtk_tree_model_sort_convert_child_iter_to_iter(
54                 self.as_ref().to_glib_none().0,
55                 sort_iter.to_glib_none_mut().0,
56                 mut_override(child_iter.to_glib_none().0),
57             ));
58             if ret {
59                 Some(sort_iter)
60             } else {
61                 None
62             }
63         }
64     }
65 
convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath>66     fn convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath> {
67         unsafe {
68             from_glib_full(gtk_sys::gtk_tree_model_sort_convert_child_path_to_path(
69                 self.as_ref().to_glib_none().0,
70                 mut_override(child_path.to_glib_none().0),
71             ))
72         }
73     }
74 
convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter75     fn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter {
76         unsafe {
77             let mut child_iter = TreeIter::uninitialized();
78             gtk_sys::gtk_tree_model_sort_convert_iter_to_child_iter(
79                 self.as_ref().to_glib_none().0,
80                 child_iter.to_glib_none_mut().0,
81                 mut_override(sorted_iter.to_glib_none().0),
82             );
83             child_iter
84         }
85     }
86 
convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath>87     fn convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath> {
88         unsafe {
89             from_glib_full(gtk_sys::gtk_tree_model_sort_convert_path_to_child_path(
90                 self.as_ref().to_glib_none().0,
91                 mut_override(sorted_path.to_glib_none().0),
92             ))
93         }
94     }
95 
get_model(&self) -> TreeModel96     fn get_model(&self) -> TreeModel {
97         unsafe {
98             from_glib_none(gtk_sys::gtk_tree_model_sort_get_model(
99                 self.as_ref().to_glib_none().0,
100             ))
101         }
102     }
103 
iter_is_valid(&self, iter: &TreeIter) -> bool104     fn iter_is_valid(&self, iter: &TreeIter) -> bool {
105         unsafe {
106             from_glib(gtk_sys::gtk_tree_model_sort_iter_is_valid(
107                 self.as_ref().to_glib_none().0,
108                 mut_override(iter.to_glib_none().0),
109             ))
110         }
111     }
112 
reset_default_sort_func(&self)113     fn reset_default_sort_func(&self) {
114         unsafe {
115             gtk_sys::gtk_tree_model_sort_reset_default_sort_func(self.as_ref().to_glib_none().0);
116         }
117     }
118 }
119 
120 impl fmt::Display for TreeModelSort {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result121     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
122         write!(f, "TreeModelSort")
123     }
124 }
125