| ATK - Accessibility Toolkit | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | ||||
AtkRelationAtkRelation — An object used to describe a relation between a object and one or more other objects. |
struct AtkRelation; enum AtkRelationType; AtkRelationType atk_relation_type_register (const gchar *name); const gchar * atk_relation_type_get_name (AtkRelationType type); AtkRelationType atk_relation_type_for_name (const gchar *name); AtkRelation * atk_relation_new (AtkObject **targets,gint n_targets,AtkRelationType relationship); AtkRelationType atk_relation_get_relation_type (AtkRelation *relation); GPtrArray * atk_relation_get_target (AtkRelation *relation); void atk_relation_add_target (AtkRelation *relation,AtkObject *target); gboolean atk_relation_remove_target (AtkRelation *relation,AtkObject *target);
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.
typedef enum {
ATK_RELATION_NULL = 0,
ATK_RELATION_CONTROLLED_BY,
ATK_RELATION_CONTROLLER_FOR,
ATK_RELATION_LABEL_FOR,
ATK_RELATION_LABELLED_BY,
ATK_RELATION_MEMBER_OF,
ATK_RELATION_NODE_CHILD_OF,
ATK_RELATION_FLOWS_TO,
ATK_RELATION_FLOWS_FROM,
ATK_RELATION_SUBWINDOW_OF,
ATK_RELATION_EMBEDS,
ATK_RELATION_EMBEDDED_BY,
ATK_RELATION_POPUP_FOR,
ATK_RELATION_PARENT_WINDOW_OF,
ATK_RELATION_DESCRIBED_BY,
ATK_RELATION_DESCRIPTION_FOR,
ATK_RELATION_NODE_PARENT_OF,
ATK_RELATION_LAST_DEFINED
} AtkRelationType;
Describes the type of the relation
| Not used, represens "no relationship" or an error condition. | |
| Indicates an object controlled by one or more target objects. | |
| Indicates an object is an controller for one or more target objects. | |
| Indicates an object is a label for one or more target objects. | |
| Indicates an object is labelled by one or more target objects. | |
| Indicates an object is a member of a group of one or more target objects. | |
| 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. | |
| Indicates that the object has content that flows logically to another AtkObject in a sequential way, (for instance text-flow). | |
| Indicates that the object has content that flows logically from another AtkObject in a sequential way, (for instance text-flow). | |
| Indicates a subwindow attached to a component but otherwise has no connection in the UI heirarchy to that component. | |
| Indicates that the object visually embeds another object's content, i.e. this object's content flows around another's content. | |
Inverse of ATK_RELATION_EMBEDS, indicates that
this object's content is visualy embedded in another object.
|
|
| Indicates that an object is a popup for another object. | |
| Indicates that an object is a parent window of another object. | |
| Indicates that another object provides descriptive information about this object; more verbose than ATK_RELATION_LABELLED_BY. | |
| Indicates that an object provides descriptive information about another object; more verbose than ATK_RELATION_LABEL_FOR. | |
| Indicates an object is a cell in a treetable and is expanded to display other cells in the same column. | |
| Not used, this value indicates the end of the enumeration. |
AtkRelationType atk_relation_type_register (const gchar *name);
Associate name with a new AtkRelationType
|
a name string |
Returns : |
an AtkRelationType associated with name
|
const gchar * atk_relation_type_get_name (AtkRelationType type);
Gets the description string describing the AtkRelationType type.
|
The AtkRelationType whose name is required |
Returns : |
the string describing the AtkRelationType |
AtkRelationType atk_relation_type_for_name (const gchar *name);
Get the AtkRelationType type corresponding to a relation 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. |
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().
|
an array of pointers to AtkObjects |
|
number of AtkObjects pointed to by targets
|
|
an AtkRelationType with which to create the new AtkRelation |
Returns : |
a pointer to a new AtkRelation |
AtkRelationType atk_relation_get_relation_type (AtkRelation *relation);
Gets the type of relation
|
an AtkRelation |
Returns : |
the type of relation
|
GPtrArray * atk_relation_get_target (AtkRelation *relation);
Gets the target list of relation
|
an AtkRelation |
Returns : |
the target list of relation. [transfer none]
|
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().
|
an AtkRelation |
|
an AtkObject |
Since 1.9
gboolean atk_relation_remove_target (AtkRelation *relation,AtkObject *target);
Remove the specified AtkObject from the target for the relation.
|
an AtkRelation |
|
an AtkObject |
Returns : |
TRUE if the removal is successful. |
"relation-type" property"relation-type" AtkRelationType : Read / Write
The type of the relation.
Default value: ATK_RELATION_NULL