Skip to main content

atk/auto/
gobject_accessible.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::Object;
6use glib::{prelude::*, translate::*};
7use std::fmt;
8
9glib::wrapper! {
10    /// This object class is derived from AtkObject and can be used as a basis implementing accessible objects.
11    ///
12    /// This object class is derived from AtkObject. It can be used as a
13    /// basis for implementing accessible objects for GObjects which are
14    /// not derived from GtkWidget. One example of its use is in providing
15    /// an accessible object for GnomeCanvasItem in the GAIL library.
16    ///
17    /// # Implements
18    ///
19    /// [`GObjectAccessibleExt`][trait@crate::prelude::GObjectAccessibleExt], [`AtkObjectExt`][trait@crate::prelude::AtkObjectExt], [`trait@glib::ObjectExt`]
20    #[doc(alias = "AtkGObjectAccessible")]
21    pub struct GObjectAccessible(Object<ffi::AtkGObjectAccessible, ffi::AtkGObjectAccessibleClass>) @extends Object;
22
23    match fn {
24        type_ => || ffi::atk_gobject_accessible_get_type(),
25    }
26}
27
28impl GObjectAccessible {
29    pub const NONE: Option<&'static GObjectAccessible> = None;
30
31    /// Gets the accessible object for the specified `obj`.
32    /// ## `obj`
33    /// a [`glib::Object`][crate::glib::Object]
34    ///
35    /// # Returns
36    ///
37    /// a [`Object`][crate::Object] which is the accessible object for
38    /// the `obj`
39    #[doc(alias = "atk_gobject_accessible_for_object")]
40    pub fn for_object(obj: &impl IsA<glib::Object>) -> Option<Object> {
41        assert_initialized_main_thread!();
42        unsafe {
43            from_glib_none(ffi::atk_gobject_accessible_for_object(
44                obj.as_ref().to_glib_none().0,
45            ))
46        }
47    }
48}
49
50mod sealed {
51    pub trait Sealed {}
52    impl<T: super::IsA<super::GObjectAccessible>> Sealed for T {}
53}
54
55/// Trait containing all [`struct@GObjectAccessible`] methods.
56///
57/// # Implementors
58///
59/// [`GObjectAccessible`][struct@crate::GObjectAccessible]
60pub trait GObjectAccessibleExt: IsA<GObjectAccessible> + sealed::Sealed + 'static {
61    /// Gets the GObject for which `self` is the accessible object.
62    ///
63    /// # Returns
64    ///
65    /// a [`glib::Object`][crate::glib::Object] which is the object for which `self` is
66    /// the accessible object
67    #[doc(alias = "atk_gobject_accessible_get_object")]
68    #[doc(alias = "get_object")]
69    fn object(&self) -> Option<glib::Object> {
70        unsafe {
71            from_glib_none(ffi::atk_gobject_accessible_get_object(
72                self.as_ref().to_glib_none().0,
73            ))
74        }
75    }
76}
77
78impl<O: IsA<GObjectAccessible>> GObjectAccessibleExt for O {}
79
80impl fmt::Display for GObjectAccessible {
81    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
82        f.write_str("GObjectAccessible")
83    }
84}