gtk/auto/
widget_path.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 crate::{StateFlags, Widget};
6use glib::{prelude::*, translate::*};
7use std::fmt;
8
9glib::wrapper! {
10    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11    pub struct WidgetPath(Shared<ffi::GtkWidgetPath>);
12
13    match fn {
14        ref => |ptr| ffi::gtk_widget_path_ref(ptr),
15        unref => |ptr| ffi::gtk_widget_path_unref(ptr),
16        type_ => || ffi::gtk_widget_path_get_type(),
17    }
18}
19
20impl WidgetPath {
21    #[doc(alias = "gtk_widget_path_new")]
22    pub fn new() -> WidgetPath {
23        assert_initialized_main_thread!();
24        unsafe { from_glib_full(ffi::gtk_widget_path_new()) }
25    }
26
27    #[doc(alias = "gtk_widget_path_append_for_widget")]
28    pub fn append_for_widget(&self, widget: &impl IsA<Widget>) -> i32 {
29        unsafe {
30            ffi::gtk_widget_path_append_for_widget(
31                self.to_glib_none().0,
32                widget.as_ref().to_glib_none().0,
33            )
34        }
35    }
36
37    #[doc(alias = "gtk_widget_path_append_type")]
38    pub fn append_type(&self, type_: glib::types::Type) -> i32 {
39        unsafe { ffi::gtk_widget_path_append_type(self.to_glib_none().0, type_.into_glib()) }
40    }
41
42    #[doc(alias = "gtk_widget_path_append_with_siblings")]
43    pub fn append_with_siblings(&self, siblings: &WidgetPath, sibling_index: u32) -> i32 {
44        unsafe {
45            ffi::gtk_widget_path_append_with_siblings(
46                self.to_glib_none().0,
47                siblings.to_glib_none().0,
48                sibling_index,
49            )
50        }
51    }
52
53    #[doc(alias = "gtk_widget_path_copy")]
54    #[must_use]
55    pub fn copy(&self) -> Option<WidgetPath> {
56        unsafe { from_glib_full(ffi::gtk_widget_path_copy(self.to_glib_none().0)) }
57    }
58
59    #[doc(alias = "gtk_widget_path_get_object_type")]
60    #[doc(alias = "get_object_type")]
61    pub fn object_type(&self) -> glib::types::Type {
62        unsafe { from_glib(ffi::gtk_widget_path_get_object_type(self.to_glib_none().0)) }
63    }
64
65    #[doc(alias = "gtk_widget_path_has_parent")]
66    pub fn has_parent(&self, type_: glib::types::Type) -> bool {
67        unsafe {
68            from_glib(ffi::gtk_widget_path_has_parent(
69                self.to_glib_none().0,
70                type_.into_glib(),
71            ))
72        }
73    }
74
75    #[doc(alias = "gtk_widget_path_is_type")]
76    pub fn is_type(&self, type_: glib::types::Type) -> bool {
77        unsafe {
78            from_glib(ffi::gtk_widget_path_is_type(
79                self.to_glib_none().0,
80                type_.into_glib(),
81            ))
82        }
83    }
84
85    #[doc(alias = "gtk_widget_path_iter_add_class")]
86    pub fn iter_add_class(&self, pos: i32, name: &str) {
87        unsafe {
88            ffi::gtk_widget_path_iter_add_class(self.to_glib_none().0, pos, name.to_glib_none().0);
89        }
90    }
91
92    #[doc(alias = "gtk_widget_path_iter_clear_classes")]
93    pub fn iter_clear_classes(&self, pos: i32) {
94        unsafe {
95            ffi::gtk_widget_path_iter_clear_classes(self.to_glib_none().0, pos);
96        }
97    }
98
99    #[doc(alias = "gtk_widget_path_iter_get_name")]
100    pub fn iter_get_name(&self, pos: i32) -> Option<glib::GString> {
101        unsafe {
102            from_glib_none(ffi::gtk_widget_path_iter_get_name(
103                self.to_glib_none().0,
104                pos,
105            ))
106        }
107    }
108
109    #[doc(alias = "gtk_widget_path_iter_get_object_name")]
110    pub fn iter_get_object_name(&self, pos: i32) -> Option<glib::GString> {
111        unsafe {
112            from_glib_none(ffi::gtk_widget_path_iter_get_object_name(
113                self.to_glib_none().0,
114                pos,
115            ))
116        }
117    }
118
119    #[doc(alias = "gtk_widget_path_iter_get_object_type")]
120    pub fn iter_get_object_type(&self, pos: i32) -> glib::types::Type {
121        unsafe {
122            from_glib(ffi::gtk_widget_path_iter_get_object_type(
123                self.to_glib_none().0,
124                pos,
125            ))
126        }
127    }
128
129    #[doc(alias = "gtk_widget_path_iter_get_sibling_index")]
130    pub fn iter_get_sibling_index(&self, pos: i32) -> u32 {
131        unsafe { ffi::gtk_widget_path_iter_get_sibling_index(self.to_glib_none().0, pos) }
132    }
133
134    #[doc(alias = "gtk_widget_path_iter_get_siblings")]
135    #[must_use]
136    pub fn iter_get_siblings(&self, pos: i32) -> Option<WidgetPath> {
137        unsafe {
138            from_glib_none(ffi::gtk_widget_path_iter_get_siblings(
139                self.to_glib_none().0,
140                pos,
141            ))
142        }
143    }
144
145    #[doc(alias = "gtk_widget_path_iter_get_state")]
146    pub fn iter_get_state(&self, pos: i32) -> StateFlags {
147        unsafe {
148            from_glib(ffi::gtk_widget_path_iter_get_state(
149                self.to_glib_none().0,
150                pos,
151            ))
152        }
153    }
154
155    #[doc(alias = "gtk_widget_path_iter_has_class")]
156    pub fn iter_has_class(&self, pos: i32, name: &str) -> bool {
157        unsafe {
158            from_glib(ffi::gtk_widget_path_iter_has_class(
159                self.to_glib_none().0,
160                pos,
161                name.to_glib_none().0,
162            ))
163        }
164    }
165
166    #[doc(alias = "gtk_widget_path_iter_has_name")]
167    pub fn iter_has_name(&self, pos: i32, name: &str) -> bool {
168        unsafe {
169            from_glib(ffi::gtk_widget_path_iter_has_name(
170                self.to_glib_none().0,
171                pos,
172                name.to_glib_none().0,
173            ))
174        }
175    }
176
177    #[doc(alias = "gtk_widget_path_iter_has_qclass")]
178    pub fn iter_has_qclass(&self, pos: i32, qname: glib::Quark) -> bool {
179        unsafe {
180            from_glib(ffi::gtk_widget_path_iter_has_qclass(
181                self.to_glib_none().0,
182                pos,
183                qname.into_glib(),
184            ))
185        }
186    }
187
188    #[doc(alias = "gtk_widget_path_iter_has_qname")]
189    pub fn iter_has_qname(&self, pos: i32, qname: glib::Quark) -> bool {
190        unsafe {
191            from_glib(ffi::gtk_widget_path_iter_has_qname(
192                self.to_glib_none().0,
193                pos,
194                qname.into_glib(),
195            ))
196        }
197    }
198
199    #[doc(alias = "gtk_widget_path_iter_list_classes")]
200    pub fn iter_list_classes(&self, pos: i32) -> Vec<glib::GString> {
201        unsafe {
202            FromGlibPtrContainer::from_glib_container(ffi::gtk_widget_path_iter_list_classes(
203                self.to_glib_none().0,
204                pos,
205            ))
206        }
207    }
208
209    #[doc(alias = "gtk_widget_path_iter_remove_class")]
210    pub fn iter_remove_class(&self, pos: i32, name: &str) {
211        unsafe {
212            ffi::gtk_widget_path_iter_remove_class(
213                self.to_glib_none().0,
214                pos,
215                name.to_glib_none().0,
216            );
217        }
218    }
219
220    #[doc(alias = "gtk_widget_path_iter_set_name")]
221    pub fn iter_set_name(&self, pos: i32, name: &str) {
222        unsafe {
223            ffi::gtk_widget_path_iter_set_name(self.to_glib_none().0, pos, name.to_glib_none().0);
224        }
225    }
226
227    #[doc(alias = "gtk_widget_path_iter_set_object_name")]
228    pub fn iter_set_object_name(&self, pos: i32, name: Option<&str>) {
229        unsafe {
230            ffi::gtk_widget_path_iter_set_object_name(
231                self.to_glib_none().0,
232                pos,
233                name.to_glib_none().0,
234            );
235        }
236    }
237
238    #[doc(alias = "gtk_widget_path_iter_set_object_type")]
239    pub fn iter_set_object_type(&self, pos: i32, type_: glib::types::Type) {
240        unsafe {
241            ffi::gtk_widget_path_iter_set_object_type(
242                self.to_glib_none().0,
243                pos,
244                type_.into_glib(),
245            );
246        }
247    }
248
249    #[doc(alias = "gtk_widget_path_iter_set_state")]
250    pub fn iter_set_state(&self, pos: i32, state: StateFlags) {
251        unsafe {
252            ffi::gtk_widget_path_iter_set_state(self.to_glib_none().0, pos, state.into_glib());
253        }
254    }
255
256    #[doc(alias = "gtk_widget_path_length")]
257    pub fn length(&self) -> i32 {
258        unsafe { ffi::gtk_widget_path_length(self.to_glib_none().0) }
259    }
260
261    #[doc(alias = "gtk_widget_path_prepend_type")]
262    pub fn prepend_type(&self, type_: glib::types::Type) {
263        unsafe {
264            ffi::gtk_widget_path_prepend_type(self.to_glib_none().0, type_.into_glib());
265        }
266    }
267
268    #[doc(alias = "gtk_widget_path_to_string")]
269    #[doc(alias = "to_string")]
270    pub fn to_str(&self) -> glib::GString {
271        unsafe { from_glib_full(ffi::gtk_widget_path_to_string(self.to_glib_none().0)) }
272    }
273}
274
275impl Default for WidgetPath {
276    fn default() -> Self {
277        Self::new()
278    }
279}
280
281impl fmt::Display for WidgetPath {
282    #[inline]
283    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
284        f.write_str(&self.to_str())
285    }
286}