1#![allow(deprecated)]
5
6use crate::{ffi, Buildable, TreeDragDest, TreeDragSource, TreeIter, TreeModel, TreeSortable};
7use glib::translate::*;
8
9glib::wrapper! {
10 #[doc(alias = "GtkTreeStore")]
11 pub struct TreeStore(Object<ffi::GtkTreeStore, ffi::GtkTreeStoreClass>) @implements Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable;
12
13 match fn {
14 type_ => || ffi::gtk_tree_store_get_type(),
15 }
16}
17
18impl TreeStore {
19 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
20 #[allow(deprecated)]
21 #[doc(alias = "gtk_tree_store_append")]
22 pub fn append(&self, parent: Option<&TreeIter>) -> TreeIter {
23 unsafe {
24 let mut iter = TreeIter::uninitialized();
25 ffi::gtk_tree_store_append(
26 self.to_glib_none().0,
27 iter.to_glib_none_mut().0,
28 mut_override(parent.to_glib_none().0),
29 );
30 iter
31 }
32 }
33
34 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
35 #[allow(deprecated)]
36 #[doc(alias = "gtk_tree_store_clear")]
37 pub fn clear(&self) {
38 unsafe {
39 ffi::gtk_tree_store_clear(self.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_store_insert")]
46 pub fn insert(&self, parent: Option<&TreeIter>, position: i32) -> TreeIter {
47 unsafe {
48 let mut iter = TreeIter::uninitialized();
49 ffi::gtk_tree_store_insert(
50 self.to_glib_none().0,
51 iter.to_glib_none_mut().0,
52 mut_override(parent.to_glib_none().0),
53 position,
54 );
55 iter
56 }
57 }
58
59 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
60 #[allow(deprecated)]
61 #[doc(alias = "gtk_tree_store_insert_after")]
62 pub fn insert_after(&self, parent: Option<&TreeIter>, sibling: Option<&TreeIter>) -> TreeIter {
63 unsafe {
64 let mut iter = TreeIter::uninitialized();
65 ffi::gtk_tree_store_insert_after(
66 self.to_glib_none().0,
67 iter.to_glib_none_mut().0,
68 mut_override(parent.to_glib_none().0),
69 mut_override(sibling.to_glib_none().0),
70 );
71 iter
72 }
73 }
74
75 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
76 #[allow(deprecated)]
77 #[doc(alias = "gtk_tree_store_insert_before")]
78 pub fn insert_before(&self, parent: Option<&TreeIter>, sibling: Option<&TreeIter>) -> TreeIter {
79 unsafe {
80 let mut iter = TreeIter::uninitialized();
81 ffi::gtk_tree_store_insert_before(
82 self.to_glib_none().0,
83 iter.to_glib_none_mut().0,
84 mut_override(parent.to_glib_none().0),
85 mut_override(sibling.to_glib_none().0),
86 );
87 iter
88 }
89 }
90
91 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
92 #[allow(deprecated)]
93 #[doc(alias = "gtk_tree_store_is_ancestor")]
94 pub fn is_ancestor(&self, iter: &TreeIter, descendant: &TreeIter) -> bool {
95 unsafe {
96 from_glib(ffi::gtk_tree_store_is_ancestor(
97 self.to_glib_none().0,
98 mut_override(iter.to_glib_none().0),
99 mut_override(descendant.to_glib_none().0),
100 ))
101 }
102 }
103
104 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
105 #[allow(deprecated)]
106 #[doc(alias = "gtk_tree_store_iter_depth")]
107 pub fn iter_depth(&self, iter: &TreeIter) -> i32 {
108 unsafe {
109 ffi::gtk_tree_store_iter_depth(
110 self.to_glib_none().0,
111 mut_override(iter.to_glib_none().0),
112 )
113 }
114 }
115
116 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
117 #[allow(deprecated)]
118 #[doc(alias = "gtk_tree_store_iter_is_valid")]
119 pub fn iter_is_valid(&self, iter: &TreeIter) -> bool {
120 unsafe {
121 from_glib(ffi::gtk_tree_store_iter_is_valid(
122 self.to_glib_none().0,
123 mut_override(iter.to_glib_none().0),
124 ))
125 }
126 }
127
128 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
129 #[allow(deprecated)]
130 #[doc(alias = "gtk_tree_store_move_after")]
131 pub fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>) {
132 unsafe {
133 ffi::gtk_tree_store_move_after(
134 self.to_glib_none().0,
135 mut_override(iter.to_glib_none().0),
136 mut_override(position.to_glib_none().0),
137 );
138 }
139 }
140
141 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
142 #[allow(deprecated)]
143 #[doc(alias = "gtk_tree_store_move_before")]
144 pub fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>) {
145 unsafe {
146 ffi::gtk_tree_store_move_before(
147 self.to_glib_none().0,
148 mut_override(iter.to_glib_none().0),
149 mut_override(position.to_glib_none().0),
150 );
151 }
152 }
153
154 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
155 #[allow(deprecated)]
156 #[doc(alias = "gtk_tree_store_prepend")]
157 pub fn prepend(&self, parent: Option<&TreeIter>) -> TreeIter {
158 unsafe {
159 let mut iter = TreeIter::uninitialized();
160 ffi::gtk_tree_store_prepend(
161 self.to_glib_none().0,
162 iter.to_glib_none_mut().0,
163 mut_override(parent.to_glib_none().0),
164 );
165 iter
166 }
167 }
168
169 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
170 #[allow(deprecated)]
171 #[doc(alias = "gtk_tree_store_remove")]
172 pub fn remove(&self, iter: &TreeIter) -> bool {
173 unsafe {
174 from_glib(ffi::gtk_tree_store_remove(
175 self.to_glib_none().0,
176 mut_override(iter.to_glib_none().0),
177 ))
178 }
179 }
180
181 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
182 #[allow(deprecated)]
183 #[doc(alias = "gtk_tree_store_swap")]
184 pub fn swap(&self, a: &TreeIter, b: &TreeIter) {
185 unsafe {
186 ffi::gtk_tree_store_swap(
187 self.to_glib_none().0,
188 mut_override(a.to_glib_none().0),
189 mut_override(b.to_glib_none().0),
190 );
191 }
192 }
193}