atk/auto/
object_factory.rs1use atk_sys;
6use glib;
7use glib::object::IsA;
8use glib::translate::*;
9use std::fmt;
10use Object;
11
12glib_wrapper! {
13 pub struct ObjectFactory(Object<atk_sys::AtkObjectFactory, atk_sys::AtkObjectFactoryClass, ObjectFactoryClass>);
14
15 match fn {
16 get_type => || atk_sys::atk_object_factory_get_type(),
17 }
18}
19
20pub const NONE_OBJECT_FACTORY: Option<&ObjectFactory> = None;
21
22pub trait ObjectFactoryExt: 'static {
23 fn create_accessible<P: IsA<glib::Object>>(&self, obj: &P) -> Option<Object>;
24
25 fn get_accessible_type(&self) -> glib::types::Type;
26
27 fn invalidate(&self);
28}
29
30impl<O: IsA<ObjectFactory>> ObjectFactoryExt for O {
31 fn create_accessible<P: IsA<glib::Object>>(&self, obj: &P) -> Option<Object> {
32 unsafe {
33 from_glib_full(atk_sys::atk_object_factory_create_accessible(
34 self.as_ref().to_glib_none().0,
35 obj.as_ref().to_glib_none().0,
36 ))
37 }
38 }
39
40 fn get_accessible_type(&self) -> glib::types::Type {
41 unsafe {
42 from_glib(atk_sys::atk_object_factory_get_accessible_type(
43 self.as_ref().to_glib_none().0,
44 ))
45 }
46 }
47
48 fn invalidate(&self) {
49 unsafe {
50 atk_sys::atk_object_factory_invalidate(self.as_ref().to_glib_none().0);
51 }
52 }
53}
54
55impl fmt::Display for ObjectFactory {
56 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
57 write!(f, "ObjectFactory")
58 }
59}