2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 namespace ElmSharp.Accessible
21 /// IAccessibleRelation is a interface which defines the relationship between two accessible objects.
23 public interface IAccessibleRelation
27 /// Gets or sets the target object.
29 AccessibleObject Target { get; set; }
38 /// To define label info for accessible object.
40 public class LabelledBy : IAccessibleRelation
43 /// Gets or sets the target object which is LabelledBy.
45 public AccessibleObject Target { get; set; }
48 /// Gets the LabelledBy type.
52 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABELLED_BY; }
57 /// To define label info for accessible object.
59 public class LabelFor : IAccessibleRelation
62 /// Gets or sets the target object which is LabelFor.
64 public AccessibleObject Target { get; set; }
67 /// Gets the LabelFor type.
71 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABEL_FOR; }
76 /// To define control relationship for accessible object.
78 public class ControllerFor : IAccessibleRelation
81 /// Gets or sets the target object which is ControllerFor.
83 public AccessibleObject Target { get; set; }
86 /// Gets the ControllerFor type.
90 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLER_FOR; }
95 /// To define control relationship for accessible object.
97 public class ControlledBy : IAccessibleRelation
100 /// Gets or sets the target object which is ControlledBy.
102 public AccessibleObject Target { get; set; }
105 /// Gets the ControlledBy type.
109 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLED_BY; }
114 /// To define member relationship for accessible object.
116 public class MemberOf : IAccessibleRelation
119 /// Gets or sets the target object which is MemberOf.
121 public AccessibleObject Target { get; set; }
124 /// Gets the MemberOf type.
128 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_MEMBER_OF; }
133 /// To define tooltip for accessible object.
135 public class TooltipFor : IAccessibleRelation
138 /// Gets or sets the target object which is TooltipFor.
140 public AccessibleObject Target { get; set; }
143 /// Gets the TooltipFor type.
147 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_TOOLTIP_FOR; }
152 /// To define child for accessible object.
154 public class ChildOf : IAccessibleRelation
157 /// Gets or sets the target object which is ChildOf.
159 public AccessibleObject Target { get; set; }
162 /// Gets the ChildOf type.
166 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_CHILD_OF; }
171 /// To define parent for accessible object.
173 public class ParentOf : IAccessibleRelation
176 /// Gets or sets the target object which is ParentOf.
178 public AccessibleObject Target { get; set; }
181 /// Gets the ParentOf type.
185 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_PARENT_OF; }
190 /// To define extend for accessible object.
192 public class Extended : IAccessibleRelation
195 /// Gets or sets the target object which is Extended.
197 public AccessibleObject Target { get; set; }
200 /// Gets the Extended type.
204 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EXTENDED; }
209 /// To define the custom reading order.
211 public class FlowsTo : IAccessibleRelation
214 /// Gets or sets the target object which is FlowsTo.
216 public AccessibleObject Target { get; set; }
219 /// Gets the FlowsTo type.
223 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_TO; }
228 /// To define the custom reading order.
230 public class FlowsFrom : IAccessibleRelation
233 /// Gets or sets the target object which is FlowsFrom.
235 public AccessibleObject Target { get; set; }
238 /// Gets the FlowsFrom type.
242 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_FROM; }
247 /// To define subwindow for accessible object.
249 public class SubwindowOf : IAccessibleRelation
252 /// Gets or sets the target object which is SubwindowOf.
254 public AccessibleObject Target { get; set; }
257 /// Gets the SubwindowOf type.
261 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_SUBWINDOW_OF; }
266 /// To define embed for accessible object.
268 public class Embeds : IAccessibleRelation
271 /// Gets or sets the target object which is Embeds.
273 public AccessibleObject Target { get; set; }
276 /// Gets the Embeds type.
280 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDS; }
285 /// To define embed for accessible object.
287 public class EmbeddedBy : IAccessibleRelation
290 /// Gets or sets the target object which is EmbeddedBy.
292 public AccessibleObject Target { get; set; }
295 /// Gets the EmbeddedBy type.
299 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDDED_BY; }
304 /// To define popup for accessible object.
306 public class PopupFor : IAccessibleRelation
309 /// Gets or sets the target object which is PopupFor.
311 public AccessibleObject Target { get; set; }
314 /// Gets the PopupFor type.
318 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_POPUP_FOR; }
323 /// To define parent window for accessible object.
325 public class ParentWindowOf : IAccessibleRelation
328 /// Gets or sets the target object which is ParentWindowOf.
330 public AccessibleObject Target { get; set; }
333 /// Gets the ParentWindowOf type.
337 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_PARENT_WINDOW_OF; }
342 /// To define description for accessible object.
344 public class DescriptionFor : IAccessibleRelation
347 /// Gets or sets the target object which is DescriptionFor.
349 public AccessibleObject Target { get; set; }
352 /// Gets the DescriptionFor type.
356 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIPTION_FOR; }
361 /// To define description for accessible object.
363 public class DescribedBy : IAccessibleRelation
366 /// Gets or sets the target object which is DescribedBy.
368 public AccessibleObject Target { get; set; }
371 /// Gets the DescribedBy type.
375 get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIBED_BY; }