<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-atkobject">

  <refnamediv>
    <refname>atk.Object</refname>
      <refpurpose>the base object class for the Accessibility Toolkit
      API.</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>atk.Object</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-name">get_name</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-description">get_description</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-parent">get_parent</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-n-accessible-children">get_n_accessible_children</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--ref-accessible-child">ref_accessible_child</link></methodname>
        <methodparam><parameter role="keyword">i</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--ref-relation-set">ref_relation_set</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-role">get_role</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-layer">get_layer</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-mdi-zorder">get_mdi_zorder</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--ref-state-set">ref_state_set</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--get-index-in-parent">get_index_in_parent</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--set-name">set_name</link></methodname>
        <methodparam><parameter role="keyword">name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--set-description">set_description</link></methodname>
        <methodparam><parameter role="keyword">description</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--set-parent">set_parent</link></methodname>
        <methodparam><parameter role="keyword">parent</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--set-role">set_role</link></methodname>
        <methodparam><parameter role="keyword">role</parameter></methodparam>
      </methodsynopsis>
<!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject- -connect-property-change-handler">connect_property_change_handler</link></methodname>
        <methodparam><parameter role="keyword">handler</parameter></methodparam>
      </methodsynopsis>
END -->
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--remove-property-change-handler">remove_property_change_handler</link></methodname>
        <methodparam><parameter role="keyword">handler_id</parameter></methodparam>
      </methodsynopsis>
<!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject- -notify-state-change">notify_state_change</link></methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
        <methodparam><parameter role="keyword">value</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject- -initialize">initialize</link></methodname>
        <methodparam><parameter role="keyword">data</parameter></methodparam>
      </methodsynopsis>
END -->
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--add-relationship">add_relationship</link></methodname>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobject--remove-relationship">remove_relationship</link></methodname>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
      </methodsynopsis>
</classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-atkobject">atk.Object</link>
</synopsis>

  </refsect1>

  <refsect1 id="properties-atkobject">
    <title>atk.Object Properties</title>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
        <tgroup cols="3">
          <colspec column="1" colwidth="1in"/>
          <colspec column="2" colwidth="1in"/>
          <colspec column="3" colwidth="3.5in"/>
        <tbody>

        <row valign="top">
          <entry>"accessible-component-layer"</entry>
          <entry>Read</entry>
          <entry>The accessible layer of this object. Allowed values: >= 0.
          Default value: 0.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-component-mdi-zorder"</entry>
          <entry>Read</entry>
          <entry>The accessible MDI value of this object. Default value:
          -2147483648</entry>
        </row>

        <row valign="top">
          <entry>"accessible-description"</entry>
          <entry>Read-Write</entry>
          <entry>Description of an object, formatted for assistive
          technology access. Default value: <literal>None</literal>.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-hypertext-nlinks"</entry>
          <entry>Read</entry>
          <entry>The number of links which the current <link
          linkend="class-atkhypertext"><classname>atk.Hypertext</classname></link>
          has. Allowed values: >= 0.  Default value: 0.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-name"</entry>
          <entry>Read-Write</entry>
          <entry>Object instance's name formatted for assistive technology
          access. Default value: <literal>None</literal>.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-parent"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the parent has changed.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-role"</entry>
          <entry>Read-Write</entry>
          <entry>The accessible role of this object. Allowed values: >= 0.
          Default value: 0.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-caption"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table caption has changed; this
          property should not be used. "accessible-table-caption-object"
          should be used instead. Default value:
          <literal>None</literal>.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-caption-object"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table caption has changed</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-column-description"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table column description has
          changed. Default value: <literal>None</literal>.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-column-header"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table column header has
          changed</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-row-description"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table row description has
          changed. Default value: <literal>None</literal>.</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-row-header"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table row header has changed</entry>
        </row>

        <row valign="top">
          <entry>"accessible-table-summary"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the table summary has changed</entry>
        </row>

        <row valign="top">
          <entry>"accessible-value"</entry>
          <entry>Read-Write</entry>
          <entry>Is used to notify that the value has changed. Allowed
          values: >= 0.  Default value: 0.</entry>
        </row>

        </tbody>
      </tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="signal-prototypes-atkobject">
    <title>atk.Object Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>

      <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-atkobject--active-descendant-changed">active-descendant-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>object</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-atkobject--children-changed">children-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>index</parameter></methodparam>
            <methodparam><parameter>child</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-atkobject--focus-event">focus-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>has_focus</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-atkobject--property-change">property-change</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>value</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-atkobject--state-change">state-change</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>state</parameter></methodparam>
            <methodparam><parameter>is_set</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-atkobject--visible-data-changed">visible-data-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>This class is the primary class for accessibility support via the
    Accessibility ToolKit (ATK).  Objects that are instances of <link
    linkend="class-atkobject"><classname>atk.Object</classname></link> (or
    instances of <link
    linkend="class-atkobject"><classname>atk.Object</classname></link>-derived
    types) are queried for properties which relate basic (and generic)
    properties of a UI component such as name and description.  Instances of
    <link linkend="class-atkobject"><classname>atk.Object</classname></link>
    may also be queried as to whether they implement other ATK interfaces
    (e.g. <link
    linkend="class-atkaction"><classname>atk.Action</classname></link>,
    <link
    linkend="class-atkcomponent"><classname>atk.Component</classname></link>,
    etc.), as appropriate to the role which a given UI component plays in a
    user interface.</para>

    <para>All UI components in an applicationthat provide useful information
    or services to the user must provide corresponding <link
    linkend="class-atkobject"><classname>atk.Object</classname></link>
    instances on request (in GTK+, for instance, usually on a call to the
    <link
    linkend="method-gtkwidget--get-accessible"><methodname>gtk.Widget.get_accessible()</methodname></link>
    method), 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 <link
    linkend="class-atkobject"><classname>atk.Object</classname></link>
    implementation is insufficient, via instances of a new <link
    linkend="class-atkobject"><classname>atk.Object</classname></link>
    subclass.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-atkobject--get-name">
      <title>atk.Object.get_name</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_name</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a character string representing the accessible
          name of the object.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the accessible name of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-description">
      <title>atk.Object.get_description</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_description</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a character string representing the accessible
          description of the accessible.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the accessible description of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-parent">
      <title>atk.Object.get_parent</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_parent</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          representing the accessible parent of the
          accessible</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the accessible parent of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-n-accessible-children">
      <title>atk.Object.get_n_accessible_children</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_n_accessible_children</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an integer representing the number of
          accessible children of the accessible.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the number of accessible children of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--ref-accessible-child">
      <title>atk.Object.ref_accessible_child</title>

      <programlisting><methodsynopsis language="python">
        <methodname>ref_accessible_child</methodname>
        <methodparam><parameter role="keyword">i</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">i</parameter>&nbsp;:</term>
          <listitem><simpara>an integer representing the position of the
          child, starting from 0</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          representing the specified accessible child of the
          accessible.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>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.</para>

    </refsect2>

    <refsect2 id="method-atkobject--ref-relation-set">
      <title>atk.Object.ref_relation_set</title>

      <programlisting><methodsynopsis language="python">
        <methodname>ref_relation_set</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkrelationset"><classname>atk.RelationSet</classname></link>
          representing the relation set of the object.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the <link
      linkend="class-atkrelationset"><classname>atk.RelationSet</classname></link>
      associated with the object.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-role">
      <title>atk.Object.get_role</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_role</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>one of the <xref linkend="atk-role-constants"
          endterm="atk-role-constants-title"></xref> which is the role of
          the accessible</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the role of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-layer">
      <title>atk.Object.get_layer</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_layer</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>one of the <xref linkend="atk-layer-constants"
          endterm="atk-layer-constants-title"></xref> which is the layer of
          the accessible</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is deprecated. Use the <link
        linkend="method-atkcomponent--get-layer"><methodname>atk.Component.get_layer</methodname>()</link>
        method instead.</para>
      </note>

      <para>Gets the layer of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-mdi-zorder">
      <title>atk.Object.get_mdi_zorder</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_mdi_zorder</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an integer which is the zorder of the
          accessible, i.e. the depth at which the component is shown in
          relation to other components in the same
          container.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is deprecated. Use the <link
        linkend="method-atkcomponent--get-mdi-zorder"><methodname>atk.Component.get_mdi_zorder</methodname>()</link>
        method instead.</para>
      </note>

      <para>Gets the zorder of the accessible. The value
      <literal>G_MININT</literal> will be returned if the layer of the
      accessible is not <literal>atk.LAYER_MDI</literal>.</para>

    </refsect2>

    <refsect2 id="method-atkobject--ref-state-set">
      <title>atk.Object.ref_state_set</title>

      <programlisting><methodsynopsis language="python">
        <methodname>ref_state_set</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a reference to an <link
          linkend="class-atkstateset"><classname>atk.StateSet</classname></link>
          which is the state set of the accessible</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets a reference to the state set of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--get-index-in-parent">
      <title>atk.Object.get_index_in_parent</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_index_in_parent</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an integer which is the index of the accessible
          in its parent</simpara></listitem>
        </varlistentry>
      </variablelist>

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

    </refsect2>

    <refsect2 id="method-atkobject--set-name">
      <title>atk.Object.set_name</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_name</methodname>
        <methodparam><parameter role="keyword">name</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">name</parameter>&nbsp;:</term>
          <listitem><simpara>a character string to be set as the accessible
          name</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Sets the accessible name of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--set-description">
      <title>atk.Object.set_description</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_description</methodname>
        <methodparam><parameter role="keyword">description</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">description</parameter>&nbsp;:</term>
          <listitem><simpara>a character string to be set as the accessible
          description</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Sets the accessible description of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--set-parent">
      <title>atk.Object.set_parent</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_parent</methodname>
        <methodparam><parameter role="keyword">parent</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">parent</parameter>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          to be set as the accessible parent</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Sets the accessible parent of the accessible.</para>

    </refsect2>

    <refsect2 id="method-atkobject--set-role">
      <title>atk.Object.set_role</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_role</methodname>
        <methodparam><parameter role="keyword">role</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">role</parameter>&nbsp;:</term>
          <listitem><simpara>one of the <xref linkend="atk-role-constants"
          endterm="atk-role-constants-title"></xref> to be set as the
          role</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Sets the role of the accessible.</para>

    </refsect2>

