gtk4/auto/
multi_filter.rs1use crate::{ffi, Buildable, Filter};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9 #[doc(alias = "GtkMultiFilter")]
10 pub struct MultiFilter(Object<ffi::GtkMultiFilter, ffi::GtkMultiFilterClass>) @extends Filter, @implements gio::ListModel, Buildable;
11
12 match fn {
13 type_ => || ffi::gtk_multi_filter_get_type(),
14 }
15}
16
17impl MultiFilter {
18 pub const NONE: Option<&'static MultiFilter> = None;
19}
20
21pub trait MultiFilterExt: IsA<MultiFilter> + 'static {
22 #[doc(alias = "gtk_multi_filter_append")]
23 fn append(&self, filter: impl IsA<Filter>) {
24 unsafe {
25 ffi::gtk_multi_filter_append(
26 self.as_ref().to_glib_none().0,
27 filter.upcast().into_glib_ptr(),
28 );
29 }
30 }
31
32 #[doc(alias = "gtk_multi_filter_remove")]
33 fn remove(&self, position: u32) {
34 unsafe {
35 ffi::gtk_multi_filter_remove(self.as_ref().to_glib_none().0, position);
36 }
37 }
38}
39
40impl<O: IsA<MultiFilter>> MultiFilterExt for O {}