gtk4/auto/
tree_model_sort.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#![allow(deprecated)]
5
6use crate::{ffi, TreeDragSource, TreeIter, TreeModel, TreePath, TreeSortable};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "GtkTreeModelSort")]
11    pub struct TreeModelSort(Object<ffi::GtkTreeModelSort, ffi::GtkTreeModelSortClass>) @implements TreeDragSource, TreeModel, TreeSortable;
12
13    match fn {
14        type_ => || ffi::gtk_tree_model_sort_get_type(),
15    }
16}
17
18impl TreeModelSort {
19    pub const NONE: Option<&'static TreeModelSort> = None;
20
21    #[doc(alias = "gtk_tree_model_sort_new_with_model")]
22    #[doc(alias = "new_with_model")]
23    pub fn with_model(child_model: &impl IsA<TreeModel>) -> TreeModelSort {
24        skip_assert_initialized!();
25        unsafe {
26            from_glib_full(ffi::gtk_tree_model_sort_new_with_model(
27                child_model.as_ref().to_glib_none().0,
28            ))
29        }
30    }
31}
32
33pub trait TreeModelSortExt: IsA<TreeModelSort> + 'static {
34    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
35    #[allow(deprecated)]
36    #[doc(alias = "gtk_tree_model_sort_clear_cache")]
37    fn clear_cache(&self) {
38        unsafe {
39            ffi::gtk_tree_model_sort_clear_cache(self.as_ref().to_glib_none().0);
40        }
41    }
42
43    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
44    #[allow(deprecated)]
45    #[doc(alias = "gtk_tree_model_sort_convert_child_iter_to_iter")]
46    fn convert_child_iter_to_iter(&self, child_iter: &TreeIter) -> Option<TreeIter> {
47        unsafe {
48            let mut sort_iter = TreeIter::uninitialized();
49            let ret = from_glib(ffi::gtk_tree_model_sort_convert_child_iter_to_iter(
50                self.as_ref().to_glib_none().0,
51                sort_iter.to_glib_none_mut().0,
52                mut_override(child_iter.to_glib_none().0),
53            ));
54            if ret {
55                Some(sort_iter)
56            } else {
57                None
58            }
59        }
60    }
61
62    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
63    #[allow(deprecated)]
64    #[doc(alias = "gtk_tree_model_sort_convert_child_path_to_path")]
65    fn convert_child_path_to_path(&self, child_path: &TreePath) -> Option<TreePath> {
66        unsafe {
67            from_glib_full(ffi::gtk_tree_model_sort_convert_child_path_to_path(
68                self.as_ref().to_glib_none().0,
69                mut_override(child_path.to_glib_none().0),
70            ))
71        }
72    }
73
74    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
75    #[allow(deprecated)]
76    #[doc(alias = "gtk_tree_model_sort_convert_iter_to_child_iter")]
77    fn convert_iter_to_child_iter(&self, sorted_iter: &TreeIter) -> TreeIter {
78        unsafe {
79            let mut child_iter = TreeIter::uninitialized();
80            ffi::gtk_tree_model_sort_convert_iter_to_child_iter(
81                self.as_ref().to_glib_none().0,
82                child_iter.to_glib_none_mut().0,
83                mut_override(sorted_iter.to_glib_none().0),
84            );
85            child_iter
86        }
87    }
88
89    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
90    #[allow(deprecated)]
91    #[doc(alias = "gtk_tree_model_sort_convert_path_to_child_path")]
92    fn convert_path_to_child_path(&self, sorted_path: &TreePath) -> Option<TreePath> {
93        unsafe {
94            from_glib_full(ffi::gtk_tree_model_sort_convert_path_to_child_path(
95                self.as_ref().to_glib_none().0,
96                mut_override(sorted_path.to_glib_none().0),
97            ))
98        }
99    }
100
101    #[doc(alias = "gtk_tree_model_sort_get_model")]
102    #[doc(alias = "get_model")]
103    fn model(&self) -> TreeModel {
104        unsafe {
105            from_glib_none(ffi::gtk_tree_model_sort_get_model(
106                self.as_ref().to_glib_none().0,
107            ))
108        }
109    }
110
111    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
112    #[allow(deprecated)]
113    #[doc(alias = "gtk_tree_model_sort_iter_is_valid")]
114    fn iter_is_valid(&self, iter: &TreeIter) -> bool {
115        unsafe {
116            from_glib(ffi::gtk_tree_model_sort_iter_is_valid(
117                self.as_ref().to_glib_none().0,
118                mut_override(iter.to_glib_none().0),
119            ))
120        }
121    }
122
123    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
124    #[allow(deprecated)]
125    #[doc(alias = "gtk_tree_model_sort_reset_default_sort_func")]
126    fn reset_default_sort_func(&self) {
127        unsafe {
128            ffi::gtk_tree_model_sort_reset_default_sort_func(self.as_ref().to_glib_none().0);
129        }
130    }
131}
132
133impl<O: IsA<TreeModelSort>> TreeModelSortExt for O {}