Revert "Revert "Merge remote-tracking branch 'origin/sandbox/mniesluchow/upstream_2_1...
[platform/upstream/atk.git] / atk / atkobject.h
index 712d68c..b89b430 100755 (executable)
 #define __ATK_OBJECT_H__
 
 #include <glib-object.h>
+
+#include <atk/atkversion.h>
 #include <atk/atkstate.h>
 #include <atk/atkrelationtype.h>
 
 G_BEGIN_DECLS
 
-/*
- * AtkObject represents the minimum information all accessible objects
- * return. This information includes accessible name, accessible
- * description, role and state of the object, as well information about
- * its parent and children. It is also possible to obtain more specific
- * accessibility information about a component if it supports one or more
- * of the following interfaces:
- */
-
-
 /**
  *AtkRole:
  *@ATK_ROLE_INVALID: Invalid role
@@ -102,7 +94,13 @@ G_BEGIN_DECLS
  *@ATK_ROLE_TABLE_ROW_HEADER: The header for a row of a table
  *@ATK_ROLE_TEAR_OFF_MENU_ITEM: A menu item used to tear off and reattach its menu
  *@ATK_ROLE_TERMINAL: An object that represents an accessible terminal.  @Since: ATK-0.6
- *@ATK_ROLE_TEXT: An object that presents text to the user
+ *@ATK_ROLE_TEXT: An interactive widget that supports multiple lines of text and
+ * optionally accepts user input, but whose purpose is not to solicit user input.
+ * Thus ATK_ROLE_TEXT is appropriate for the text view in a plain text editor
+ * but inappropriate for an input field in a dialog box or web form. For widgets
+ * whose purpose is to solicit input from the user, see ATK_ROLE_ENTRY and
+ * ATK_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount of
+ * textual information, see ATK_ROLE_STATIC.
  *@ATK_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or unchecked, but does not provide a separate indicator for the current state
  *@ATK_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or toggle buttons
  *@ATK_ROLE_TOOL_TIP: An object that provides information about another object
@@ -202,6 +200,27 @@ G_BEGIN_DECLS
  * description list. The values within a group are alternatives,
  * meaning that you can have several ATK_ROLE_DESCRIPTION_VALUE for a
  * given ATK_ROLE_DESCRIPTION_TERM. @Since: ATK-2.12
+ *@ATK_ROLE_STATIC: A generic non-container object whose purpose is to display a
+ * brief amount of information to the user and whose role is known by the
+ * implementor but lacks semantic value for the user. Examples in which
+ * ATK_ROLE_STATIC is appropriate include the message displayed in a message box
+ * and an image used as an alternative means to display text. ATK_ROLE_STATIC
+ * should not be applied to widgets which are traditionally interactive, objects
+ * which display a significant amount of content, or any object which has an
+ * accessible relation pointing to another object. Implementors should expose the
+ * displayed information through the accessible name of the object. If doing so seems
+ * inappropriate, it may indicate that a different role should be used. For
+ * labels which describe another widget, see ATK_ROLE_LABEL. For text views, see
+ * ATK_ROLE_TEXT. For generic containers, see ATK_ROLE_PANEL. For objects whose
+ * role is not known by the implementor, see ATK_ROLE_UNKNOWN. @Since: ATK-2.16.
+ *@ATK_ROLE_MATH_FRACTION: An object that represents a mathematical fraction.
+ * @Since: ATK-2.16.
+ *@ATK_ROLE_MATH_ROOT: An object that represents a mathematical expression
+ * displayed with a radical. @Since: ATK-2.16.
+ *@ATK_ROLE_SUBSCRIPT: An object that contains text that is displayed as a
+ * subscript. @Since: ATK-2.16.
+ *@ATK_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a
+ * superscript. @Since: ATK-2.16.
  *@ATK_ROLE_LAST_DEFINED: not a valid role, used for finding end of the enumeration
  *
  * Describes the role of an object
@@ -329,6 +348,11 @@ typedef enum
   ATK_ROLE_DESCRIPTION_LIST,
   ATK_ROLE_DESCRIPTION_TERM,
   ATK_ROLE_DESCRIPTION_VALUE,
+  ATK_ROLE_STATIC,
+  ATK_ROLE_MATH_FRACTION,
+  ATK_ROLE_MATH_ROOT,
+  ATK_ROLE_SUBSCRIPT,
+  ATK_ROLE_SUPERSCRIPT,
   ATK_ROLE_LAST_DEFINED
 } AtkRole;
 
@@ -638,6 +662,7 @@ void                      (* initialize)                         (AtkObject
   AtkFunction             pad1;
 };
 
+ATK_AVAILABLE_IN_ALL
 GType            atk_object_get_type   (void);
 
 /**
@@ -653,69 +678,94 @@ struct _AtkImplementorIface
 
   AtkObject*   (*ref_accessible) (AtkImplementor *implementor);
 };
-GType atk_implementor_get_type (void);
 
+ATK_AVAILABLE_IN_ALL
+GType atk_implementor_get_type (void);
+ATK_AVAILABLE_IN_ALL
 AtkObject*              atk_implementor_ref_accessible            (AtkImplementor *implementor);
 
 /*
  * Properties directly supported by AtkObject
  */
 
