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

  <refnamediv>
    <refname>atk.RelationSet</refname>
      <refpurpose>a set of <link
      linkend="class-atkrelation"><classname>atk.Relation</classname></link>
      objects, normally the set of <link
      linkend="class-atkrelation"><classname>atk.Relation</classname></link>
      objects that an <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      has.</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>atk.RelationSet</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <constructorsynopsis language="python">
        <methodname><link linkend="constructor-atkrelationset">atk.RelationSet</link></methodname>
        <methodparam></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelationset--contains">contains</link></methodname>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelationset--remove">remove</link></methodname>
        <methodparam><parameter role="keyword">relation</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelationset--add">add</link></methodname>
        <methodparam><parameter role="keyword">relation</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelationset--get-n-relations">get_n_relations</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelationset--get-relation">get_relation</link></methodname>
        <methodparam><parameter role="keyword">i</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkrelationset--get-relation-by-type">get_relation_by_type</link></methodname>
        <methodparam><parameter role="keyword">relationship</parameter></methodparam>
      </methodsynopsis>
</classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-atkrelationset">atk.RelationSet</link>
</synopsis>

  </refsect1>

  <refsect1 id="signal-prototypes-atkrelationset">
    <title>atk.RelationSet 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-atkrelationset"><classname>atk.RelationSet</classname></link>
    held by an object establishes its relationships with objects beyond the
    normal "parent/child" hierarchical relationships that all user interface
    objects have. <link
    linkend="class-atkrelationset"><classname>atk.RelationSet</classname></link>
    objects establish whether objects are labelled or controlled by other
    components, share group membership with other components (for instance
    within a radio-button group), or share content which "flows" between
    them, among other types of possible relationships.</para>

  </refsect1>

  <refsect1>
    <title>Constructor</title>

    <refsect2 id="constructor-atkrelationset">
      <title>atk.RelationSet</title>

      <programlisting><constructorsynopsis language="python">
        <methodname>atk.RelationSet</methodname>
        <methodparam></methodparam>
      </constructorsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a new <link
          linkend="class-atkrelationset"><classname>atk.RelationSet</classname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Creates a new empty relation set.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-atkrelationset--contains">
      <title>atk.RelationSet.contains</title>

      <programlisting><methodsynopsis language="python">
        <methodname>contains</methodname>
        <methodparam><parameter role="keyword">relationship</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><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if
          <parameter>relationship</parameter> is the relationship
          type.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Determines whether the relation set contains a relation that
      matches the type specified by
      <parameter>relationship</parameter>.</para>

    </refsect2>

    <refsect2 id="method-atkrelationset--remove">
      <title>atk.RelationSet.remove</title>

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

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">relation</parameter>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkrelation"><classname>atk.Relation</classname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Removes a relation from the relation set.</para>

    </refsect2>

    <refsect2 id="method-atkrelationset--add">
      <title>atk.RelationSet.add</title>

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

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">relation</parameter>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkrelation"><classname>atk.Relation</classname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Add a new <link
      linkend="class-atkrelation"><classname>atk.Relation</classname></link>
      to the current relation set if it is not already present.</para>

    </refsect2>

    <refsect2 id="method-atkrelationset--get-n-relations">
      <title>atk.RelationSet.get_n_relations</title>

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

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

      <para>Returns the number of relations in a relation set.</para>

    </refsect2>

    <refsect2 id="method-atkrelationset--get-relation">
      <title>atk.RelationSet.get_relation</title>

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

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">i</parameter>&nbsp;:</term>
          <listitem><simpara>an index representing a position in the set,
          starting from 0.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the <link
          linkend="class-atkrelation"><classname>atk.Relation</classname></link>,
          that is the relation at position <parameter>i</parameter> in the
          set.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Determines the relation at the specified position in the relation set.</para>

    </refsect2>

    <refsect2 id="method-atkrelationset--get-relation-by-type">
      <title>atk.RelationSet.get_relation_by_type</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_relation_by_type</methodname>
        <methodparam><parameter role="keyword">relationship</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><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkrelation"><classname>atk.Relation</classname></link>,
          which is a relation matching the specified
          type.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Finds a relation that matches the specified type.</para>

    </refsect2>

  </refsect1>

</refentry>
