[go: up one dir, main page]

gtk4/auto/
multi_filter.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, 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 {}