Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AtkRelationSet: ATK - Accessibility Toolkit</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="ATK - Accessibility Toolkit">
<link rel="up" href="data.html" title="Basic accessible data types">
<link rel="prev" href="AtkRelation.html" title="AtkRelation">
<link rel="next" href="atk-AtkState.html" title="AtkState">
<meta name="generator" content="GTK-Doc V1.27.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#AtkRelationSet.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#AtkRelationSet.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="data.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="AtkRelation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="atk-AtkState.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="AtkRelationSet"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="AtkRelationSet.top_of_page"></a>AtkRelationSet</span></h2>
<p>AtkRelationSet — A set of AtkRelations, normally the set of
 AtkRelations which an AtkObject has.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="AtkRelationSet.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="returnvalue">AtkRelationSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-new" title="atk_relation_set_new ()">atk_relation_set_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-contains" title="atk_relation_set_contains ()">atk_relation_set_contains</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-remove" title="atk_relation_set_remove ()">atk_relation_set_remove</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-add" title="atk_relation_set_add ()">atk_relation_set_add</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-get-n-relations" title="atk_relation_set_get_n_relations ()">atk_relation_set_get_n_relations</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkRelation.html" title="AtkRelation"><span class="returnvalue">AtkRelation</span></a> *
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-get-relation" title="atk_relation_set_get_relation ()">atk_relation_set_get_relation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkRelation.html" title="AtkRelation"><span class="returnvalue">AtkRelation</span></a> *
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-get-relation-by-type" title="atk_relation_set_get_relation_by_type ()">atk_relation_set_get_relation_by_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkRelationSet.html#atk-relation-set-add-relation-by-type" title="atk_relation_set_add_relation_by_type ()">atk_relation_set_add_relation_by_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="AtkRelationSet.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="AtkRelationSet.html#AtkRelationSet-struct" title="AtkRelationSet">AtkRelationSet</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="AtkRelationSet.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> AtkRelationSet
</pre>
</div>
<div class="refsect1">
<a name="AtkRelationSet.description"></a><h2>Description</h2>
<p>The AtkRelationSet held by an object establishes its relationships
with objects beyond the normal "parent/child" hierarchical
relationships that all user interface objects have.
AtkRelationSets 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.</p>
</div>
<div class="refsect1">
<a name="AtkRelationSet.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="atk-relation-set-new"></a><h3>atk_relation_set_new ()</h3>
<pre class="programlisting"><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="returnvalue">AtkRelationSet</span></a> *
atk_relation_set_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates a new empty relation set.</p>
<div class="refsect3">
<a name="atk-relation-set-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> </p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-contains"></a><h3>atk_relation_set_contains ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
atk_relation_set_contains (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>,
                           <em class="parameter"><code><a class="link" href="AtkRelation.html#AtkRelationType" title="enum AtkRelationType"><span class="type">AtkRelationType</span></a> relationship</code></em>);</pre>
<p>Determines whether the relation set contains a relation that matches the
specified type.</p>
<div class="refsect3">
<a name="atk-relation-set-contains.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>relationship</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelation.html#AtkRelationType" title="enum AtkRelationType"><span class="type">AtkRelationType</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-relation-set-contains.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>relationship</code></em>
is the relationship type of a relation
in <em class="parameter"><code>set</code></em>
, <code class="literal">FALSE</code> otherwise</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-remove"></a><h3>atk_relation_set_remove ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_relation_set_remove (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>,
                         <em class="parameter"><code><a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a> *relation</code></em>);</pre>
<p>Removes a relation from the relation set.
This function unref's the <a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a> so it will be deleted unless there
is another reference to it.</p>
<div class="refsect3">
<a name="atk-relation-set-remove.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>relation</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-add"></a><h3>atk_relation_set_add ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_relation_set_add (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>,
                      <em class="parameter"><code><a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a> *relation</code></em>);</pre>
<p>Add a new relation to the current relation set if it is not already
present.
This function ref's the AtkRelation so the caller of this function
should unref it to ensure that it will be destroyed when the AtkRelationSet
is destroyed.</p>
<div class="refsect3">
<a name="atk-relation-set-add.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>relation</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-get-n-relations"></a><h3>atk_relation_set_get_n_relations ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
atk_relation_set_get_n_relations (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>);</pre>
<p>Determines the number of relations in a relation set.</p>
<div class="refsect3">
<a name="atk-relation-set-get-n-relations.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-relation-set-get-n-relations.returns"></a><h4>Returns</h4>
<p> an integer representing the number of relations in the set.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-get-relation"></a><h3>atk_relation_set_get_relation ()</h3>
<pre class="programlisting"><a class="link" href="AtkRelation.html" title="AtkRelation"><span class="returnvalue">AtkRelation</span></a> *
atk_relation_set_get_relation (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>,
                               <em class="parameter"><code><span class="type">gint</span> i</code></em>);</pre>
<p>Determines the relation at the specified position in the relation set.</p>
<div class="refsect3">
<a name="atk-relation-set-get-relation.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>i</p></td>
<td class="parameter_description"><p>a gint representing a position in the set, starting from 0.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-relation-set-get-relation.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a>, which is the relation at
position i in the set. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-get-relation-by-type"></a><h3>atk_relation_set_get_relation_by_type ()</h3>
<pre class="programlisting"><a class="link" href="AtkRelation.html" title="AtkRelation"><span class="returnvalue">AtkRelation</span></a> *
atk_relation_set_get_relation_by_type (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>,
                                       <em class="parameter"><code><a class="link" href="AtkRelation.html#AtkRelationType" title="enum AtkRelationType"><span class="type">AtkRelationType</span></a> relationship</code></em>);</pre>
<p>Finds a relation that matches the specified type.</p>
<div class="refsect3">
<a name="atk-relation-set-get-relation-by-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>relationship</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelation.html#AtkRelationType" title="enum AtkRelationType"><span class="type">AtkRelationType</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-relation-set-get-relation-by-type.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="AtkRelation.html" title="AtkRelation"><span class="type">AtkRelation</span></a>, which is a relation matching the
specified type. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-relation-set-add-relation-by-type"></a><h3>atk_relation_set_add_relation_by_type ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_relation_set_add_relation_by_type (<em class="parameter"><code><a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a> *set</code></em>,
                                       <em class="parameter"><code><a class="link" href="AtkRelation.html#AtkRelationType" title="enum AtkRelationType"><span class="type">AtkRelationType</span></a> relationship</code></em>,
                                       <em class="parameter"><code><a class="link" href="AtkObject.html" title="AtkObject"><span class="type">AtkObject</span></a> *target</code></em>);</pre>
<p>Add a new relation of the specified type with the specified target to 
the current relation set if the relation set does not contain a relation
of that type. If it is does contain a relation of that typea the target
is added to the relation.</p>
<div class="refsect3">
<a name="atk-relation-set-add-relation-by-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>set</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelationSet.html" title="AtkRelationSet"><span class="type">AtkRelationSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>relationship</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkRelation.html#AtkRelationType" title="enum AtkRelationType"><span class="type">AtkRelationType</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>target</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkObject.html" title="AtkObject"><span class="type">AtkObject</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 1.9</p>
</div>
</div>
<div class="refsect1">
<a name="AtkRelationSet.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="AtkRelationSet-struct"></a><h3>AtkRelationSet</h3>
<pre class="programlisting">typedef struct _AtkRelationSet AtkRelationSet;</pre>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27.1</div>
</body>
</html>