1#![allow(deprecated)]
5
6use crate::{ffi, Buildable, TreeDragDest, TreeDragSource, TreeIter, TreeModel, TreeSortable};
7use glib::translate::*;
8
9glib::wrapper! {
10 #[doc(alias = "GtkListStore")]
11 pub struct ListStore(Object<ffi::GtkListStore, ffi::GtkListStoreClass>) @implements Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable;
12
13 match fn {
14 type_ => || ffi::gtk_list_store_get_type(),
15 }
16}
17
18impl ListStore {
19 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
20 #[allow(deprecated)]
21 #[doc(alias = "gtk_list_store_append")]
22 pub fn append(&self) -> TreeIter {
23 unsafe {
24 let mut iter = TreeIter::uninitialized();
25 ffi::gtk_list_store_append(self.to_glib_none().0, iter.to_glib_none_mut().0);
26 iter
27 }
28 }
29
30 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
31 #[allow(deprecated)]
32 #[doc(alias = "gtk_list_store_clear")]
33 pub fn clear(&self) {
34 unsafe {
35 ffi::gtk_list_store_clear(self.to_glib_none().0);
36 }
37 }
38
39 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
40 #[allow(deprecated)]
41 #[doc(alias = "gtk_list_store_insert")]
42 pub fn insert(&self, position: i32) -> TreeIter {
43 unsafe {
44 let mut iter = TreeIter::uninitialized();
45 ffi::gtk_list_store_insert(self.to_glib_none().0, iter.to_glib_none_mut().0, position);
46 iter
47 }
48 }
49
50 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
51 #[allow(deprecated)]
52 #[doc(alias = "gtk_list_store_insert_after")]
53 pub fn insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter {
54 unsafe {
55 let mut iter = TreeIter::uninitialized();
56 ffi::gtk_list_store_insert_after(
57 self.to_glib_none().0,
58 iter.to_glib_none_mut().0,
59 mut_override(sibling.to_glib_none().0),
60 );
61 iter
62 }
63 }
64
65 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
66 #[allow(deprecated)]
67 #[doc(alias = "gtk_list_store_insert_before")]
68 pub fn insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter {
69 unsafe {
70 let mut iter = TreeIter::uninitialized();
71 ffi::gtk_list_store_insert_before(
72 self.to_glib_none().0,
73 iter.to_glib_none_mut().0,
74 mut_override(sibling.to_glib_none().0),
75 );
76 iter
77 }
78 }
79
80 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
81 #[allow(deprecated)]
82 #[doc(alias = "gtk_list_store_iter_is_valid")]
83 pub fn iter_is_valid(&self, iter: &TreeIter) -> bool {
84 unsafe {
85 from_glib(ffi::gtk_list_store_iter_is_valid(
86 self.to_glib_none().0,
87 mut_override(iter.to_glib_none().0),
88 ))
89 }
90 }
91
92 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
93 #[allow(deprecated)]
94 #[doc(alias = "gtk_list_store_move_after")]
95 pub fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>) {
96 unsafe {
97 ffi::gtk_list_store_move_after(
98 self.to_glib_none().0,
99 mut_override(iter.to_glib_none().0),
100 mut_override(position.to_glib_none().0),
101 );
102 }
103 }
104
105 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
106 #[allow(deprecated)]
107 #[doc(alias = "gtk_list_store_move_before")]
108 pub fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>) {
109 unsafe {
110 ffi::gtk_list_store_move_before(
111 self.to_glib_none().0,
112 mut_override(iter.to_glib_none().0),
113 mut_override(position.to_glib_none().0),
114 );
115 }
116 }
117
118 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
119 #[allow(deprecated)]
120 #[doc(alias = "gtk_list_store_prepend")]
121 pub fn prepend(&self) -> TreeIter {
122 unsafe {
123 let mut iter = TreeIter::uninitialized();
124 ffi::gtk_list_store_prepend(self.to_glib_none().0, iter.to_glib_none_mut().0);
125 iter
126 }
127 }
128
129 #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
130 #[allow(deprecated)]
131 #[doc(alias = "gtk_list_store_remove")]
132 pub fn remove(&self, iter: &TreeIter) -> bool {
133 unsafe {
134 from_glib(ffi::gtk_list_store_remove(
135 self.to_glib_none().0,
136 mut_override(iter.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_list_store_swap")]
144 pub fn swap(&self, a: &TreeIter, b: &TreeIter) {
145 unsafe {
146 ffi::gtk_list_store_swap(
147 self.to_glib_none().0,
148 mut_override(a.to_glib_none().0),
149 mut_override(b.to_glib_none().0),
150 );
151 }
152 }
153}