The base object class for the Accessibility Toolkit API. More...

#include <atkmm/object.h>

Inheritance diagram for Atk::Object:

Public Member Functions

 Object (Object&& src) noexcept
 
Objectoperator= (Object&& src) noexcept
 
 ~Object () noexcept override
 
AtkObject* gobj ()
 Provides access to the underlying C GObject. More...

 
const AtkObject* gobj () const
 Provides access to the underlying C GObject. More...

 
AtkObject* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

 
Glib::ustring get_name () const
 Gets the accessible name of the accessible. More...

 
Glib::ustring get_description () const
 Gets the accessible description of the accessible. More...

 
Glib::RefPtr< Atk::Objectget_parent ()
 Gets the accessible parent of the accessible. More...

 
int get_n_accessible_children () const
 Gets the number of accessible children of the accessible. More...

 
Glib::RefPtr< Atk::Objectget_accessible_child (int i)
 Gets a reference to the specified accessible child of the object. More...

 
Glib::RefPtr< RelationSetget_relation_set ()
 Gets the Atk::RelationSet associated with the object. More...

 
Role get_role () const
 Gets the role of the accessible. More...

 
Glib::RefPtr< StateSetget_state_set ()
 Gets a reference to the state set of the accessible; the caller must unreference it when it is no longer needed. More...

 
int get_index_in_parent ()
 Gets the 0-based index of this accessible in its parent; returns -1 if the accessible does not have an accessible parent. More...

 
void set_name (const Glib::ustring& name)
 Sets the accessible name of the accessible. More...

 
void set_description (const Glib::ustring& description)
 Sets the accessible description of the accessible. More...

 
void set_parent (const Glib::RefPtr< Atk::Object >& parent)
 Sets the accessible parent of the accessible. More...

 
void set_role (Role role)
 Sets the role of the accessible. More...

 
void notify_state_change (State state, bool value)
 Emits a state-change signal for the specified state. More...

 
bool add_relationship (Relation::Type relationship, const Glib::RefPtr< Object >& target)
 Adds a relationship of the specified type with the specified target. More...

 
bool remove_relationship (Relation::Type relationship, const Glib::RefPtr< Object >& target)
 Removes a relationship of the specified type with the specified target. More...

 
Glib::ustring get_object_locale () const
 Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale of accessible. More...

 
Glib::ustring get_accessible_id () const
 Gets the accessible id of the accessible. More...

 
void set_accessible_id (const Glib::ustring& name)
 Sets the accessible ID of the accessible. More...

 
Glib::SignalProxyDetailed< void(guint, gpointer)> signal_children_changed (const Glib::ustring& add_or_remove={})
 
Glib::SignalProxy< void(bool)> signal_focus_event ()
 
Glib::SignalProxyDetailed< void(AtkPropertyValues*)> signal_property_change (const Glib::ustring& property_name={})
 
Glib::SignalProxyDetailed< void(const Glib::ustring&, bool)> signal_state_change (const Glib::ustring& state_name={})
 
Glib::SignalProxy< void()> signal_visible_data_changed ()
 
Glib::SignalProxy< void(void**)> signal_active_descendant_changed ()
 
Glib::PropertyProxy< Glib::ustringproperty_accessible_name ()
 Object instance’s name formatted for assistive technology access. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_accessible_name () const
 Object instance’s name formatted for assistive technology access. More...

 
Glib::PropertyProxy< Glib::ustringproperty_accessible_description ()
 Description of an object, formatted for assistive technology access. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_accessible_description () const
 Description of an object, formatted for assistive technology access. More...

 
Glib::PropertyProxy< Glib::RefPtr< Atk::Object > > property_accessible_parent ()
 Parent of the current accessible as returned by Atk::Object::get_parent(). More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Atk::Object > > property_accessible_parent () const
 Parent of the current accessible as returned by Atk::Object::get_parent(). More...

 
Glib::PropertyProxy< Roleproperty_accessible_role ()
 The accessible role of this object. More...

 
Glib::PropertyProxy_ReadOnly< Roleproperty_accessible_role () const
 The accessible role of this object. More...

 
Glib::PropertyProxy_ReadOnly< int > property_accessible_component_layer () const
 The accessible layer of this object. More...

 
Glib::PropertyProxy_ReadOnly< int > property_accessible_component_mdi_zorder () const
 The accessible MDI value of this object. More...

 
Glib::PropertyProxy< Glib::RefPtr< Atk::Object > > property_accessible_table_summary ()
 Is used to notify that the table summary has changed. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Atk::Object > > property_accessible_table_summary () const
 Is used to notify that the table summary has changed. More...

 
