1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
// included by atk.pp
{
An AtkRelation describes a relation between the anObject and one or more
other objects. The actual relations that an anObject has with other objects
are defined as an AtkRelationSet, which is a set of AtkRelations.
}
{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}
//------------------------------------------------------------------------------
{$IFDEF read_interface_types}
{
AtkRelationType:
@ATK_RELATION_NULL:
@ATK_RELATION_CONTROLLED_BY: Indicates an anObject controlled by one or more target objects.
@ATK_RELATION_CONTROLLER_FOR: Indicates an anObject is an controller for one or more target objects.
@ATK_RELATION_LABEL_FOR: Indicates an anObject is a label for one or more target objects.
@ATK_RELATION_LABELLED_BY: Indicates an anObject is labelled by one or more target objects.
@ATK_RELATION_MEMBER_OF: Indicates an anObject is a member of a group of one or more target objects.
@ATK_RELATION_NODE_CHILD_OF: Indicates an anObject is a cell in a treetable which is displayed because a cell in the same column is expanded and identifies that cell.
@ATK_RELATION_LAST_DEFINED:
Describes the type of the relation
}
PAtkRelationType = ^TAtkRelationType;
TAtkRelationType = (
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_LAST_DEFINED
);
PAtkRelation = ^TAtkRelation;
TAtkRelation = record
parent : TGObject;
target : PGPtrArray;
relationship : TAtkRelationType;
end;
PAtkRelationClass = ^TAtkRelationClass;
TAtkRelationClass = record
parent : TGObjectClass;
end;
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------
{$IFDEF read_interface_rest}
function ATK_TYPE_RELATION : GType;
function ATK_RELATION(obj: pointer) : PAtkRelation;
function ATK_RELATION_CLASS(klass: pointer) : PAtkRelationClass;
function ATK_IS_RELATION(obj: pointer) : boolean;
function ATK_IS_RELATION_CLASS(klass: pointer) : boolean;
function ATK_RELATION_GET_CLASS(obj: pointer) : PAtkRelationClass;
function atk_relation_get_type:GType; cdecl; external atklib;
function atk_relation_type_register(name:Pgchar):TAtkRelationType; cdecl; external atklib;
function atk_relation_type_get_name(_type:TAtkRelationType):Pgchar; cdecl; external atklib;
function atk_relation_type_for_name(name:Pgchar):TAtkRelationType; cdecl; external atklib;
{ Create a new relation for the specified key and the specified list of targets. }
function atk_relation_new(targets:PPAtkObject; n_targets:gint; relationship:TAtkRelationType):PAtkRelation; cdecl; external atklib;
{ Returns the type of a relation. }
function atk_relation_get_relation_type(relation:PAtkRelation):TAtkRelationType; cdecl; external atklib;
{ Returns the target list of a relation. }
function atk_relation_get_target(relation:PAtkRelation):PGPtrArray; cdecl; external atklib;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function ATK_TYPE_RELATION : GType;
begin
ATK_TYPE_RELATION:=atk_relation_get_type;
end;
function ATK_RELATION(obj: pointer) : PAtkRelation;
begin
ATK_RELATION:=PAtkRelation(G_TYPE_CHECK_INSTANCE_CAST(obj,ATK_TYPE_RELATION));
end;
function ATK_RELATION_CLASS(klass: pointer) : PAtkRelationClass;
begin
ATK_RELATION_CLASS:=PAtkRelationClass(G_TYPE_CHECK_CLASS_CAST(klass,ATK_TYPE_RELATION));
end;
function ATK_IS_RELATION(obj: pointer) : boolean;
begin
ATK_IS_RELATION:=G_TYPE_CHECK_INSTANCE_TYPE(obj,ATK_TYPE_RELATION);
end;
function ATK_IS_RELATION_CLASS(klass: pointer) : boolean;
begin
ATK_IS_RELATION_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,ATK_TYPE_RELATION);
end;
function ATK_RELATION_GET_CLASS(obj: pointer) : PAtkRelationClass;
begin
ATK_RELATION_GET_CLASS:=PAtkRelationClass(G_TYPE_INSTANCE_GET_CLASS(obj,ATK_TYPE_RELATION));
end;
{$ENDIF read_implementation}
|