Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / ElmSharp / ElmSharp / AccessibleRelation.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 namespace ElmSharp.Accessible
19 {
20     /// <summary>
21     /// IAccessibleRelation is a interface which defines the relationship between two accessible objects.
22     /// </summary>
23     public interface IAccessibleRelation
24     {
25
26         AccessibleObject Target { get; set; }
27         int Type { get; }
28     }
29
30     /// <summary>
31     /// To define label info for accessible object.
32     /// </summary>
33     public class LabelledBy : IAccessibleRelation
34     {
35         /// <summary>
36         /// Gets or sets the target object which is LabelledBy.
37         /// </summary>
38         public AccessibleObject Target { get; set; }
39
40         /// <summary>
41         /// Gets the LabelledBy type.
42         /// </summary>
43         public int Type
44         {
45             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABELLED_BY; }
46         }
47     }
48
49     /// <summary>
50     /// To define label info for accessible object.
51     /// </summary>
52     public class LabelFor : IAccessibleRelation
53     {
54         /// <summary>
55         /// Gets or sets the target object which is LabelFor.
56         /// </summary>
57         public AccessibleObject Target { get; set; }
58
59         /// <summary>
60         /// Gets the LabelFor type.
61         /// </summary>
62         public int Type
63         {
64             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABEL_FOR; }
65         }
66     }
67
68     /// <summary>
69     /// To define control relationship for accessible object.
70     /// </summary>
71     public class ControllerFor : IAccessibleRelation
72     {
73         /// <summary>
74         /// Gets or sets the target object which is ControllerFor.
75         /// </summary>
76         public AccessibleObject Target { get; set; }
77
78         /// <summary>
79         /// Gets the ControllerFor type.
80         /// </summary>
81         public int Type
82         {
83             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLER_FOR; }
84         }
85     }
86
87     /// <summary>
88     /// To define control relationship for accessible object.
89     /// </summary>
90     public class ControlledBy : IAccessibleRelation
91     {
92         /// <summary>
93         /// Gets or sets the target object which is ControlledBy.
94         /// </summary>
95         public AccessibleObject Target { get; set; }
96
97         /// <summary>
98         /// Gets the ControlledBy type.
99         /// </summary>
100         public int Type
101         {
102             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLED_BY; }
103         }
104     }
105
106     /// <summary>
107     /// To define member relationship for accessible object.
108     /// </summary>
109     public class MemberOf : IAccessibleRelation
110     {
111         /// <summary>
112         /// Gets or sets the target object which is MemberOf.
113         /// </summary>
114         public AccessibleObject Target { get; set; }
115
116         /// <summary>
117         /// Gets the MemberOf type.
118         /// </summary>
119         public int Type
120         {
121             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_MEMBER_OF; }
122         }
123     }
124
125     /// <summary>
126     /// To define tooltip for accessible object.
127     /// </summary>
128     public class TooltipFor : IAccessibleRelation
129     {
130         /// <summary>
131         /// Gets or sets the target object which is TooltipFor.
132         /// </summary>
133         public AccessibleObject Target { get; set; }
134
135         /// <summary>
136         /// Gets the TooltipFor type.
137         /// </summary>
138         public int Type
139         {
140             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_TOOLTIP_FOR; }
141         }
142     }
143
144     /// <summary>
145     /// To define child for accessible object.
146     /// </summary>
147     public class ChildOf : IAccessibleRelation
148     {
149         /// <summary>
150         /// Gets or sets the target object which is ChildOf.
151         /// </summary>
152         public AccessibleObject Target { get; set; }
153
154         /// <summary>
155         /// Gets the ChildOf type.
156         /// </summary>
157         public int Type
158         {
159             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_CHILD_OF; }
160         }
161     }
162
163     /// <summary>
164     /// To define parent for accessible object.
165     /// </summary>
166     public class ParentOf : IAccessibleRelation
167     {
168         /// <summary>
169         /// Gets or sets the target object which is ParentOf.
170         /// </summary>
171         public AccessibleObject Target { get; set; }
172
173         /// <summary>
174         /// Gets the ParentOf type.
175         /// </summary>
176         public int Type
177         {
178             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_PARENT_OF; }
179         }
180     }
181
182     /// <summary>
183     /// To define extend for accessible object.
184     /// </summary>
185     public class Extended : IAccessibleRelation
186     {
187         /// <summary>
188         /// Gets or sets the target object which is Extended.
189         /// </summary>
190         public AccessibleObject Target { get; set; }
191
192         /// <summary>
193         /// Gets the Extended type.
194         /// </summary>
195         public int Type
196         {
197             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EXTENDED; }
198         }
199     }
200
201     /// <summary>
202     /// To define the custom reading order.
203     /// </summary>
204     public class FlowsTo : IAccessibleRelation
205     {
206         /// <summary>
207         /// Gets or sets the target object which is FlowsTo.
208         /// </summary>
209         public AccessibleObject Target { get; set; }
210
211         /// <summary>
212         /// Gets the FlowsTo type.
213         /// </summary>
214         public int Type
215         {
216             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_TO; }
217         }
218     }
219
220     /// <summary>
221     /// To define the custom reading order.
222     /// </summary>
223     public class FlowsFrom : IAccessibleRelation
224     {
225         /// <summary>
226         /// Gets or sets the target object which is FlowsFrom.
227         /// </summary>
228         public AccessibleObject Target { get; set; }
229
230         /// <summary>
231         /// Gets the FlowsFrom type.
232         /// </summary>
233         public int Type
234         {
235             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_FROM; }
236         }
237     }
238
239     /// <summary>
240     /// To define subwindow for accessible object.
241     /// </summary>
242     public class SubwindowOf : IAccessibleRelation
243     {
244         /// <summary>
245         /// Gets or sets the target object which is SubwindowOf.
246         /// </summary>
247         public AccessibleObject Target { get; set; }
248
249         /// <summary>
250         /// Gets the SubwindowOf type.
251         /// </summary>
252         public int Type
253         {
254             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_SUBWINDOW_OF; }
255         }
256     }
257
258     /// <summary>
259     /// To define embed for accessible object.
260     /// </summary>
261     public class Embeds : IAccessibleRelation
262     {
263         /// <summary>
264         /// Gets or sets the target object which is Embeds.
265         /// </summary>
266         public AccessibleObject Target { get; set; }
267
268         /// <summary>
269         /// Gets the Embeds type.
270         /// </summary>
271         public int Type
272         {
273             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDS; }
274         }
275     }
276
277     /// <summary>
278     /// To define embed for accessible object.
279     /// </summary>
280     public class EmbeddedBy : IAccessibleRelation
281     {
282         /// <summary>
283         /// Gets or sets the target object which is EmbeddedBy.
284         /// </summary>
285         public AccessibleObject Target { get; set; }
286
287         /// <summary>
288         /// Gets the EmbeddedBy type.
289         /// </summary>
290         public int Type
291         {
292             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDDED_BY; }
293         }
294     }
295
296     /// <summary>
297     /// To define popup for accessible object.
298     /// </summary>
299     public class PopupFor : IAccessibleRelation
300     {
301         /// <summary>
302         /// Gets or sets the target object which is PopupFor.
303         /// </summary>
304         public AccessibleObject Target { get; set; }
305
306         /// <summary>
307         /// Gets the PopupFor type.
308         /// </summary>
309         public int Type
310         {
311             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_POPUP_FOR; }
312         }
313     }
314
315     /// <summary>
316     /// To define parent window for accessible object.
317     /// </summary>
318     public class ParentWindowOf : IAccessibleRelation
319     {
320         /// <summary>
321         /// Gets or sets the target object which is ParentWindowOf.
322         /// </summary>
323         public AccessibleObject Target { get; set; }
324
325         /// <summary>
326         /// Gets the ParentWindowOf type.
327         /// </summary>
328         public int Type
329         {
330             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_PARENT_WINDOW_OF; }
331         }
332     }
333
334     /// <summary>
335     /// To define description for accessible object.
336     /// </summary>
337     public class DescriptionFor : IAccessibleRelation
338     {
339         /// <summary>
340         /// Gets or sets the target object which is DescriptionFor.
341         /// </summary>
342         public AccessibleObject Target { get; set; }
343
344         /// <summary>
345         /// Gets the DescriptionFor type.
346         /// </summary>
347         public int Type
348         {
349             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIPTION_FOR; }
350         }
351     }
352
353     /// <summary>
354     /// To define description for accessible object.
355     /// </summary>
356     public class DescribedBy : IAccessibleRelation
357     {
358         /// <summary>
359         /// Gets or sets the target object which is DescribedBy.
360         /// </summary>
361         public AccessibleObject Target { get; set; }
362
363         /// <summary>
364         /// Gets the DescribedBy type.
365         /// </summary>
366         public int Type
367         {
368             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIBED_BY; }
369         }
370     }
371 }