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