📄 atkrelationset.xml
字号:
<refentry id="AtkRelationSet"><refmeta><refentrytitle role="top_of_page" id="AtkRelationSet.top_of_page">AtkRelationSet</refentrytitle><manvolnum>3</manvolnum><refmiscinfo>ATK Library</refmiscinfo></refmeta><refnamediv><refname>AtkRelationSet</refname><refpurpose>A set of AtkRelations, normally the set of AtkRelations which an AtkObject has.</refpurpose><!--[<xref linkend="desc" endterm="desc.title"/>]--></refnamediv><refsynopsisdiv id="AtkRelationSet.synopsis" role="synopsis"><title role="synopsis.title">Synopsis</title><synopsis> <link linkend="AtkRelationSet-struct">AtkRelationSet</link>;<link linkend="AtkRelationSet">AtkRelationSet</link>* <link linkend="atk-relation-set-new">atk_relation_set_new</link> (void);<link linkend="gboolean">gboolean</link> <link linkend="atk-relation-set-contains">atk_relation_set_contains</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelationType">AtkRelationType</link> relationship);<link linkend="void">void</link> <link linkend="atk-relation-set-remove">atk_relation_set_remove</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelation">AtkRelation</link> *relation);<link linkend="void">void</link> <link linkend="atk-relation-set-add">atk_relation_set_add</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelation">AtkRelation</link> *relation);<link linkend="gint">gint</link> <link linkend="atk-relation-set-get-n-relations">atk_relation_set_get_n_relations</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set);<link linkend="AtkRelation">AtkRelation</link>* <link linkend="atk-relation-set-get-relation">atk_relation_set_get_relation</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="gint">gint</link> i);<link linkend="AtkRelation">AtkRelation</link>* <link linkend="atk-relation-set-get-relation-by-type">atk_relation_set_get_relation_by_type</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelationType">AtkRelationType</link> relationship);<link linkend="void">void</link> <link linkend="atk-relation-set-add-relation-by-type">atk_relation_set_add_relation_by_type</link> (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelationType">AtkRelationType</link> relationship, <link linkend="AtkObject">AtkObject</link> *target);</synopsis></refsynopsisdiv><refsect1 id="AtkRelationSet.object-hierarchy" role="object_hierarchy"><title role="object_hierarchy.title">Object Hierarchy</title><synopsis> <link linkend="GObject">GObject</link> +----AtkRelationSet</synopsis></refsect1><refsect1 id="AtkRelationSet.description" role="desc"><title role="desc.title">Description</title><para>The AtkRelationSet held by an object establishes its relationships withobjects beyond the normal "parent/child" hierarchical relationships that alluser interface objects have. AtkRelationSets establish whether objects arelabelled or controlled by other components, share group membership with othercomponents (for instance within a radio-button group), or share content which"flows" between them, among other types of possible relationships.</para></refsect1><refsect1 id="AtkRelationSet.details" role="details"><title role="details.title">Details</title><refsect2 id="AtkRelationSet-struct" role="struct"><title>AtkRelationSet</title><indexterm zone="AtkRelationSet-struct"><primary>AtkRelationSet</primary></indexterm><programlisting>typedef struct _AtkRelationSet AtkRelationSet;</programlisting><para>The AtkRelationSet structure should not be accessed directly.</para></refsect2><refsect2 id="atk-relation-set-new" role="function"><title>atk_relation_set_new ()</title><indexterm zone="atk-relation-set-new"><primary>atk_relation_set_new</primary></indexterm><programlisting><link linkend="AtkRelationSet">AtkRelationSet</link>* atk_relation_set_new (void);</programlisting><para>Creates a new empty relation set.</para><para></para><variablelist role="params"><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link> </simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-contains" role="function"><title>atk_relation_set_contains ()</title><indexterm zone="atk-relation-set-contains"><primary>atk_relation_set_contains</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> atk_relation_set_contains (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelationType">AtkRelationType</link> relationship);</programlisting><para>Determines whether the relation set contains a relation that matches thespecified type.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>relationship</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationType"><type>AtkRelationType</type></link></simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>relationship</parameter> is the relationship type of a relationin <parameter>set</parameter>, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise</simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-remove" role="function"><title>atk_relation_set_remove ()</title><indexterm zone="atk-relation-set-remove"><primary>atk_relation_set_remove</primary></indexterm><programlisting><link linkend="void">void</link> atk_relation_set_remove (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelation">AtkRelation</link> *relation);</programlisting><para>Removes a relation from the relation set.This function unref's the <link linkend="AtkRelation"><type>AtkRelation</type></link> so it will be deleted unless thereis another reference to it.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>relation</parameter> :</term><listitem><simpara> an <link linkend="AtkRelation"><type>AtkRelation</type></link></simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-add" role="function"><title>atk_relation_set_add ()</title><indexterm zone="atk-relation-set-add"><primary>atk_relation_set_add</primary></indexterm><programlisting><link linkend="void">void</link> atk_relation_set_add (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelation">AtkRelation</link> *relation);</programlisting><para>Add a new relation to the current relation set if it is not alreadypresent.This function ref's the AtkRelation so the caller of this functionshould unref it to ensure that it will be destroyed when the AtkRelationSetis destroyed.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>relation</parameter> :</term><listitem><simpara> an <link linkend="AtkRelation"><type>AtkRelation</type></link></simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-get-n-relations" role="function"><title>atk_relation_set_get_n_relations ()</title><indexterm zone="atk-relation-set-get-n-relations"><primary>atk_relation_set_get_n_relations</primary></indexterm><programlisting><link linkend="gint">gint</link> atk_relation_set_get_n_relations (<link linkend="AtkRelationSet">AtkRelationSet</link> *set);</programlisting><para>Determines the number of relations in a relation set.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> an integer representing the number of relations in the set.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-get-relation" role="function"><title>atk_relation_set_get_relation ()</title><indexterm zone="atk-relation-set-get-relation"><primary>atk_relation_set_get_relation</primary></indexterm><programlisting><link linkend="AtkRelation">AtkRelation</link>* atk_relation_set_get_relation (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="gint">gint</link> i);</programlisting><para>Determines the relation at the specified position in the relation set.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>i</parameter> :</term><listitem><simpara> a gint representing a position in the set, starting from 0.</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="AtkRelation"><type>AtkRelation</type></link>, which is the relation at position i in the set.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-get-relation-by-type" role="function"><title>atk_relation_set_get_relation_by_type ()</title><indexterm zone="atk-relation-set-get-relation-by-type"><primary>atk_relation_set_get_relation_by_type</primary></indexterm><programlisting><link linkend="AtkRelation">AtkRelation</link>* atk_relation_set_get_relation_by_type (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelationType">AtkRelationType</link> relationship);</programlisting><para>Finds a relation that matches the specified type.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>relationship</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationType"><type>AtkRelationType</type></link></simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> an <link linkend="AtkRelation"><type>AtkRelation</type></link>, which is a relation matching the specified type.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="atk-relation-set-add-relation-by-type" role="function" condition="since:ATK 1.9"><title>atk_relation_set_add_relation_by_type ()</title><indexterm zone="atk-relation-set-add-relation-by-type" role="ATK 1.9"><primary>atk_relation_set_add_relation_by_type</primary></indexterm><programlisting><link linkend="void">void</link> atk_relation_set_add_relation_by_type (<link linkend="AtkRelationSet">AtkRelationSet</link> *set, <link linkend="AtkRelationType">AtkRelationType</link> relationship, <link linkend="AtkObject">AtkObject</link> *target);</programlisting><para>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 relationof that type. If it is does contain a relation of that typea the targetis added to the relation.</para><para></para><variablelist role="params"><varlistentry><term><parameter>set</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationSet"><type>AtkRelationSet</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>relationship</parameter> :</term><listitem><simpara> an <link linkend="AtkRelationType"><type>AtkRelationType</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>target</parameter> :</term><listitem><simpara> an <link linkend="AtkObject"><type>AtkObject</type></link></simpara></listitem></varlistentry></variablelist><para role="since">Since ATK 1.9</para></refsect2></refsect1></refentry>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -