sourceview5/auto/
gutter_lines.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git)
4// DO NOT EDIT
5
6use crate::{ffi, GutterRendererAlignmentMode};
7use glib::translate::*;
8
9glib::wrapper! {
10    #[doc(alias = "GtkSourceGutterLines")]
11    pub struct GutterLines(Object<ffi::GtkSourceGutterLines, ffi::GtkSourceGutterLinesClass>);
12
13    match fn {
14        type_ => || ffi::gtk_source_gutter_lines_get_type(),
15    }
16}
17
18impl GutterLines {
19    #[doc(alias = "gtk_source_gutter_lines_add_class")]
20    pub fn add_class(&self, line: u32, name: &str) {
21        unsafe {
22            ffi::gtk_source_gutter_lines_add_class(
23                self.to_glib_none().0,
24                line,
25                name.to_glib_none().0,
26            );
27        }
28    }
29
30    #[doc(alias = "gtk_source_gutter_lines_add_qclass")]
31    pub fn add_qclass(&self, line: u32, qname: glib::Quark) {
32        unsafe {
33            ffi::gtk_source_gutter_lines_add_qclass(self.to_glib_none().0, line, qname.into_glib());
34        }
35    }
36
37    #[doc(alias = "gtk_source_gutter_lines_get_buffer")]
38    #[doc(alias = "get_buffer")]
39    pub fn buffer(&self) -> gtk::TextBuffer {
40        unsafe {
41            from_glib_none(ffi::gtk_source_gutter_lines_get_buffer(
42                self.to_glib_none().0,
43            ))
44        }
45    }
46
47    #[doc(alias = "gtk_source_gutter_lines_get_first")]
48    #[doc(alias = "get_first")]
49    pub fn first(&self) -> u32 {
50        unsafe { ffi::gtk_source_gutter_lines_get_first(self.to_glib_none().0) }
51    }
52
53    #[doc(alias = "gtk_source_gutter_lines_get_iter_at_line")]
54    #[doc(alias = "get_iter_at_line")]
55    pub fn iter_at_line(&self, line: u32) -> gtk::TextIter {
56        unsafe {
57            let mut iter = gtk::TextIter::uninitialized();
58            ffi::gtk_source_gutter_lines_get_iter_at_line(
59                self.to_glib_none().0,
60                iter.to_glib_none_mut().0,
61                line,
62            );
63            iter
64        }
65    }
66
67    #[doc(alias = "gtk_source_gutter_lines_get_last")]
68    #[doc(alias = "get_last")]
69    pub fn last(&self) -> u32 {
70        unsafe { ffi::gtk_source_gutter_lines_get_last(self.to_glib_none().0) }
71    }
72
73    #[cfg(feature = "v5_18")]
74    #[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
75    #[doc(alias = "gtk_source_gutter_lines_get_line_extent")]
76    #[doc(alias = "get_line_extent")]
77    pub fn line_extent(&self, line: u32, mode: GutterRendererAlignmentMode) -> (f64, f64) {
78        unsafe {
79            let mut y = std::mem::MaybeUninit::uninit();
80            let mut height = std::mem::MaybeUninit::uninit();
81            ffi::gtk_source_gutter_lines_get_line_extent(
82                self.to_glib_none().0,
83                line,
84                mode.into_glib(),
85                y.as_mut_ptr(),
86                height.as_mut_ptr(),
87            );
88            (y.assume_init(), height.assume_init())
89        }
90    }
91
92    #[doc(alias = "gtk_source_gutter_lines_get_line_yrange")]
93    #[doc(alias = "get_line_yrange")]
94    pub fn line_yrange(&self, line: u32, mode: GutterRendererAlignmentMode) -> (i32, i32) {
95        unsafe {
96            let mut y = std::mem::MaybeUninit::uninit();
97            let mut height = std::mem::MaybeUninit::uninit();
98            ffi::gtk_source_gutter_lines_get_line_yrange(
99                self.to_glib_none().0,
100                line,
101                mode.into_glib(),
102                y.as_mut_ptr(),
103                height.as_mut_ptr(),
104            );
105            (y.assume_init(), height.assume_init())
106        }
107    }
108
109    #[doc(alias = "gtk_source_gutter_lines_get_view")]
110    #[doc(alias = "get_view")]
111    pub fn view(&self) -> gtk::TextView {
112        unsafe { from_glib_none(ffi::gtk_source_gutter_lines_get_view(self.to_glib_none().0)) }
113    }
114
115    #[cfg(feature = "v5_6")]
116    #[cfg_attr(docsrs, doc(cfg(feature = "v5_6")))]
117    #[doc(alias = "gtk_source_gutter_lines_has_any_class")]
118    pub fn has_any_class(&self, line: u32) -> bool {
119        unsafe {
120            from_glib(ffi::gtk_source_gutter_lines_has_any_class(
121                self.to_glib_none().0,
122                line,
123            ))
124        }
125    }
126
127    #[doc(alias = "gtk_source_gutter_lines_has_class")]
128    pub fn has_class(&self, line: u32, name: &str) -> bool {
129        unsafe {
130            from_glib(ffi::gtk_source_gutter_lines_has_class(
131                self.to_glib_none().0,
132                line,
133                name.to_glib_none().0,
134            ))
135        }
136    }
137
138    #[doc(alias = "gtk_source_gutter_lines_has_qclass")]
139    pub fn has_qclass(&self, line: u32, qname: glib::Quark) -> bool {
140        unsafe {
141            from_glib(ffi::gtk_source_gutter_lines_has_qclass(
142                self.to_glib_none().0,
143                line,
144                qname.into_glib(),
145            ))
146        }
147    }
148
149    #[doc(alias = "gtk_source_gutter_lines_is_cursor")]
150    pub fn is_cursor(&self, line: u32) -> bool {
151        unsafe {
152            from_glib(ffi::gtk_source_gutter_lines_is_cursor(
153                self.to_glib_none().0,
154                line,
155            ))
156        }
157    }
158
159    #[doc(alias = "gtk_source_gutter_lines_is_prelit")]
160    pub fn is_prelit(&self, line: u32) -> bool {
161        unsafe {
162            from_glib(ffi::gtk_source_gutter_lines_is_prelit(
163                self.to_glib_none().0,
164                line,
165            ))
166        }
167    }
168
169    #[doc(alias = "gtk_source_gutter_lines_is_selected")]
170    pub fn is_selected(&self, line: u32) -> bool {
171        unsafe {
172            from_glib(ffi::gtk_source_gutter_lines_is_selected(
173                self.to_glib_none().0,
174                line,
175            ))
176        }
177    }
178
179    #[doc(alias = "gtk_source_gutter_lines_remove_class")]
180    pub fn remove_class(&self, line: u32, name: &str) {
181        unsafe {
182            ffi::gtk_source_gutter_lines_remove_class(
183                self.to_glib_none().0,
184                line,
185                name.to_glib_none().0,
186            );
187        }
188    }
189
190    #[doc(alias = "gtk_source_gutter_lines_remove_qclass")]
191    pub fn remove_qclass(&self, line: u32, qname: glib::Quark) {
192        unsafe {
193            ffi::gtk_source_gutter_lines_remove_qclass(
194                self.to_glib_none().0,
195                line,
196                qname.into_glib(),
197            );
198        }
199    }
200}