1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use atk_sys; use glib; use glib::object::IsA; use glib::translate::*; use std::fmt; use Object; glib_wrapper! { /// This class is the base object class for a factory used to create an /// accessible object for a specific GType. The function /// `RegistryExt::set_factory_type` is normally called to store in the /// registry the factory type to be used to create an accessible of a /// particular GType. /// /// # Implements /// /// [`ObjectFactoryExt`](trait.ObjectFactoryExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) pub struct ObjectFactory(Object<atk_sys::AtkObjectFactory, atk_sys::AtkObjectFactoryClass, ObjectFactoryClass>); match fn { get_type => || atk_sys::atk_object_factory_get_type(), } } pub const NONE_OBJECT_FACTORY: Option<&ObjectFactory> = None; /// Trait containing all `ObjectFactory` methods. /// /// # Implementors /// /// [`NoOpObjectFactory`](struct.NoOpObjectFactory.html), [`ObjectFactory`](struct.ObjectFactory.html) pub trait ObjectFactoryExt: 'static { /// Provides an `Object` that implements an accessibility interface /// on behalf of `obj` /// ## `obj` /// a `gobject::Object` /// /// # Returns /// /// an `Object` that implements an accessibility /// interface on behalf of `obj` fn create_accessible<P: IsA<glib::Object>>(&self, obj: &P) -> Option<Object>; /// Gets the GType of the accessible which is created by the factory. /// /// # Returns /// /// the type of the accessible which is created by the `self`. /// The value G_TYPE_INVALID is returned if no type if found. fn get_accessible_type(&self) -> glib::types::Type; /// Inform `self` that it is no longer being used to create /// accessibles. When called, `self` may need to inform /// `AtkObjects` which it has created that they need to be re-instantiated. /// Note: primarily used for runtime replacement of `AtkObjectFactorys` /// in object registries. fn invalidate(&self); } impl<O: IsA<ObjectFactory>> ObjectFactoryExt for O { fn create_accessible<P: IsA<glib::Object>>(&self, obj: &P) -> Option<Object> { unsafe { from_glib_full(atk_sys::atk_object_factory_create_accessible( self.as_ref().to_glib_none().0, obj.as_ref().to_glib_none().0, )) } } fn get_accessible_type(&self) -> glib::types::Type { unsafe { from_glib(atk_sys::atk_object_factory_get_accessible_type( self.as_ref().to_glib_none().0, )) } } fn invalidate(&self) { unsafe { atk_sys::atk_object_factory_invalidate(self.as_ref().to_glib_none().0); } } } impl fmt::Display for ObjectFactory { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "ObjectFactory") } }