gtk/auto/
tree_store.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
5use glib::object::IsA;
6use glib::translate::*;
7use gtk_sys;
8use std::fmt;
9use Buildable;
10use TreeDragDest;
11use TreeDragSource;
12use TreeIter;
13use TreeModel;
14use TreeSortable;
15
16glib_wrapper! {
17    pub struct TreeStore(Object<gtk_sys::GtkTreeStore, gtk_sys::GtkTreeStoreClass, TreeStoreClass>) @implements Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable;
18
19    match fn {
20        get_type => || gtk_sys::gtk_tree_store_get_type(),
21    }
22}
23
24impl TreeStore {
25    //pub fn new(n_columns: i32, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> TreeStore {
26    //    unsafe { TODO: call gtk_sys:gtk_tree_store_new() }
27    //}
28
29    //pub fn newv(types: /*Unimplemented*/&CArray TypeId { ns_id: 0, id: 30 }) -> TreeStore {
30    //    unsafe { TODO: call gtk_sys:gtk_tree_store_newv() }
31    //}
32}
33
34pub const NONE_TREE_STORE: Option<&TreeStore> = None;
35
36pub trait TreeStoreExt: 'static {
37    fn append(&self, parent: Option<&TreeIter>) -> TreeIter;
38
39    fn clear(&self);
40
41    fn insert(&self, parent: Option<&TreeIter>, position: i32) -> TreeIter;
42
43    fn insert_after(&self, parent: Option<&TreeIter>, sibling: Option<&TreeIter>) -> TreeIter;
44
45    fn insert_before(&self, parent: Option<&TreeIter>, sibling: Option<&TreeIter>) -> TreeIter;
46
47    //fn insert_with_values(&self, parent: Option<&TreeIter>, position: i32, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> TreeIter;
48
49    //fn insert_with_valuesv(&self, parent: Option<&TreeIter>, position: i32, columns: &[i32], values: &[&glib::Value]) -> TreeIter;
50
51    fn is_ancestor(&self, iter: &TreeIter, descendant: &TreeIter) -> bool;
52
53    fn iter_depth(&self, iter: &TreeIter) -> i32;
54
55    fn iter_is_valid(&self, iter: &TreeIter) -> bool;
56
57    fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>);
58
59    fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>);
60
61    fn prepend(&self, parent: Option<&TreeIter>) -> TreeIter;
62
63    fn remove(&self, iter: &TreeIter) -> bool;
64
65    //fn reorder(&self, parent: Option<&TreeIter>, new_order: &[i32]);
66
67    //fn set(&self, iter: &TreeIter, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs);
68
69    //fn set_column_types(&self, types: /*Unimplemented*/&CArray TypeId { ns_id: 0, id: 30 });
70
71    //fn set_valist(&self, iter: &TreeIter, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported);
72
73    //fn set_valuesv(&self, iter: &TreeIter, columns: &[i32], values: &[&glib::Value]);
74
75    fn swap(&self, a: &TreeIter, b: &TreeIter);
76}
77
78impl<O: IsA<TreeStore>> TreeStoreExt for O {
79    fn append(&self, parent: Option<&TreeIter>) -> TreeIter {
80        unsafe {
81            let mut iter = TreeIter::uninitialized();
82            gtk_sys::gtk_tree_store_append(
83                self.as_ref().to_glib_none().0,
84                iter.to_glib_none_mut().0,
85                mut_override(parent.to_glib_none().0),
86            );
87            iter
88        }
89    }
90
91    fn clear(&self) {
92        unsafe {
93            gtk_sys::gtk_tree_store_clear(self.as_ref().to_glib_none().0);
94        }
95    }
96
97    fn insert(&self, parent: Option<&TreeIter>, position: i32) -> TreeIter {
98        unsafe {
99            let mut iter = TreeIter::uninitialized();
100            gtk_sys::gtk_tree_store_insert(
101                self.as_ref().to_glib_none().0,
102                iter.to_glib_none_mut().0,
103                mut_override(parent.to_glib_none().0),
104                position,
105            );
106            iter
107        }
108    }
109
110    fn insert_after(&self, parent: Option<&TreeIter>, sibling: Option<&TreeIter>) -> TreeIter {
111        unsafe {
112            let mut iter = TreeIter::uninitialized();
113            gtk_sys::gtk_tree_store_insert_after(
114                self.as_ref().to_glib_none().0,
115                iter.to_glib_none_mut().0,
116                mut_override(parent.to_glib_none().0),
117                mut_override(sibling.to_glib_none().0),
118            );
119            iter
120        }
121    }
122
123    fn insert_before(&self, parent: Option<&TreeIter>, sibling: Option<&TreeIter>) -> TreeIter {
124        unsafe {
125            let mut iter = TreeIter::uninitialized();
126            gtk_sys::gtk_tree_store_insert_before(
127                self.as_ref().to_glib_none().0,
128                iter.to_glib_none_mut().0,
129                mut_override(parent.to_glib_none().0),
130                mut_override(sibling.to_glib_none().0),
131            );
132            iter
133        }
134    }
135
136    //fn insert_with_values(&self, parent: Option<&TreeIter>, position: i32, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> TreeIter {
137    //    unsafe { TODO: call gtk_sys:gtk_tree_store_insert_with_values() }
138    //}
139
140    //fn insert_with_valuesv(&self, parent: Option<&TreeIter>, position: i32, columns: &[i32], values: &[&glib::Value]) -> TreeIter {
141    //    unsafe { TODO: call gtk_sys:gtk_tree_store_insert_with_valuesv() }
142    //}
143
144    fn is_ancestor(&self, iter: &TreeIter, descendant: &TreeIter) -> bool {
145        unsafe {
146            from_glib(gtk_sys::gtk_tree_store_is_ancestor(
147                self.as_ref().to_glib_none().0,
148                mut_override(iter.to_glib_none().0),
149                mut_override(descendant.to_glib_none().0),
150            ))
151        }
152    }
153
154    fn iter_depth(&self, iter: &TreeIter) -> i32 {
155        unsafe {
156            gtk_sys::gtk_tree_store_iter_depth(
157                self.as_ref().to_glib_none().0,
158                mut_override(iter.to_glib_none().0),
159            )
160        }
161    }
162
163    fn iter_is_valid(&self, iter: &TreeIter) -> bool {
164        unsafe {
165            from_glib(gtk_sys::gtk_tree_store_iter_is_valid(
166                self.as_ref().to_glib_none().0,
167                mut_override(iter.to_glib_none().0),
168            ))
169        }
170    }
171
172    fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>) {
173        unsafe {
174            gtk_sys::gtk_tree_store_move_after(
175                self.as_ref().to_glib_none().0,
176                mut_override(iter.to_glib_none().0),
177                mut_override(position.to_glib_none().0),
178            );
179        }
180    }
181
182    fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>) {
183        unsafe {
184            gtk_sys::gtk_tree_store_move_before(
185                self.as_ref().to_glib_none().0,
186                mut_override(iter.to_glib_none().0),
187                mut_override(position.to_glib_none().0),
188            );
189        }
190    }
191
192    fn prepend(&self, parent: Option<&TreeIter>) -> TreeIter {
193        unsafe {
194            let mut iter = TreeIter::uninitialized();
195            gtk_sys::gtk_tree_store_prepend(
196                self.as_ref().to_glib_none().0,
197                iter.to_glib_none_mut().0,
198                mut_override(parent.to_glib_none().0),
199            );
200            iter
201        }
202    }
203
204    fn remove(&self, iter: &TreeIter) -> bool {
205        unsafe {
206            from_glib(gtk_sys::gtk_tree_store_remove(
207                self.as_ref().to_glib_none().0,
208                mut_override(iter.to_glib_none().0),
209            ))
210        }
211    }
212
213    //fn reorder(&self, parent: Option<&TreeIter>, new_order: &[i32]) {
214    //    unsafe { TODO: call gtk_sys:gtk_tree_store_reorder() }
215    //}
216
217    //fn set(&self, iter: &TreeIter, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
218    //    unsafe { TODO: call gtk_sys:gtk_tree_store_set() }
219    //}
220
221    //fn set_column_types(&self, types: /*Unimplemented*/&CArray TypeId { ns_id: 0, id: 30 }) {
222    //    unsafe { TODO: call gtk_sys:gtk_tree_store_set_column_types() }
223    //}
224
225    //fn set_valist(&self, iter: &TreeIter, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
226    //    unsafe { TODO: call gtk_sys:gtk_tree_store_set_valist() }
227    //}
228
229    //fn set_valuesv(&self, iter: &TreeIter, columns: &[i32], values: &[&glib::Value]) {
230    //    unsafe { TODO: call gtk_sys:gtk_tree_store_set_valuesv() }
231    //}
232
233    fn swap(&self, a: &TreeIter, b: &TreeIter) {
234        unsafe {
235            gtk_sys::gtk_tree_store_swap(
236                self.as_ref().to_glib_none().0,
237                mut_override(a.to_glib_none().0),
238                mut_override(b.to_glib_none().0),
239            );
240        }
241    }
242}
243
244impl fmt::Display for TreeStore {
245    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
246        write!(f, "TreeStore")
247    }
248}