libadwaita/
breakpoint.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use crate::{prelude::*, Breakpoint};
4use glib::translate::*;
5
6impl Breakpoint {
7    #[doc(alias = "adw_breakpoint_add_settersv")]
8    #[doc(alias = "add_settersv")]
9    pub fn add_setters(&self, additions: &[(&impl IsA<glib::Object>, &str, impl ToValue)]) {
10        let n_setters = additions.len() as _;
11        let objects = additions
12            .iter()
13            .map(|(o, _n, _v)| (*o).clone().upcast::<glib::Object>())
14            .collect::<Vec<_>>();
15        let names = additions.iter().map(|(_o, n, _v)| *n).collect::<Vec<_>>();
16        let values = additions
17            .iter()
18            .map(|(_o, _n, v)| v.to_value())
19            .collect::<Vec<_>>();
20
21        unsafe {
22            ffi::adw_breakpoint_add_settersv(
23                self.to_glib_none().0,
24                n_setters,
25                objects.as_slice().to_glib_none().0,
26                names.as_slice().to_glib_none().0,
27                values.as_slice().to_glib_none().0,
28            );
29        }
30    }
31}