+ATK_AVAILABLE_IN_ALL
 const gchar*            atk_object_get_name                       (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 const gchar*            atk_object_get_description                (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 AtkObject*              atk_object_get_parent                     (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 AtkObject*              atk_object_peek_parent                    (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 gint                    atk_object_get_n_accessible_children      (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 AtkObject*              atk_object_ref_accessible_child           (AtkObject *accessible,
                                                                    gint        i);
+ATK_AVAILABLE_IN_ALL
 AtkRelationSet*         atk_object_ref_relation_set               (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 AtkRole                 atk_object_get_role                       (AtkObject *accessible);
 
-G_DEPRECATED_FOR(atk_component_get_layer)
+ATK_DEPRECATED_FOR(atk_component_get_layer)
 AtkLayer                atk_object_get_layer                      (AtkObject *accessible);
-G_DEPRECATED_FOR(atk_component_get_mdi_zorder)
+ATK_DEPRECATED_FOR(atk_component_get_mdi_zorder)
 gint                    atk_object_get_mdi_zorder                 (AtkObject *accessible);
 
+ATK_AVAILABLE_IN_ALL
 AtkAttributeSet*        atk_object_get_attributes                 (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 AtkStateSet*            atk_object_ref_state_set                  (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 gint                    atk_object_get_index_in_parent            (AtkObject *accessible);
+ATK_AVAILABLE_IN_ALL
 void                    atk_object_set_name                       (AtkObject *accessible,
                                                                    const gchar *name);
+ATK_AVAILABLE_IN_ALL
 void                    atk_object_set_description                (AtkObject *accessible,
                                                                    const gchar *description);
+ATK_AVAILABLE_IN_ALL
 void                    atk_object_set_parent                     (AtkObject *accessible,
                                                                    AtkObject *parent);
+ATK_AVAILABLE_IN_ALL
 void                    atk_object_set_role                       (AtkObject *accessible,
                                                                    AtkRole   role);
 
 
-G_DEPRECATED
+ATK_DEPRECATED_IN_2_12
 guint                atk_object_connect_property_change_handler  (AtkObject                      *accessible,
                                                                   AtkPropertyChangeHandler       *handler);
-G_DEPRECATED
+ATK_DEPRECATED_IN_2_12
 void                 atk_object_remove_property_change_handler   (AtkObject                      *accessible,
                                                                   guint                          handler_id);
 
+ATK_AVAILABLE_IN_ALL
 void                 atk_object_notify_state_change              (AtkObject                      *accessible,
                                                                   AtkState                       state,
                                                                   gboolean                       value);
+ATK_AVAILABLE_IN_ALL
 void                 atk_object_initialize                       (AtkObject                     *accessible,
                                                                   gpointer                      data);
-                                    
+
+ATK_AVAILABLE_IN_ALL
 const gchar*          atk_role_get_name      (AtkRole         role);
+ATK_AVAILABLE_IN_ALL
 AtkRole               atk_role_for_name      (const gchar     *name);
 
 
 /* NEW in 1.1: convenience API */
+ATK_AVAILABLE_IN_ALL
 gboolean              atk_object_add_relationship              (AtkObject      *object,
                                                                AtkRelationType relationship,
                                                                AtkObject      *target);
+ATK_AVAILABLE_IN_ALL
 gboolean              atk_object_remove_relationship           (AtkObject      *object,
                                                                AtkRelationType relationship,
                                                                AtkObject      *target);
+ATK_AVAILABLE_IN_ALL
 const gchar*          atk_role_get_localized_name              (AtkRole     role);
-G_DEPRECATED
+ATK_DEPRECATED_IN_2_12
 AtkRole               atk_role_register                        (const gchar *name);
+ATK_AVAILABLE_IN_2_8
 const gchar*          atk_object_get_object_locale             (AtkObject   *accessible);
 
 G_END_DECLS