AtkRelation

AtkRelation — An object used to describe a relation between a object and one or more other objects.

Properties

AtkRelationType relation-type Read / Write
GValueArray * target Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── AtkRelation

Description

An AtkRelation 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 AtkRelationSet, which is a set of AtkRelations.

Functions

atk_relation_type_register ()

AtkRelationType
atk_relation_type_register (const gchar *name);

Associate name with a new AtkRelationType

Parameters

name

a name string

 

Returns

an AtkRelationType associated with name


atk_relation_type_get_name ()

const gchar *
atk_relation_type_get_name (AtkRelationType type);

Gets the description string describing the AtkRelationType type .

Parameters

type

The AtkRelationType whose name is required

 

Returns

the string describing the AtkRelationType


atk_relation_type_for_name ()

AtkRelationType
atk_relation_type_for_name (const gchar *name);

Get the AtkRelationType type corresponding to a relation name.

Parameters

name

a string which is the (non-localized) name of an ATK relation type.

 

Returns

the AtkRelationType enumerated type corresponding to the specified name, or ATK_RELATION_NULL if no matching relation type is found.


atk_relation_new ()

AtkRelation *
atk_relation_new (AtkObject **targets,
                  gint n_targets,
                  AtkRelationType relationship);

Create a new relation for the specified key and the specified list of targets. See also atk_object_add_relationship().

Parameters

targets

an array of pointers to AtkObjects.

[array length=n_targets]

n_targets

number of AtkObjects pointed to by targets

 

relationship

an AtkRelationType with which to create the new AtkRelation

 

Returns

a pointer to a new AtkRelation


atk_relation_get_relation_type ()

AtkRelationType
atk_relation_get_relation_type (AtkRelation *relation);

Gets the type of relation

Parameters

relation

an AtkRelation

 

Returns

the type of relation


atk_relation_get_target ()

GPtrArray *
atk_relation_get_target (AtkRelation *relation);

Gets the target list of relation

Parameters

relation

an AtkRelation

 

Returns

the target list of relation .

[transfer none][element-type Atk.Object]


atk_relation_add_target ()

void
atk_relation_add_target (AtkRelation *relation,
                         AtkObject *target);

Adds the specified AtkObject to the target for the relation, if it is not already present. See also atk_object_add_relationship().

Parameters

relation

an AtkRelation

 

target

an AtkObject

 

Since: 1.9


atk_relation_remove_target ()

gboolean
atk_relation_remove_target (AtkRelation *relation,
                            AtkObject *target);

Remove the specified AtkObject from the target for the relation.

Parameters

relation

an AtkRelation

 

target

an AtkObject

 

Returns

TRUE if the removal is successful.


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 .

Parameters

set

an AtkRelationSet

 

relationship

an AtkRelationType

 

target

an AtkObject

 

Returns

TRUE if set contains a relation with the relationship type relationship with an object target , FALSE otherwise

Types and Values

struct AtkRelation

struct AtkRelation;

enum AtkRelationType

Describes the type of the relation

Members

ATK_RELATION_NULL

Not used, represens "no relationship" or an error condition.

 

ATK_RELATION_CONTROLLED_BY

Indicates an object controlled by one or more target objects.

 

ATK_RELATION_CONTROLLER_FOR

Indicates an object is an controller for one or more target objects.

 

ATK_RELATION_LABEL_FOR

Indicates an object is a label for one or more target objects.

 

ATK_RELATION_LABELLED_BY

Indicates an object is labelled by one or more target objects.

 

ATK_RELATION_MEMBER_OF

Indicates an object is a member of a group of one or more target objects.

 

ATK_RELATION_NODE_CHILD_OF

Indicates an object is a cell in a treetable which is displayed because a cell in the same column is expanded and identifies that cell.

 

ATK_RELATION_FLOWS_TO

Indicates that the object has content that flows logically to another AtkObject in a sequential way, (for instance text-flow).

 

ATK_RELATION_FLOWS_FROM

Indicates that the object has content that flows logically from another AtkObject in a sequential way, (for instance text-flow).

 

ATK_RELATION_SUBWINDOW_OF

Indicates a subwindow attached to a component but otherwise has no connection in the UI heirarchy to that component.

 

ATK_RELATION_EMBEDS

Indicates that the object visually embeds another object's content, i.e. this object's content flows around another's content.

 

ATK_RELATION_EMBEDDED_BY

Inverse of ATK_RELATION_EMBEDS, indicates that this object's content is visualy embedded in another object.

 

ATK_RELATION_POPUP_FOR

Indicates that an object is a popup for another object.

 

ATK_RELATION_PARENT_WINDOW_OF

Indicates that an object is a parent window of another object.

 

ATK_RELATION_DESCRIBED_BY

Indicates that another object provides descriptive information about this object; more verbose than ATK_RELATION_LABELLED_BY.

 

ATK_RELATION_DESCRIPTION_FOR

Indicates that an object provides descriptive information about another object; more verbose than ATK_RELATION_LABEL_FOR.

 

ATK_RELATION_NODE_PARENT_OF

Indicates an object is a cell in a treetable and is expanded to display other cells in the same column.

 

ATK_RELATION_LAST_DEFINED

Not used, this value indicates the end of the enumeration.

 

Property Details

The “relation-type” property

  “relation-type”            AtkRelationType

The type of the relation.

Flags: Read / Write

Default value: ATK_RELATION_NULL


The “target” property

  “target”                   GValueArray *

An array of the targets for the relation.

Flags: Read / Write