sourceview5/auto/
gutter_lines.rs1use 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}