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}