<?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-atkregistry">

  <refnamediv>
    <refname>atk.Registry</refname>
      <refpurpose>an object used to store the GType of the factories used to
      create an accessible object for an object of a particular GType.
      </refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>atk.Registry</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkregistry--set-factory-type">set_factory_type</link></methodname>
        <methodparam><parameter role="keyword">type</parameter></methodparam>
        <methodparam><parameter role="keyword">factory_type</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkregistry--get-factory-type">get_factory_type</link></methodname>
        <methodparam><parameter role="keyword">type</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkregistry--get-factory">get_factory</link></methodname>
        <methodparam><parameter role="keyword">type</parameter></methodparam>
      </methodsynopsis>
</classsynopsis>

<programlisting>
<emphasis role="bold">Functions</emphasis>

<methodsynopsis language="python">
    <methodname><link linkend="function-atk--get-default-registry">atk.get_default_registry</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis></programlisting>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-atkregistry">atk.Registry</link>
</synopsis>

  </refsect1>

  <refsect1 id="signal-prototypes-atkregistry">
    <title>atk.Registry Signal Prototypes</title>

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

  <refsect1>
    <title>Description</title>

<para>The <link
linkend="class-atkregistry"><classname>atk.Registry</classname></link> is
normally used to create appropriate ATK "peers" for user interface
components. Application developers usually need only interact with the <link
linkend="class-atkregistry"><classname>atk.Registry</classname></link> by
associating appropriate ATK implementation classes with <link
linkend="class-gobject"><classname>gobject.GObject</classname></link>
classes via the <link
linkend="method-atkregistry--set-factory-type"><methodname>set_factory_type</methodname>()</link>
method, passing the appropriate GType for application custom widget
classes.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-atkregistry--set-factory-type">
      <title>atk.Registry.set_factory_type</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_factory_type</methodname>
        <methodparam><parameter role="keyword">type</parameter></methodparam>
        <methodparam><parameter role="keyword">factory_type</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">type</parameter>&nbsp;:</term>
          <listitem><simpara>an <link linkend="class-atkobject"><classname>atk.Object</classname></link> type</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">factory_type</parameter>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
          type to associate with <parameter>type</parameter>.  Must
          implement the <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          appropriate for <parameter>type</parameter>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Associate an <link
      linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
      subclass with a <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      type. Note: The associated <parameter>factory_type</parameter> will
      thereafter be responsible for the creation of new <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      implementations for instances appropriate for
      <parameter>type</parameter>.</para>

    </refsect2>

    <refsect2 id="method-atkregistry--get-factory-type">
      <title>atk.Registry.get_factory_type</title>

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

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">type</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          type with which to look up the associated <link
          linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
          subclass</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
          type associated with <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          <parameter>type</parameter></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Returns a <link
      linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
      subclass associated with <parameter>type</parameter>.</para>

    </refsect2>

    <refsect2 id="method-atkregistry--get-factory">
      <title>atk.Registry.get_factory</title>

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

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">type</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          with which to look up the associated <link
          linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
          appropriate for creating <parameter>type</parameter> <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>s.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets an <link
      linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
      appropriate for creating <parameter>type</parameter> <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>s.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Functions</title>

    <refsect2 id="function-atk--get-default-registry">
      <title>atk.get_default_registry</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>atk.get_default_registry</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a default implementation of the <link
	  linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
	  type registry</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>Gets a default implementation of the <link
      linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
      type registry. Note: For most toolkit maintainers, this will be the
      correct registry for registering new <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      factories. Following a call to this function, maintainers may call the
      <link
      linkend="method-atkregistry--set-factory-type"><methodname>set_factory_type</methodname>()</link>
      method to associate an <link
      linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
      subclass with the type of objects for whom accessibility information
      will be provided.</para>

    </refsect2>

  </refsect1>

</refentry>
