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

  <refnamediv>
    <refname>atk.Relation</refname>
      <refpurpose>an object used to describe a relation between a object and
      one or more other objects.  </refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>atk.Relation</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <constructorsynopsis language="python">
        <methodname><link linkend="constructor-atkrelation">atk.Relation</link></methodname>
        <methodparam><parameter role="keyword">targets</parameter></methodparam>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelation--get-relation-type">get_relation_type</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelation--get-target">get_target</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
</classsynopsis>

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

<methodsynopsis language="python">
    <methodname><link linkend="function-atk--relation-type-register">atk.relation_type_register</link></methodname>
    <methodparam><parameter role="keyword">name</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-atk--relation-type-get-name">atk.relation_type_get_name</link></methodname>
    <methodparam><parameter role="keyword">relationship</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-atk--relation-type-for-name">atk.relation_type_for_name</link></methodname>
    <methodparam><parameter role="keyword">name</parameter></methodparam>
  </methodsynopsis></programlisting>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-atkrelation">atk.Relation</link>
</synopsis>

  </refsect1>

  <refsect1 id="properties-atkrelation">
    <title>atk.Relation 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>"relation-type"</entry>
          <entry>Read-Write</entry>
          <entry>The type of the relation - one of the <xref
          linkend="atk-relation-type-constants"
          endterm="atk-relation-type-constants-title"></xref>. Default
          value: atk.RELATION_NULL.</entry>
        </row>

        <row valign="top">
          <entry>"target"</entry>
          <entry>Read-Write</entry>
          <entry>An array of the targets for the relation. Default value:
          None.</entry>
        </row>

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

  </refsect1>

  <refsect1 id="signal-prototypes-atkrelation">
    <title>atk.Relation Signal Prototypes</title>

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

  <refsect1>
    <title>Description</title>

    <para>An <link
    linkend="class-atkrelation"><classname>atk.Relation</classname></link>
    describes a relation between an object and one or more other
    objects. The actual relations that an object has with other objects are
    defined as an <link
    linkend="class-atkrelationset"><classname>atk.RelationSet</classname></link>,
    which contains a set of <link
    linkend="class-atkrelation"><classname>atk.Relation</classname></link>
    objects.


</para>



  </refsect1>

  <refsect1>
    <title>Constructor</title>

    <refsect2 id="constructor-atkrelation">
      <title>atk.Relation</title>

      <programlisting><constructorsynopsis language="python">
        <methodname>atk.Relation</methodname>
        <methodparam><parameter role="keyword">targets</parameter></methodparam>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
      </constructorsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">targets</parameter>&nbsp;:</term>
          <listitem><simpara>a sequence of <link
          linkend="class-atkobject"><classname>atk.Object</classname>
          objects</link></simpara></listitem>
        </varlistentry>
        <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> with which to
          create the new <link
          linkend="class-atkrelation"><classname>atk.Relation</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a new <link
          linkend="class-atkrelation"><classname>atk.Relation</classname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Create a new relation for the specified
      <parameter>relationship</parameter> type and the specified sequence of
      <parameter>targets</parameter>.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-atkrelation--get-relation-type">
      <title>atk.Relation.get_relation_type</title>

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

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the relation type - one of the <xref
          linkend="atk-relation-type-constants"
          endterm="atk-relation-type-constants-title"></xref>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the relationship type.</para>

    </refsect2>

    <refsect2 id="method-atkrelation--get-target">
      <title>atk.Relation.get_target</title>

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

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the target list of <parameter>relation</parameter></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the target list of <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      objects.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Functions</title>

    <refsect2 id="function-atk--relation-type-register">
      <title>atk.relation_type_register</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>atk.relation_type_register</methodname>
	  <methodparam><parameter
			 role="keyword">name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">name</parameter>&nbsp;:</term>
	  <listitem><simpara>a name string</simpara></listitem>
	</varlistentry>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a new one of the <xref
	  linkend="atk-relation-type-constants"
	  endterm="atk-relation-type-constants-title"></xref> that is
	  associated with <parameter>name</parameter></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>Associate <parameter>name</parameter> with a new one of the <xref
	  linkend="atk-relation-type-constants"
	  endterm="atk-relation-type-constants-title"></xref>.</para>

    </refsect2>

    <refsect2 id="function-atk--relation-type-get-name">
      <title>atk.relation_type_get_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>atk.relation_type_get_name</methodname>
	  <methodparam><parameter
			 role="keyword">type</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">type</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><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the string associated with
	  <parameter>relationship</parameter>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>Gets the description string describing the relation type
      specified by <parameter>type</parameter>.</para>

    </refsect2>

    <refsect2 id="function-atk--relation-type-for-name">
      <title>atk.relation_type_for_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>atk.relation_type_for_name</methodname>
	  <methodparam><parameter
			 role="keyword">name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">name</parameter>&nbsp;:</term>
	  <listitem><simpara>a string which is the (non-localized) name of
	  an ATK relation type.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the matching type of the <xref
	  linkend="atk-relation-type-constants"
	  endterm="atk-relation-type-constants-title"></xref> corresponding
	  to the specified <parameter>name</parameter>, or
	  <literal>atk.RELATION_NULL</literal> if no matching relation type
	  is found.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>Get the relation type corresponding to the specified
      <parameter>name</parameter>.</para>

    </refsect2>

  </refsect1>

</refentry>