<!-- NOT IMPLEMENTED
    <refsect2 id="method-atkobject- -connect-property-change-handler">
      <title>atk.Object.connect_property_change_handler</title>

      <programlisting><methodsynopsis language="python">
        <methodname>connect_property_change_handler</methodname>
        <methodparam><parameter role="keyword">handler</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">handler</parameter>&nbsp;:</term>
          <listitem><simpara>a function to be called when a property changes its value</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a <literal>guint</literal> which is the handler id used in 
<link linkend="method-atkobject- -remove-property-change-handler"><methodname>atk.Object.remove_property_change_handler()</methodname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Specifies a function to be called when a property changes value.</para>

    </refsect2>
END -->

    <refsect2 id="method-atkobject--remove-property-change-handler">
      <title>atk.Object.remove_property_change_handler</title>

      <programlisting><methodsynopsis language="python">
        <methodname>remove_property_change_handler</methodname>
        <methodparam><parameter role="keyword">handler_id</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">handler_id</parameter>&nbsp;:</term>
          <listitem><simpara>an integer that identifies the handler to be
          removed.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Removes a property change handler.</para>

    </refsect2>

<!-- NOT IMPLEMENTED
    <refsect2 id="method-atkobject- -notify-state-change">
      <title>atk.Object.notify_state_change</title>

      <programlisting><methodsynopsis language="python">
        <methodname>notify_state_change</methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
        <methodparam><parameter role="keyword">value</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">state</parameter>&nbsp;:</term>
          <listitem><simpara>an <literal>AtkState</literal> whose state is
          changed</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">value</parameter>&nbsp;:</term>
          <listitem><simpara>if <literal>True</literal> the state is being
          set on</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Emits a state-change signal for the specified state.</para>

    </refsect2>

    <refsect2 id="method-atkobject- -initialize">
      <title>atk.Object.initialize</title>

      <programlisting><methodsynopsis language="python">
        <methodname>initialize</methodname>
        <methodparam><parameter role="keyword">data</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">data</parameter>&nbsp;:</term>
          <listitem><simpara>a <literal>gpointer</literal> which identifies
          the object for which the <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          was created.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>This method is called when implementing subclasses of <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>.
      It does initialization required for the new object. It is intended
      that this function should called only in the
      ...<methodname>_new</methodname>() constructors used to create an
      instance of a subclass of <link
      linkend="class-atkobject"><classname>atk.Object</classname></link></para>

    </refsect2>
