Skip to main content

gtk4/auto/
root.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
5#[cfg(feature = "v4_10")]
6#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
7use crate::Accessible;
8use crate::{Buildable, ConstraintTarget, Native, Widget, ffi};
9use glib::{prelude::*, translate::*};
10
11#[cfg(feature = "v4_10")]
12#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13glib::wrapper! {
14    #[doc(alias = "GtkRoot")]
15    pub struct Root(Interface<ffi::GtkRoot, ffi::GtkRootInterface>) @requires Native, Widget, Accessible, Buildable, ConstraintTarget;
16
17    match fn {
18        type_ => || ffi::gtk_root_get_type(),
19    }
20}
21
22#[cfg(not(feature = "v4_10"))]
23glib::wrapper! {
24    #[doc(alias = "GtkRoot")]
25    pub struct Root(Interface<ffi::GtkRoot, ffi::GtkRootInterface>) @requires Native, Widget, Buildable, ConstraintTarget;
26
27    match fn {
28        type_ => || ffi::gtk_root_get_type(),
29    }
30}
31
32impl Root {
33    pub const NONE: Option<&'static Root> = None;
34}
35
36pub trait RootExt: IsA<Root> + 'static {
37    #[doc(alias = "gtk_root_get_display")]
38    #[doc(alias = "get_display")]
39    fn display(&self) -> gdk::Display {
40        unsafe { from_glib_none(ffi::gtk_root_get_display(self.as_ref().to_glib_none().0)) }
41    }
42
43    #[doc(alias = "gtk_root_get_focus")]
44    #[doc(alias = "get_focus")]
45    fn focus(&self) -> Option<Widget> {
46        unsafe { from_glib_none(ffi::gtk_root_get_focus(self.as_ref().to_glib_none().0)) }
47    }
48
49    #[doc(alias = "gtk_root_set_focus")]
50    fn set_focus(&self, focus: Option<&impl IsA<Widget>>) {
51        unsafe {
52            ffi::gtk_root_set_focus(
53                self.as_ref().to_glib_none().0,
54                focus.map(|p| p.as_ref()).to_glib_none().0,
55            );
56        }
57    }
58}
59
60impl<O: IsA<Root>> RootExt for O {}