gtk4/auto/
tree_model_sort.rs1#![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 {}