Bug 467437, bump automation config for fx2.0.0.19 build 2, r=bhearsum
[mozilla-1.9.git] / other-licenses / ia2 / AccessibleRelation.idl
blobec496db4118a3656a33ae8ef7977b3a37c937b97
1 /*************************************************************************
3 * File Name (AccessibleRelation.idl)
5 * IAccessible2 IDL Specification
7 * Copyright (c) IBM Corp. 2006
8 * Copyright (c) Sun Microsystems, Inc. 2000, 2006
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License version 2.1, as published by the Free Software Foundation; either
13 * version 2.1 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
24 ************************************************************************/
26 import "objidl.idl";
27 import "oaidl.idl";
28 import "oleacc.idl";
30 /** @defgroup grpRelations Relations
31 Use the following constants to compare against the BSTRs returned by
32 IAccessibleRelation::relationType.
33 */
34 ///@{
36 /** Some attribute of this object is affected by a target object. */
37 const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy";
39 /** This object is interactive and controls some attribute of a target object. */
40 const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor";
42 /** This object is described by the target object. */
43 const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy";
45 /** This object is describes the target object. */
46 const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor";
48 /** This object is embedded by a target object. */
49 const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy";
51 /** This object embeds a target object. This relation can be used on the
52 OBJID_CLIENT accessible for a top level window to show where the content
53 areas are.
55 const WCHAR *const IA2_RELATION_EMBEDS = L"embeds";
57 /** Content flows to this object from a target object. */
58 const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom";
60 /** Content flows from this object to a target object. */
61 const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo";
63 /** This object is label for a target object. */
64 const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor";
66 /** This object is labelled by a target object. */
67 const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy";
69 /** This object is a member of a group of one or more objects. When
70 there is more than one object in the group each member may have one and the
71 same target, e.g. a grouping object. It is also possible that each member has
72 multiple additional targets, e.g. one for every other member in the group.
74 const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf";
76 /** This object is a child of a target object. */
77 const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf";
79 /** This object is a parent window of the target object. */
80 const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf";
82 /** This object is a transient component related to the target object.
83 When this object is activated the target object doesn't loose focus.
85 const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor";
87 /** This object is a sub window of a target object. */
88 const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf";
90 ///@}
92 /// This interface gives access to an object's set of relations.
93 [object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)]
94 interface IAccessibleRelation : IUnknown
96 /** @brief Returns the type of the relation.
97 @param [out] relationType
99 [propget] HRESULT relationType
101 [out, retval] BSTR *relationType
104 /** @brief Returns a localized version of the relation type.
105 @param [out] localizedRelationType
107 [propget] HRESULT localizedRelationType
109 [out, retval] BSTR *localizedRelationType
112 /** @brief Returns the number of targets for this relation.
113 @param [out] nTargets
115 [propget] HRESULT nTargets
117 [out, retval] long *nTargets
120 /** @brief Returns one accessible relation target.
121 @param [in] targetIndex
122 0 based index
123 @param [out] target
124 Note: Use QueryInterface to get IAccessible2.
126 [propget] HRESULT target
128 [in] long targetIndex,
129 [out, retval] IUnknown **target
132 /** @brief Returns multiple accessible relation targets
133 @param [in] maxTargets
134 Maximum number of targets to get.
135 @param [out] target
136 Array of accessible targets. Use QueryInterface to get IAccessible2.
137 @param [out] nTargets
138 length of array (not more than maxTargets)
140 [propget] HRESULT targets
142 [in] long maxTargets,
143 [out, size_is(maxTargets), length_is(*nTargets)]
144 IUnknown **target,
145 [out, retval] long *nTargets