END -->

    <refsect2 id="method-atkobject--add-relationship">
      <title>atk.Object.add_relationship</title>

      <programlisting><methodsynopsis language="python">
        <methodname>add_relationship</methodname>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">relationship</parameter>&nbsp;:</term>
          <listitem><simpara>one of the <xref
          linkend="atk-relation-type-constants"
          endterm="atk-relation-type-constants-title"></xref></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">target</parameter>&nbsp;:</term>
          <listitem><simpara>The <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          which is to be the target of the relation.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>True if the relationship is
          added.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Adds a relationship of the specified type with the specified
      target.</para>

    </refsect2>

    <refsect2 id="method-atkobject--remove-relationship">
      <title>atk.Object.remove_relationship</title>

      <programlisting><methodsynopsis language="python">
        <methodname>remove_relationship</methodname>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">relationship</parameter>&nbsp;:</term>
          <listitem><simpara>one of the <xref
          linkend="atk-relation-type-constants"
          endterm="atk-relation-type-constants-title"></xref></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">target</parameter>&nbsp;:</term>
          <listitem><simpara>The <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          which is the target of the relation to be
          removed.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>True if the relationship is
          removed.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Removes a relationship of the specified type with the specified
      target.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-atkobject--active-descendant-changed">
      <title>The "active-descendant-changed" atk.Object Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>obj</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>atkobject</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>obj</parameter>&nbsp;:</term>
          <listitem><simpara>the newly focused object.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The "active-descendant-changed" signal is emitted by an object
      which has the state <literal>atk.STATE_MANAGES_DESCENDANTS</literal>
      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.</para>

    </refsect2>

    <refsect2 id="signal-atkobject--children-changed">
      <title>The "children-changed" atk.Object Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>index</parameter></methodparam>
            <methodparam><parameter>child</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>atkobject</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>index</parameter>&nbsp;:</term>
          <listitem><simpara>The index of the added or removed child</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>child</parameter>&nbsp;:</term>
          <listitem><simpara>The child which was added or removed</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

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

    </refsect2>

    <refsect2 id="signal-atkobject--focus-event">
      <title>The "focus-event" atk.Object Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>has_focus</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>atkobject</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>has_focus</parameter>&nbsp;:</term>
          <listitem><simpara>A boolean value which indicates whether the object gained or lost focus.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The signal "focus-event" is emitted when an object gains or
      loses focus.</para>

    </refsect2>

    <refsect2 id="signal-atkobject--property-change">
      <title>The "property-change" atk.Object Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>value</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>atkobject</parameter>&nbsp;:</term>
          <listitem><simpara>the object that received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>value</parameter>&nbsp;:</term>
          <listitem><simpara>The new value of the property that
          changed.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The signal "property-change" is emitted when an object's
      property value changes. The detail identifies the name of the property
      whose value has changed.</para>

    </refsect2>

    <refsect2 id="signal-atkobject--state-change">
      <title>The "state-change" atk.Object Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>state</parameter></methodparam>
            <methodparam><parameter>is_set</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>atkobject</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>state</parameter>&nbsp;:</term>
          <listitem><simpara>The name of the state which has
          changed</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>is_set</parameter>&nbsp;:</term>
          <listitem><simpara>A boolean which indicates whether the state has
          been set or unset.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

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

    </refsect2>

    <refsect2 id="signal-atkobject--visible-data-changed">
      <title>The "visible-data-changed" atk.Object Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>atkobject</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>atkobject</parameter>&nbsp;:</term>
          <listitem><simpara>the object that received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

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

    </refsect2>

</refsect1>

</refentry>
