Merge "[NUI] Setting since_tizen 3/4 on Tizen.NUI API" into rel/api_4
[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     /// <since_tizen> preview </since_tizen>
24     public interface IAccessibleRelation
25     {
26
27         /// <summary>
28         /// Gets or sets the target object.
29         /// </summary>
30         /// <since_tizen> preview </since_tizen>
31         AccessibleObject Target { get; set; }
32
33         /// <summary>
34         /// Gets the type.
35         /// </summary>
36         /// <since_tizen> preview </since_tizen>
37         int Type { get; }
38     }
39
40     /// <summary>
41     /// To define label info for accessible object.
42     /// </summary>
43     /// <since_tizen> preview </since_tizen>
44     public class LabelledBy : IAccessibleRelation
45     {
46         /// <summary>
47         /// Gets or sets the target object which is LabelledBy.
48         /// </summary>
49         /// <since_tizen> preview </since_tizen>
50         public AccessibleObject Target { get; set; }
51
52         /// <summary>
53         /// Gets the LabelledBy type.
54         /// </summary>
55         /// <since_tizen> preview </since_tizen>
56         public int Type
57         {
58             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABELLED_BY; }
59         }
60     }
61
62     /// <summary>
63     /// To define label info for accessible object.
64     /// </summary>
65     /// <since_tizen> preview </since_tizen>
66     public class LabelFor : IAccessibleRelation
67     {
68         /// <summary>
69         /// Gets or sets the target object which is LabelFor.
70         /// </summary>
71         /// <since_tizen> preview </since_tizen>
72         public AccessibleObject Target { get; set; }
73
74         /// <summary>
75         /// Gets the LabelFor type.
76         /// </summary>
77         /// <since_tizen> preview </since_tizen>
78         public int Type
79         {
80             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABEL_FOR; }
81         }
82     }
83
84     /// <summary>
85     /// To define control relationship for accessible object.
86     /// </summary>
87     /// <since_tizen> preview </since_tizen>
88     public class ControllerFor : IAccessibleRelation
89     {
90         /// <summary>
91         /// Gets or sets the target object which is ControllerFor.
92         /// </summary>
93         /// <since_tizen> preview </since_tizen>
94         public AccessibleObject Target { get; set; }
95
96         /// <summary>
97         /// Gets the ControllerFor type.
98         /// </summary>
99         /// <since_tizen> preview </since_tizen>
100         public int Type
101         {
102             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLER_FOR; }
103         }
104     }
105
106     /// <summary>
107     /// To define control relationship for accessible object.
108     /// </summary>
109     /// <since_tizen> preview </since_tizen>
110     public class ControlledBy : IAccessibleRelation
111     {
112         /// <summary>
113         /// Gets or sets the target object which is ControlledBy.
114         /// </summary>
115         /// <since_tizen> preview </since_tizen>
116         public AccessibleObject Target { get; set; }
117
118         /// <summary>
119         /// Gets the ControlledBy type.
120         /// </summary>
121         /// <since_tizen> preview </since_tizen>
122         public int Type
123         {
124             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLED_BY; }
125         }
126     }
127
128     /// <summary>
129     /// To define member relationship for accessible object.
130     /// </summary>
131     /// <since_tizen> preview </since_tizen>
132     public class MemberOf : IAccessibleRelation
133     {
134         /// <summary>
135         /// Gets or sets the target object which is MemberOf.
136         /// </summary>
137         /// <since_tizen> preview </since_tizen>
138         public AccessibleObject Target { get; set; }
139
140         /// <summary>
141         /// Gets the MemberOf type.
142         /// </summary>
143         /// <since_tizen> preview </since_tizen>
144         public int Type
145         {
146             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_MEMBER_OF; }
147         }
148     }
149
150     /// <summary>
151     /// To define tooltip for accessible object.
152     /// </summary>
153     /// <since_tizen> preview </since_tizen>
154     public class TooltipFor : IAccessibleRelation
155     {
156         /// <summary>
157         /// Gets or sets the target object which is TooltipFor.
158         /// </summary>
159         /// <since_tizen> preview </since_tizen>
160         public AccessibleObject Target { get; set; }
161
162         /// <summary>
163         /// Gets the TooltipFor type.
164         /// </summary>
165         /// <since_tizen> preview </since_tizen>
166         public int Type
167         {
168             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_TOOLTIP_FOR; }
169         }
170     }
171
172     /// <summary>
173     /// To define child for accessible object.
174     /// </summary>
175     /// <since_tizen> preview </since_tizen>
176     public class ChildOf : IAccessibleRelation
177     {
178         /// <summary>
179         /// Gets or sets the target object which is ChildOf.
180         /// </summary>
181         /// <since_tizen> preview </since_tizen>
182         public AccessibleObject Target { get; set; }
183
184         /// <summary>
185         /// Gets the ChildOf type.
186         /// </summary>
187         /// <since_tizen> preview </since_tizen>
188         public int Type
189         {
190             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_CHILD_OF; }
191         }
192     }
193
194     /// <summary>
195     /// To define parent for accessible object.
196     /// </summary>
197     /// <since_tizen> preview </since_tizen>
198     public class ParentOf : IAccessibleRelation
199     {
200         /// <summary>
201         /// Gets or sets the target object which is ParentOf.
202         /// </summary>
203         /// <since_tizen> preview </since_tizen>
204         public AccessibleObject Target { get; set; }
205
206         /// <summary>
207         /// Gets the ParentOf type.
208         /// </summary>
209         /// <since_tizen> preview </since_tizen>
210         public int Type
211         {
212             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_PARENT_OF; }
213         }
214     }
215
216     /// <summary>
217     /// To define extend for accessible object.
218     /// </summary>
219     /// <since_tizen> preview </since_tizen>
220     public class Extended : IAccessibleRelation
221     {
222         /// <summary>
223         /// Gets or sets the target object which is Extended.
224         /// </summary>
225         /// <since_tizen> preview </since_tizen>
226         public AccessibleObject Target { get; set; }
227
228         /// <summary>
229         /// Gets the Extended type.
230         /// </summary>
231         /// <since_tizen> preview </since_tizen>
232         public int Type
233         {
234             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EXTENDED; }
235         }
236     }
237
238     /// <summary>
239     /// To define the custom reading order.
240     /// </summary>
241     /// <since_tizen> preview </since_tizen>
242     public class FlowsTo : IAccessibleRelation
243     {
244         /// <summary>
245         /// Gets or sets the target object which is FlowsTo.
246         /// </summary>
247         /// <since_tizen> preview </since_tizen>
248         public AccessibleObject Target { get; set; }
249
250         /// <summary>
251         /// Gets the FlowsTo type.
252         /// </summary>
253         /// <since_tizen> preview </since_tizen>
254         public int Type
255         {
256             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_TO; }
257         }
258     }
259
260     /// <summary>
261     /// To define the custom reading order.
262     /// </summary>
263     /// <since_tizen> preview </since_tizen>
264     public class FlowsFrom : IAccessibleRelation
265     {
266         /// <summary>
267         /// Gets or sets the target object which is FlowsFrom.
268         /// </summary>
269         /// <since_tizen> preview </since_tizen>
270         public AccessibleObject Target { get; set; }
271
272         /// <summary>
273         /// Gets the FlowsFrom type.
274         /// </summary>
275         /// <since_tizen> preview </since_tizen>
276         public int Type
277         {
278             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_FROM; }
279         }
280     }
281
282     /// <summary>
283     /// To define subwindow for accessible object.
284     /// </summary>
285     /// <since_tizen> preview </since_tizen>
286     public class SubwindowOf : IAccessibleRelation
287     {
288         /// <summary>
289         /// Gets or sets the target object which is SubwindowOf.
290         /// </summary>
291         /// <since_tizen> preview </since_tizen>
292         public AccessibleObject Target { get; set; }
293
294         /// <summary>
295         /// Gets the SubwindowOf type.
296         /// </summary>
297         /// <since_tizen> preview </since_tizen>
298         public int Type
299         {
300             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_SUBWINDOW_OF; }
301         }
302     }
303
304     /// <summary>
305     /// To define embed for accessible object.
306     /// </summary>
307     /// <since_tizen> preview </since_tizen>
308     public class Embeds : IAccessibleRelation
309     {
310         /// <summary>
311         /// Gets or sets the target object which is Embeds.
312         /// </summary>
313         /// <since_tizen> preview </since_tizen>
314         public AccessibleObject Target { get; set; }
315
316         /// <summary>
317         /// Gets the Embeds type.
318         /// </summary>
319         /// <since_tizen> preview </since_tizen>
320         public int Type
321         {
322             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDS; }
323         }
324     }
325
326     /// <summary>
327     /// To define embed for accessible object.
328     /// </summary>
329     /// <since_tizen> preview </since_tizen>
330     public class EmbeddedBy : IAccessibleRelation
331     {
332         /// <summary>
333         /// Gets or sets the target object which is EmbeddedBy.
334         /// </summary>
335         /// <since_tizen> preview </since_tizen>
336         public AccessibleObject Target { get; set; }
337
338         /// <summary>
339         /// Gets the EmbeddedBy type.
340         /// </summary>
341         /// <since_tizen> preview </since_tizen>
342         public int Type
343         {
344             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDDED_BY; }
345         }
346     }
347
348     /// <summary>
349     /// To define popup for accessible object.
350     /// </summary>
351     /// <since_tizen> preview </since_tizen>
352     public class PopupFor : IAccessibleRelation
353     {
354         /// <summary>
355         /// Gets or sets the target object which is PopupFor.
356         /// </summary>
357         /// <since_tizen> preview </since_tizen>
358         public AccessibleObject Target { get; set; }
359
360         /// <summary>
361         /// Gets the PopupFor type.
362         /// </summary>
363         /// <since_tizen> preview </since_tizen>
364         public int Type
365         {
366             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_POPUP_FOR; }
367         }
368     }
369
370     /// <summary>
371     /// To define parent window for accessible object.
372     /// </summary>
373     /// <since_tizen> preview </since_tizen>
374     public class ParentWindowOf : IAccessibleRelation
375     {
376         /// <summary>
377         /// Gets or sets the target object which is ParentWindowOf.
378         /// </summary>
379         /// <since_tizen> preview </since_tizen>
380         public AccessibleObject Target { get; set; }
381
382         /// <summary>
383         /// Gets the ParentWindowOf type.
384         /// </summary>
385         /// <since_tizen> preview </since_tizen>
386         public int Type
387         {
388             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_PARENT_WINDOW_OF; }
389         }
390     }
391
392     /// <summary>
393     /// To define description for accessible object.
394     /// </summary>
395     /// <since_tizen> preview </since_tizen>
396     public class DescriptionFor : IAccessibleRelation
397     {
398         /// <summary>
399         /// Gets or sets the target object which is DescriptionFor.
400         /// </summary>
401         /// <since_tizen> preview </since_tizen>
402         public AccessibleObject Target { get; set; }
403
404         /// <summary>
405         /// Gets the DescriptionFor type.
406         /// </summary>
407         /// <since_tizen> preview </since_tizen>
408         public int Type
409         {
410             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIPTION_FOR; }
411         }
412     }
413
414     /// <summary>
415     /// To define description for accessible object.
416     /// </summary>
417     /// <since_tizen> preview </since_tizen>
418     public class DescribedBy : IAccessibleRelation
419     {
420         /// <summary>
421         /// Gets or sets the target object which is DescribedBy.
422         /// </summary>
423         /// <since_tizen> preview </since_tizen>
424         public AccessibleObject Target { get; set; }
425
426         /// <summary>
427         /// Gets the DescribedBy type.
428         /// </summary>
429         /// <since_tizen> preview </since_tizen>
430         public int Type
431         {
432             get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIBED_BY; }
433         }
434     }
435 }