![]() | ![]() | ![]() | ATK - Accessibility Toolkit | ![]() |
---|
AtkRelation — 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); G_CONST_RETURN 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);
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_LAST_DEFINED } AtkRelationType;
Describes the type of the relation
ATK_RELATION_NULL | |
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 | [not sure about this one, ask Peter] |
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_LAST_DEFINED |
AtkRelationType atk_relation_type_register (const gchar *name);
Associate name
with a new AtkRelationType
name : | a name string |
Returns : | an AtkRelationType associated with name
|
G_CONST_RETURN gchar* atk_relation_type_get_name (AtkRelationType type);
Gets the description string describing the AtkRelationType type
.
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.
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.
targets : | an array of pointers to AtkObjects |
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 |
AtkRelationType atk_relation_get_relation_type (AtkRelation *relation);
Gets the type of relation
relation : | an AtkRelation |
Returns : | the type of relation
|
GPtrArray* atk_relation_get_target (AtkRelation *relation);
Gets the target list of relation
relation : | an AtkRelation |
Returns : | the target list of relation
|
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.
relation : | an AtkRelation |
target : | an AtkObject |
"relation-type " (AtkRelationType : Read / Write) | The type of the relation. |
"target " (GValueArray : Read / Write) | An array of the targets for the relation. |
<< AtkRegistry | AtkRelationSet >> |