Description
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.
Functions
atk_relation_set_new ()
AtkRelationSet *
atk_relation_set_new (void);
Creates a new empty relation set.
atk_relation_set_contains ()
gboolean
atk_relation_set_contains (AtkRelationSet *set,
AtkRelationType relationship);
Determines whether the relation set contains a relation that matches the
specified type.
Returns
TRUE if relationship
is the relationship type of a relation
in set
, FALSE otherwise
atk_relation_set_contains_target ()
gboolean
atk_relation_set_contains_target (AtkRelationSet *set,
AtkRelationType relationship,
AtkObject *target);
Determines whether the relation set contains a relation that
matches the specified pair formed by type relationship
and object
target
.
Returns
TRUE if set
contains a relation with the relationship
type relationship
with an object target
, FALSE otherwise
atk_relation_set_remove ()
void
atk_relation_set_remove (AtkRelationSet *set,
AtkRelation *relation);
Removes a relation from the relation set.
This function unref's the AtkRelation so it will be deleted unless there
is another reference to it.
atk_relation_set_add ()
void
atk_relation_set_add (AtkRelationSet *set,
AtkRelation *relation);
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.
atk_relation_set_get_n_relations ()
gint
atk_relation_set_get_n_relations (AtkRelationSet *set);
Determines the number of relations in a relation set.
Returns
an integer representing the number of relations in the set.
atk_relation_set_get_relation ()
AtkRelation *
atk_relation_set_get_relation (AtkRelationSet *set,
gint i);
Determines the relation at the specified position in the relation set.
Returns
a AtkRelation, which is the relation at
position i in the set.
[transfer none]
atk_relation_set_get_relation_by_type ()
AtkRelation *
atk_relation_set_get_relation_by_type (AtkRelationSet *set,
AtkRelationType relationship);
Finds a relation that matches the specified type.
Returns
an AtkRelation, which is a relation matching the
specified type.
[transfer none]
atk_relation_set_add_relation_by_type ()
void
atk_relation_set_add_relation_by_type (AtkRelationSet *set,
AtkRelationType relationship,
AtkObject *target);
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.
Since: 1.9