Skip to main content

gtk4/auto/
adjustment.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::ffi;
6use glib::{
7    object::ObjectType as _,
8    prelude::*,
9    signal::{SignalHandlerId, connect_raw},
10    translate::*,
11};
12use std::boxed::Box as Box_;
13
14glib::wrapper! {
15    #[doc(alias = "GtkAdjustment")]
16    pub struct Adjustment(Object<ffi::GtkAdjustment, ffi::GtkAdjustmentClass>);
17
18    match fn {
19        type_ => || ffi::gtk_adjustment_get_type(),
20    }
21}
22
23impl Adjustment {
24    pub const NONE: Option<&'static Adjustment> = None;
25
26    #[doc(alias = "gtk_adjustment_new")]
27    pub fn new(
28        value: f64,
29        lower: f64,
30        upper: f64,
31        step_increment: f64,
32        page_increment: f64,
33        page_size: f64,
34    ) -> Adjustment {
35        assert_initialized_main_thread!();
36        unsafe {
37            from_glib_none(ffi::gtk_adjustment_new(
38                value,
39                lower,
40                upper,
41                step_increment,
42                page_increment,
43                page_size,
44            ))
45        }
46    }
47
48    // rustdoc-stripper-ignore-next
49    /// Creates a new builder-pattern struct instance to construct [`Adjustment`] objects.
50    ///
51    /// This method returns an instance of [`AdjustmentBuilder`](crate::builders::AdjustmentBuilder) which can be used to create [`Adjustment`] objects.
52    pub fn builder() -> AdjustmentBuilder {
53        AdjustmentBuilder::new()
54    }
55}
56
57impl Default for Adjustment {
58    fn default() -> Self {
59        glib::object::Object::new::<Self>()
60    }
61}
62
63// rustdoc-stripper-ignore-next
64/// A [builder-pattern] type to construct [`Adjustment`] objects.
65///
66/// [builder-pattern]: https://doc.rust-lang.org/1.0.0/style/ownership/builders.html
67#[must_use = "The builder must be built to be used"]
68pub struct AdjustmentBuilder {
69    builder: glib::object::ObjectBuilder<'static, Adjustment>,
70}
71
72impl AdjustmentBuilder {
73    fn new() -> Self {
74        Self {
75            builder: glib::object::Object::builder(),
76        }
77    }
78
79    pub fn lower(self, lower: f64) -> Self {
80        Self {
81            builder: self.builder.property("lower", lower),
82        }
83    }
84
85    pub fn page_increment(self, page_increment: f64) -> Self {
86        Self {
87            builder: self.builder.property("page-increment", page_increment),
88        }
89    }
90
91    pub fn page_size(self, page_size: f64) -> Self {
92        Self {
93            builder: self.builder.property("page-size", page_size),
94        }
95    }
96
97    pub fn step_increment(self, step_increment: f64) -> Self {
98        Self {
99            builder: self.builder.property("step-increment", step_increment),
100        }
101    }
102
103    pub fn upper(self, upper: f64) -> Self {
104        Self {
105            builder: self.builder.property("upper", upper),
106        }
107    }
108
109    pub fn value(self, value: f64) -> Self {
110        Self {
111            builder: self.builder.property("value", value),
112        }
113    }
114
115    // rustdoc-stripper-ignore-next
116    /// Build the [`Adjustment`].
117    #[must_use = "Building the object from the builder is usually expensive and is not expected to have side effects"]
118    pub fn build(self) -> Adjustment {
119        assert_initialized_main_thread!();
120        self.builder.build()
121    }
122}
123
124pub trait AdjustmentExt: IsA<Adjustment> + 'static {
125    #[doc(alias = "gtk_adjustment_clamp_page")]
126    fn clamp_page(&self, lower: f64, upper: f64) {
127        unsafe {
128            ffi::gtk_adjustment_clamp_page(self.as_ref().to_glib_none().0, lower, upper);
129        }
130    }
131
132    #[doc(alias = "gtk_adjustment_configure")]
133    fn configure(
134        &self,
135        value: f64,
136        lower: f64,
137        upper: f64,
138        step_increment: f64,
139        page_increment: f64,
140        page_size: f64,
141    ) {
142        unsafe {
143            ffi::gtk_adjustment_configure(
144                self.as_ref().to_glib_none().0,
145                value,
146                lower,
147                upper,
148                step_increment,
149                page_increment,
150                page_size,
151            );
152        }
153    }
154
155    #[doc(alias = "gtk_adjustment_get_lower")]
156    #[doc(alias = "get_lower")]
157    fn lower(&self) -> f64 {
158        unsafe { ffi::gtk_adjustment_get_lower(self.as_ref().to_glib_none().0) }
159    }
160
161    #[doc(alias = "gtk_adjustment_get_minimum_increment")]
162    #[doc(alias = "get_minimum_increment")]
163    fn minimum_increment(&self) -> f64 {
164        unsafe { ffi::gtk_adjustment_get_minimum_increment(self.as_ref().to_glib_none().0) }
165    }
166
167    #[doc(alias = "gtk_adjustment_get_page_increment")]
168    #[doc(alias = "get_page_increment")]
169    #[doc(alias = "page-increment")]
170    fn page_increment(&self) -> f64 {
171        unsafe { ffi::gtk_adjustment_get_page_increment(self.as_ref().to_glib_none().0) }
172    }
173
174    #[doc(alias = "gtk_adjustment_get_page_size")]
175    #[doc(alias = "get_page_size")]
176    #[doc(alias = "page-size")]
177    fn page_size(&self) -> f64 {
178        unsafe { ffi::gtk_adjustment_get_page_size(self.as_ref().to_glib_none().0) }
179    }
180
181    #[doc(alias = "gtk_adjustment_get_step_increment")]
182    #[doc(alias = "get_step_increment")]
183    #[doc(alias = "step-increment")]
184    fn step_increment(&self) -> f64 {
185        unsafe { ffi::gtk_adjustment_get_step_increment(self.as_ref().to_glib_none().0) }
186    }
187
188    #[doc(alias = "gtk_adjustment_get_upper")]
189    #[doc(alias = "get_upper")]
190    fn upper(&self) -> f64 {
191        unsafe { ffi::gtk_adjustment_get_upper(self.as_ref().to_glib_none().0) }
192    }
193
194    #[doc(alias = "gtk_adjustment_get_value")]
195    #[doc(alias = "get_value")]
196    fn value(&self) -> f64 {
197        unsafe { ffi::gtk_adjustment_get_value(self.as_ref().to_glib_none().0) }
198    }
199
200    #[doc(alias = "gtk_adjustment_set_lower")]
201    #[doc(alias = "lower")]
202    fn set_lower(&self, lower: f64) {
203        unsafe {
204            ffi::gtk_adjustment_set_lower(self.as_ref().to_glib_none().0, lower);
205        }
206    }
207
208    #[doc(alias = "gtk_adjustment_set_page_increment")]
209    #[doc(alias = "page-increment")]
210    fn set_page_increment(&self, page_increment: f64) {
211        unsafe {
212            ffi::gtk_adjustment_set_page_increment(self.as_ref().to_glib_none().0, page_increment);
213        }
214    }
215
216    #[doc(alias = "gtk_adjustment_set_page_size")]
217    #[doc(alias = "page-size")]
218    fn set_page_size(&self, page_size: f64) {
219        unsafe {
220            ffi::gtk_adjustment_set_page_size(self.as_ref().to_glib_none().0, page_size);
221        }
222    }
223
224    #[doc(alias = "gtk_adjustment_set_step_increment")]
225    #[doc(alias = "step-increment")]
226    fn set_step_increment(&self, step_increment: f64) {
227        unsafe {
228            ffi::gtk_adjustment_set_step_increment(self.as_ref().to_glib_none().0, step_increment);
229        }
230    }
231
232    #[doc(alias = "gtk_adjustment_set_upper")]
233    #[doc(alias = "upper")]
234    fn set_upper(&self, upper: f64) {
235        unsafe {
236            ffi::gtk_adjustment_set_upper(self.as_ref().to_glib_none().0, upper);
237        }
238    }
239
240    #[doc(alias = "gtk_adjustment_set_value")]
241    #[doc(alias = "value")]
242    fn set_value(&self, value: f64) {
243        unsafe {
244            ffi::gtk_adjustment_set_value(self.as_ref().to_glib_none().0, value);
245        }
246    }
247
248    #[doc(alias = "changed")]
249    fn connect_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
250        unsafe extern "C" fn changed_trampoline<P: IsA<Adjustment>, F: Fn(&P) + 'static>(
251            this: *mut ffi::GtkAdjustment,
252            f: glib::ffi::gpointer,
253        ) {
254            unsafe {
255                let f: &F = &*(f as *const F);
256                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
257            }
258        }
259        unsafe {
260            let f: Box_<F> = Box_::new(f);
261            connect_raw(
262                self.as_ptr() as *mut _,
263                c"changed".as_ptr(),
264                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
265                    changed_trampoline::<Self, F> as *const (),
266                )),
267                Box_::into_raw(f),
268            )
269        }
270    }
271
272    #[doc(alias = "value-changed")]
273    fn connect_value_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
274        unsafe extern "C" fn value_changed_trampoline<P: IsA<Adjustment>, F: Fn(&P) + 'static>(
275            this: *mut ffi::GtkAdjustment,
276            f: glib::ffi::gpointer,
277        ) {
278            unsafe {
279                let f: &F = &*(f as *const F);
280                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
281            }
282        }
283        unsafe {
284            let f: Box_<F> = Box_::new(f);
285            connect_raw(
286                self.as_ptr() as *mut _,
287                c"value-changed".as_ptr(),
288                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
289                    value_changed_trampoline::<Self, F> as *const (),
290                )),
291                Box_::into_raw(f),
292            )
293        }
294    }
295
296    #[doc(alias = "lower")]
297    fn connect_lower_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
298        unsafe extern "C" fn notify_lower_trampoline<P: IsA<Adjustment>, F: Fn(&P) + 'static>(
299            this: *mut ffi::GtkAdjustment,
300            _param_spec: glib::ffi::gpointer,
301            f: glib::ffi::gpointer,
302        ) {
303            unsafe {
304                let f: &F = &*(f as *const F);
305                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
306            }
307        }
308        unsafe {
309            let f: Box_<F> = Box_::new(f);
310            connect_raw(
311                self.as_ptr() as *mut _,
312                c"notify::lower".as_ptr(),
313                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
314                    notify_lower_trampoline::<Self, F> as *const (),
315                )),
316                Box_::into_raw(f),
317            )
318        }
319    }
320
321    #[doc(alias = "page-increment")]
322    fn connect_page_increment_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
323        unsafe extern "C" fn notify_page_increment_trampoline<
324            P: IsA<Adjustment>,
325            F: Fn(&P) + 'static,
326        >(
327            this: *mut ffi::GtkAdjustment,
328            _param_spec: glib::ffi::gpointer,
329            f: glib::ffi::gpointer,
330        ) {
331            unsafe {
332                let f: &F = &*(f as *const F);
333                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
334            }
335        }
336        unsafe {
337            let f: Box_<F> = Box_::new(f);
338            connect_raw(
339                self.as_ptr() as *mut _,
340                c"notify::page-increment".as_ptr(),
341                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
342                    notify_page_increment_trampoline::<Self, F> as *const (),
343                )),
344                Box_::into_raw(f),
345            )
346        }
347    }
348
349    #[doc(alias = "page-size")]
350    fn connect_page_size_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
351        unsafe extern "C" fn notify_page_size_trampoline<
352            P: IsA<Adjustment>,
353            F: Fn(&P) + 'static,
354        >(
355            this: *mut ffi::GtkAdjustment,
356            _param_spec: glib::ffi::gpointer,
357            f: glib::ffi::gpointer,
358        ) {
359            unsafe {
360                let f: &F = &*(f as *const F);
361                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
362            }
363        }
364        unsafe {
365            let f: Box_<F> = Box_::new(f);
366            connect_raw(
367                self.as_ptr() as *mut _,
368                c"notify::page-size".as_ptr(),
369                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
370                    notify_page_size_trampoline::<Self, F> as *const (),
371                )),
372                Box_::into_raw(f),
373            )
374        }
375    }
376
377    #[doc(alias = "step-increment")]
378    fn connect_step_increment_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
379        unsafe extern "C" fn notify_step_increment_trampoline<
380            P: IsA<Adjustment>,
381            F: Fn(&P) + 'static,
382        >(
383            this: *mut ffi::GtkAdjustment,
384            _param_spec: glib::ffi::gpointer,
385            f: glib::ffi::gpointer,
386        ) {
387            unsafe {
388                let f: &F = &*(f as *const F);
389                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
390            }
391        }
392        unsafe {
393            let f: Box_<F> = Box_::new(f);
394            connect_raw(
395                self.as_ptr() as *mut _,
396                c"notify::step-increment".as_ptr(),
397                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
398                    notify_step_increment_trampoline::<Self, F> as *const (),
399                )),
400                Box_::into_raw(f),
401            )
402        }
403    }
404
405    #[doc(alias = "upper")]
406    fn connect_upper_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
407        unsafe extern "C" fn notify_upper_trampoline<P: IsA<Adjustment>, F: Fn(&P) + 'static>(
408            this: *mut ffi::GtkAdjustment,
409            _param_spec: glib::ffi::gpointer,
410            f: glib::ffi::gpointer,
411        ) {
412            unsafe {
413                let f: &F = &*(f as *const F);
414                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
415            }
416        }
417        unsafe {
418            let f: Box_<F> = Box_::new(f);
419            connect_raw(
420                self.as_ptr() as *mut _,
421                c"notify::upper".as_ptr(),
422                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
423                    notify_upper_trampoline::<Self, F> as *const (),
424                )),
425                Box_::into_raw(f),
426            )
427        }
428    }
429
430    #[doc(alias = "value")]
431    fn connect_value_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
432        unsafe extern "C" fn notify_value_trampoline<P: IsA<Adjustment>, F: Fn(&P) + 'static>(
433            this: *mut ffi::GtkAdjustment,
434            _param_spec: glib::ffi::gpointer,
435            f: glib::ffi::gpointer,
436        ) {
437            unsafe {
438                let f: &F = &*(f as *const F);
439                f(Adjustment::from_glib_borrow(this).unsafe_cast_ref())
440            }
441        }
442        unsafe {
443            let f: Box_<F> = Box_::new(f);
444            connect_raw(
445                self.as_ptr() as *mut _,
446                c"notify::value".as_ptr(),
447                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
448                    notify_value_trampoline::<Self, F> as *const (),
449                )),
450                Box_::into_raw(f),
451            )
452        }
453    }
454}
455
456impl<O: IsA<Adjustment>> AdjustmentExt for O {}