Glib::PropertyProxy< Glib::RefPtr< Atk::Object > > property_accessible_table_caption_object ()
 Is used to notify that the table caption has changed. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Atk::Object > > property_accessible_table_caption_object () const
 Is used to notify that the table caption has changed. More...

 
Glib::PropertyProxy_ReadOnly< int > property_accessible_hypertext_nlinks () const
 The number of links which the current AtkHypertext has. More...

 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
PropertyType get_property (const Glib::ustring &property_name) const
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (notifiable *data) const
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 

Protected Member Functions

virtual void on_children_changed (guint change_index, gpointer changed_child)
 This is a default handler for the signal signal_children_changed(). More...

 
virtual void on_focus_event (bool focus_in)
 This is a default handler for the signal signal_focus_event(). More...

 
virtual void on_property_change (AtkPropertyValues* values)
 This is a default handler for the signal signal_property_change(). More...

 
virtual void on_state_change (const Glib::ustring& name, bool state_set)
 This is a default handler for the signal signal_state_change(). More...

 
virtual void on_visible_data_changed ()
 This is a default handler for the signal signal_visible_data_changed(). More...

 
virtual void on_active_descendant_changed (void** child)
 This is a default handler for the signal signal_active_descendant_changed(). More...

 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexcept override
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Atk::Objectwrap (AtkObject* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify
 

Detailed Description

The base object class for the Accessibility Toolkit API.

This class is the primary class for accessibility support via the Accessibility ToolKit (ATK). Objects which are instances of Atk::Object (or instances of Atk::Object-derived types) are queried for properties which relate basic (and generic) properties of a UI component such as name and description. Instances of Atk::Object may also be queried as to whether they implement other ATK interfaces (e.g. Atk::Action, Atk::Component, etc.), as appropriate to the role which a given UI component plays in a user interface.

All UI components in an application which provide useful information or services to the user must provide corresponding Atk::Object instances on request (in GTK+, for instance, usually on a call to Gtk::Widget::get_accessible()), either via ATK support built into the toolkit for the widget class or ancestor class, or in the case of custom widgets, if the inherited Atk::Object implementation is insufficient, via instances of a new Atk::Object subclass.

Constructor & Destructor Documentation

Atk::Object::Object ( Object&&  src)
noexcept
Atk::Object::~Object ( )
overridenoexcept

Member Function Documentation

bool Atk::Object::add_relationship ( Relation::Type  relationship,
const Glib::RefPtr< Object >&  target 
)

Adds a relationship of the specified type with the specified target.

Parameters
relationshipThe Atk::RelationType of the relation.
targetThe Atk::Object which is to be the target of the relation.
Returns
true if the relationship is added.
Glib::RefPtr<Atk::Object> Atk::Object::get_accessible_child ( int  i)

Gets a reference to the specified accessible child of the object.

The accessible children are 0-based so the first accessible child is at index 0, the second at index 1 and so on.

Parameters
iA int representing the position of the child, starting from 0.
Returns
An Atk::Object representing the specified accessible child of the accessible.
Glib::ustring Atk::Object::get_accessible_id ( ) const

Gets the accessible id of the accessible.

Since atkmm 2.34:
Returns
A character string representing the accessible id of the object, or nullptr if no such string was set.
Glib::ustring Atk::Object::get_description ( ) const

Gets the accessible description of the accessible.

Returns
A character string representing the accessible description of the accessible.
int Atk::Object::get_index_in_parent ( )

Gets the 0-based index of this accessible in its parent; returns -1 if the accessible does not have an accessible parent.

Returns
An integer which is the index of the accessible in its parent.
int Atk::Object::get_n_accessible_children ( ) const

Gets the number of accessible children of the accessible.

Returns
An integer representing the number of accessible children of the accessible.
Glib::ustring Atk::Object::get_name ( ) const

Gets the accessible name of the accessible.

Returns
A character string representing the accessible name of the object.
Glib::ustring Atk::Object::get_object_locale ( ) const

Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale of accessible.

Since atkmm 2.8:
Returns
A UTF-8 string indicating the POSIX-style LC_MESSAGES locale of accessible.
Glib::RefPtr<Atk::Object> Atk::Object::get_parent ( )

Gets the accessible parent of the accessible.

By default this is the one assigned with set_parent(), but it is assumed that ATK implementors have ways to get the parent of the object without the need of assigning it manually with set_parent(), and will return it with this method.

If you are only interested on the parent assigned with set_parent(), use peek_parent().

Returns
An Atk::Object representing the accessible parent of the accessible.
Glib::RefPtr<RelationSet> Atk::Object::get_relation_set ( )

Gets the Atk::RelationSet associated with the object.

Returns
An Atk::RelationSet representing the relation set of the object.
Role Atk::Object::get_role ( ) const

Gets the role of the accessible.

Returns
An Atk::Role which is the role of the accessible.
Glib::RefPtr<StateSet> Atk::Object::get_state_set ( )

Gets a reference to the state set of the accessible; the caller must unreference it when it is no longer needed.

Returns
A reference to an Atk::StateSet which is the state set of the accessible.
static GType Atk::Object::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

AtkObject* Atk::Object::gobj ( )
inline

Provides access to the underlying C GObject.

const AtkObject* Atk::Object::gobj ( ) const
inline

Provides access to the underlying C GObject.

AtkObject* Atk::Object::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

void Atk::Object::notify_state_change ( State  state,
bool  value 
)

Emits a state-change signal for the specified state.

Note that as a general rule when the state of an existing object changes, emitting a notification is expected.

Parameters
stateAn Atk::State whose state is changed.
valueA bool which indicates whether the state is being set on or off.
virtual void Atk::Object::on_active_descendant_changed ( void **  child)
protectedvirtual

This is a default handler for the signal signal_active_descendant_changed().

virtual void Atk::Object::on_children_changed ( guint  change_index,
gpointer  changed_child 
)
protectedvirtual

This is a default handler for the signal signal_children_changed().

virtual void Atk::Object::on_focus_event ( bool  focus_in)
protectedvirtual

This is a default handler for the signal signal_focus_event().

virtual void Atk::Object::on_property_change ( AtkPropertyValues *  values)
protectedvirtual

This is a default handler for the signal signal_property_change().

virtual void Atk::Object::on_state_change ( const Glib::ustring name,
bool  state_set 
)
protectedvirtual

This is a default handler for the signal signal_state_change().

virtual void Atk::Object::on_visible_data_changed ( )
protectedvirtual

This is a default handler for the signal signal_visible_data_changed().

Object& Atk::Object::operator= ( Object&&  src)
noexcept
Glib::PropertyProxy_ReadOnly< int > Atk::Object::property_accessible_component_layer ( ) const

The accessible layer of this object.

Default value: 0

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< int > Atk::Object::property_accessible_component_mdi_zorder ( ) const

The accessible MDI value of this object.

Default value: -2147483648

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::ustring > Atk::Object::property_accessible_description ( )

Description of an object, formatted for assistive technology access.

Default value: ""

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::ustring > Atk::Object::property_accessible_description ( ) const

Description of an object, formatted for assistive technology access.

Default value: ""

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< int > Atk::Object::property_accessible_hypertext_nlinks ( ) const

The number of links which the current AtkHypertext has.

Default value: 0

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::ustring > Atk::Object::property_accessible_name ( )

Object instance’s name formatted for assistive technology access.

Default value: ""

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::ustring > Atk::Object::property_accessible_name ( ) const

Object instance’s name formatted for assistive technology access.

Default value: ""

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<Atk::Object> > Atk::Object::property_accessible_parent ( )

Parent of the current accessible as returned by Atk::Object::get_parent().

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Atk::Object> > Atk::Object::property_accessible_parent ( ) const

Parent of the current accessible as returned by Atk::Object::get_parent().

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Role > Atk::Object::property_accessible_role ( )

The accessible role of this object.

Default value: Atk::Role::UNKNOWN

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Role > Atk::Object::property_accessible_role ( ) const

The accessible role of this object.

Default value: Atk::Role::UNKNOWN

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<Atk::Object> > Atk::Object::property_accessible_table_caption_object ( )

Is used to notify that the table caption has changed.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Atk::Object> > Atk::Object::property_accessible_table_caption_object ( ) const

Is used to notify that the table caption has changed.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<Atk::Object> > Atk::Object::property_accessible_table_summary ( )

Is used to notify that the table summary has changed.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Atk::Object> > Atk::Object::property_accessible_table_summary ( ) const

Is used to notify that the table summary has changed.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
bool Atk::Object::remove_relationship ( Relation::Type  relationship,
const Glib::RefPtr< Object >&  target 
)

Removes a relationship of the specified type with the specified target.

Parameters
relationshipThe Atk::RelationType of the relation.
targetThe Atk::Object which is the target of the relation to be removed.
Returns
true if the relationship is removed.
void Atk::Object::set_accessible_id ( const Glib::ustring name)

Sets the accessible ID of the accessible.

This is not meant to be presented to the user, but to be an ID which is stable over application development. Typically, this is the gtkbuilder ID. Such an ID will be available for instance to identify a given well-known accessible object for tailored screen reading, or for automatic regression testing.

Since atkmm 2.34:
Parameters
nameA character string to be set as the accessible id.
void Atk::Object::set_description ( const Glib::ustring description)

Sets the accessible description of the accessible.

You can't set the description to nullptr. This is reserved for the initial value. In this aspect nullptr is similar to ATK_ROLE_UNKNOWN. If you want to set the name to a empty value you can use "".

Parameters
descriptionA character string to be set as the accessible description.
void Atk::Object::set_name ( const Glib::ustring name)

Sets the accessible name of the accessible.

You can't set the name to nullptr. This is reserved for the initial value. In this aspect nullptr is similar to ATK_ROLE_UNKNOWN. If you want to set the name to a empty value you can use "".

Parameters
nameA character string to be set as the accessible name.
void Atk::Object::set_parent ( const Glib::RefPtr< Atk::Object >&  parent)

Sets the accessible parent of the accessible.

parent can be nullptr.

Parameters
parentAn Atk::Object to be set as the accessible parent.
void Atk::Object::set_role ( Role  role)

Sets the role of the accessible.

Parameters
roleAn Atk::Role to be set as the role.
Glib::SignalProxy<void(void**)> Atk::Object::signal_active_descendant_changed ( )
Slot Prototype:
void on_my_active_descendant_changed(void** child)

Flags: Run Last

The "active-descendant-changed" signal is emitted by an object which has the state ATK_STATE_MANAGES_DESCENDANTS when the focus object in the object changes. For instance, a table will emit the signal when the cell in the table which has focus changes.

Parameters
childThe newly focused object.
Glib::SignalProxyDetailed<void(guint, gpointer)> Atk::Object::signal_children_changed ( const Glib::ustring add_or_remove = {})
Slot Prototype:
void on_my_children_changed(guint change_index, gpointer changed_child)

Flags: Run Last

The signal "children-changed" is emitted when a child is added or removed form an object. It supports two details: "add" and "remove"

Parameters
change_indexThe index of the added or removed child. The value can be -1. This is used if the value is not known by the implementor when the child is added/removed or irrelevant.
changed_childA gpointer to the child AtkObject which was added or removed. If the child was removed, it is possible that it is not available for the implementor. In that case this pointer can be nullptr.
Glib::SignalProxy<void(bool)> Atk::Object::signal_focus_event ( )
Slot Prototype:
void on_my_focus_event(bool focus_in)

Flags: Run Last

The signal "focus-event" is emitted when an object gained or lost focus.

Deprecated: 2.9.4: Use the Atk::Object::signal_state_change() signal instead.

Parameters
focus_inA boolean value which indicates whether the object gained or lost focus.
Glib::SignalProxyDetailed<void(AtkPropertyValues*)> Atk::Object::signal_property_change ( const Glib::ustring property_name = {})
Slot Prototype:
void on_my_property_change(AtkPropertyValues* values)

Flags: Run Last

The signal "property-change" is emitted when an object's property value changes. values contains an Atk::PropertyValues with the name and the new value of the property whose value has changed. Note that, as with GObject notify, getting this signal does not guarantee that the value of the property has actually changed; it may also be emitted when the setter of the property is called to reinstate the previous value.

Toolkit implementor note: ATK implementors should use Glib::object_notify() to emit property-changed notifications. Atk::Object::signal_property_changed() is needed by the implementation of atk_add_global_event_listener() because GObject notify doesn't support emission hooks.

Parameters
valuesAn Atk::PropertyValues containing the new value of the property which changed.
Glib::SignalProxyDetailed<void(const Glib::ustring&, bool)> Atk::Object::signal_state_change ( const Glib::ustring state_name = {})
Slot Prototype:
void on_my_state_change(const Glib::ustring& name, bool state_set)

Flags: Run Last

The "state-change" signal is emitted when an object's state changes. The detail value identifies the state type which has changed.

Parameters
nameThe name of the state which has changed.
state_setA boolean which indicates whether the state has been set or unset.
Glib::SignalProxy<void()> Atk::Object::signal_visible_data_changed ( )
Slot Prototype:
void on_my_visible_data_changed()

Flags: Run Last

The "visible-data-changed" signal is emitted when the visual appearance of the object changed.

Friends And Related Function Documentation

Glib::RefPtr< Atk::Object > wrap ( AtkObject *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.