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 crate::Buildable;
6 use crate::TreeDragDest;
7 use crate::TreeDragSource;
8 use crate::TreeIter;
9 use crate::TreeModel;
10 use crate::TreeSortable;
11 use glib::object::IsA;
12 use glib::translate::*;
13 use std::fmt;
14 
15 glib::wrapper! {
16     #[doc(alias = "GtkListStore")]
17     pub struct ListStore(Object<ffi::GtkListStore, ffi::GtkListStoreClass>) @implements Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable;
18 
19     match fn {
20         type_ => || ffi::gtk_list_store_get_type(),
21     }
22 }
23 
24 impl ListStore {
25     //#[doc(alias = "gtk_list_store_new")]
26     //pub fn new(n_columns: i32, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> ListStore {
27     //    unsafe { TODO: call ffi:gtk_list_store_new() }
28     //}
29 
30     //#[doc(alias = "gtk_list_store_newv")]
31     //pub fn newv(types: /*Unimplemented*/&CArray TypeId { ns_id: 0, id: 30 }) -> ListStore {
32     //    unsafe { TODO: call ffi:gtk_list_store_newv() }
33     //}
34 }
35 
36 pub const NONE_LIST_STORE: Option<&ListStore> = None;
37 
38 pub trait GtkListStoreExt: 'static {
39     #[doc(alias = "gtk_list_store_append")]
append(&self) -> TreeIter40     fn append(&self) -> TreeIter;
41 
42     #[doc(alias = "gtk_list_store_clear")]
clear(&self)43     fn clear(&self);
44 
45     #[doc(alias = "gtk_list_store_insert")]
insert(&self, position: i32) -> TreeIter46     fn insert(&self, position: i32) -> TreeIter;
47 
48     #[doc(alias = "gtk_list_store_insert_after")]
insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter49     fn insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter;
50 
51     #[doc(alias = "gtk_list_store_insert_before")]
insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter52     fn insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter;
53 
54     //#[doc(alias = "gtk_list_store_insert_with_values")]
55     //fn insert_with_values(&self, position: i32, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> TreeIter;
56 
57     //#[doc(alias = "gtk_list_store_insert_with_valuesv")]
58     //fn insert_with_valuesv(&self, position: i32, columns: &[i32], values: &[&glib::Value]) -> TreeIter;
59 
60     #[doc(alias = "gtk_list_store_iter_is_valid")]
iter_is_valid(&self, iter: &TreeIter) -> bool61     fn iter_is_valid(&self, iter: &TreeIter) -> bool;
62 
63     #[doc(alias = "gtk_list_store_move_after")]
move_after(&self, iter: &TreeIter, position: Option<&TreeIter>)64     fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>);
65 
66     #[doc(alias = "gtk_list_store_move_before")]
move_before(&self, iter: &TreeIter, position: Option<&TreeIter>)67     fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>);
68 
69     #[doc(alias = "gtk_list_store_prepend")]
prepend(&self) -> TreeIter70     fn prepend(&self) -> TreeIter;
71 
72     #[doc(alias = "gtk_list_store_remove")]
remove(&self, iter: &TreeIter) -> bool73     fn remove(&self, iter: &TreeIter) -> bool;
74 
75     //#[doc(alias = "gtk_list_store_set")]
76     //fn set(&self, iter: &TreeIter, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs);
77 
78     //#[doc(alias = "gtk_list_store_set_column_types")]
79     //fn set_column_types(&self, types: /*Unimplemented*/&CArray TypeId { ns_id: 0, id: 30 });
80 
81     //#[doc(alias = "gtk_list_store_set_valist")]
82     //fn set_valist(&self, iter: &TreeIter, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported);
83 
84     //#[doc(alias = "gtk_list_store_set_valuesv")]
85     //fn set_valuesv(&self, iter: &TreeIter, columns: &[i32], values: &[&glib::Value]);
86 
87     #[doc(alias = "gtk_list_store_swap")]
swap(&self, a: &TreeIter, b: &TreeIter)88     fn swap(&self, a: &TreeIter, b: &TreeIter);
89 }
90 
91 impl<O: IsA<ListStore>> GtkListStoreExt for O {
append(&self) -> TreeIter92     fn append(&self) -> TreeIter {
93         unsafe {
94             let mut iter = TreeIter::uninitialized();
95             ffi::gtk_list_store_append(self.as_ref().to_glib_none().0, iter.to_glib_none_mut().0);
96             iter
97         }
98     }
99 
clear(&self)100     fn clear(&self) {
101         unsafe {
102             ffi::gtk_list_store_clear(self.as_ref().to_glib_none().0);
103         }
104     }
105 
insert(&self, position: i32) -> TreeIter106     fn insert(&self, position: i32) -> TreeIter {
107         unsafe {
108             let mut iter = TreeIter::uninitialized();
109             ffi::gtk_list_store_insert(
110                 self.as_ref().to_glib_none().0,
111                 iter.to_glib_none_mut().0,
112                 position,
113             );
114             iter
115         }
116     }
117 
insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter118     fn insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter {
119         unsafe {
120             let mut iter = TreeIter::uninitialized();
121             ffi::gtk_list_store_insert_after(
122                 self.as_ref().to_glib_none().0,
123                 iter.to_glib_none_mut().0,
124                 mut_override(sibling.to_glib_none().0),
125             );
126             iter
127         }
128     }
129 
insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter130     fn insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter {
131         unsafe {
132             let mut iter = TreeIter::uninitialized();
133             ffi::gtk_list_store_insert_before(
134                 self.as_ref().to_glib_none().0,
135                 iter.to_glib_none_mut().0,
136                 mut_override(sibling.to_glib_none().0),
137             );
138             iter
139         }
140     }
141 
142     //fn insert_with_values(&self, position: i32, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> TreeIter {
143     //    unsafe { TODO: call ffi:gtk_list_store_insert_with_values() }
144     //}
145 
146     //fn insert_with_valuesv(&self, position: i32, columns: &[i32], values: &[&glib::Value]) -> TreeIter {
147     //    unsafe { TODO: call ffi:gtk_list_store_insert_with_valuesv() }
148     //}
149 
iter_is_valid(&self, iter: &TreeIter) -> bool150     fn iter_is_valid(&self, iter: &TreeIter) -> bool {
151         unsafe {
152             from_glib(ffi::gtk_list_store_iter_is_valid(
153                 self.as_ref().to_glib_none().0,
154                 mut_override(iter.to_glib_none().0),
155             ))
156         }
157     }
158 
move_after(&self, iter: &TreeIter, position: Option<&TreeIter>)159     fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>) {
160         unsafe {
161             ffi::gtk_list_store_move_after(
162                 self.as_ref().to_glib_none().0,
163                 mut_override(iter.to_glib_none().0),
164                 mut_override(position.to_glib_none().0),
165             );
166         }
167     }
168 
move_before(&self, iter: &TreeIter, position: Option<&TreeIter>)169     fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>) {
170         unsafe {
171             ffi::gtk_list_store_move_before(
172                 self.as_ref().to_glib_none().0,
173                 mut_override(iter.to_glib_none().0),
174                 mut_override(position.to_glib_none().0),
175             );
176         }
177     }
178 
prepend(&self) -> TreeIter179     fn prepend(&self) -> TreeIter {
180         unsafe {
181             let mut iter = TreeIter::uninitialized();
182             ffi::gtk_list_store_prepend(self.as_ref().to_glib_none().0, iter.to_glib_none_mut().0);
183             iter
184         }
185     }
186 
remove(&self, iter: &TreeIter) -> bool187     fn remove(&self, iter: &TreeIter) -> bool {
188         unsafe {
189             from_glib(ffi::gtk_list_store_remove(
190                 self.as_ref().to_glib_none().0,
191                 mut_override(iter.to_glib_none().0),
192             ))
193         }
194     }
195 
196     //fn set(&self, iter: &TreeIter, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
197     //    unsafe { TODO: call ffi:gtk_list_store_set() }
198     //}
199 
200     //fn set_column_types(&self, types: /*Unimplemented*/&CArray TypeId { ns_id: 0, id: 30 }) {
201     //    unsafe { TODO: call ffi:gtk_list_store_set_column_types() }
202     //}
203 
204     //fn set_valist(&self, iter: &TreeIter, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
205     //    unsafe { TODO: call ffi:gtk_list_store_set_valist() }
206     //}
207 
208     //fn set_valuesv(&self, iter: &TreeIter, columns: &[i32], values: &[&glib::Value]) {
209     //    unsafe { TODO: call ffi:gtk_list_store_set_valuesv() }
210     //}
211 
swap(&self, a: &TreeIter, b: &TreeIter)212     fn swap(&self, a: &TreeIter, b: &TreeIter) {
213         unsafe {
214             ffi::gtk_list_store_swap(
215                 self.as_ref().to_glib_none().0,
216                 mut_override(a.to_glib_none().0),
217                 mut_override(b.to_glib_none().0),
218             );
219         }
220     }
221 }
222 
223 impl fmt::Display for ListStore {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result224     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
225         f.write_str("ListStore")
226     }
227 }
228