accessible/public/nsIAccessibleRelation.idl

Wed, 31 Dec 2014 07:16:47 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:16:47 +0100
branch
TOR_BUG_9701
changeset 3
141e0f1194b1
permissions
-rw-r--r--

Revert simplistic fix pending revisit of Mozilla integration attempt.

michael@0 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
michael@0 2 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 5
michael@0 6 #include "nsISupports.idl"
michael@0 7 #include "nsIArray.idl"
michael@0 8
michael@0 9 interface nsIAccessible;
michael@0 10
michael@0 11 /**
michael@0 12 * This interface gives access to an accessible's set of relations.
michael@0 13 */
michael@0 14 [scriptable, uuid(55b308c4-2ae4-46bc-b4cd-4d4370e0a660)]
michael@0 15 interface nsIAccessibleRelation : nsISupports
michael@0 16 {
michael@0 17 /**
michael@0 18 * This object is labelled by a target object.
michael@0 19 */
michael@0 20 const unsigned long RELATION_LABELLED_BY = 0x00;
michael@0 21
michael@0 22 /**
michael@0 23 * This object is label for a target object.
michael@0 24 */
michael@0 25 const unsigned long RELATION_LABEL_FOR = 0x01;
michael@0 26
michael@0 27 /**
michael@0 28 * This object is described by the target object.
michael@0 29 */
michael@0 30 const unsigned long RELATION_DESCRIBED_BY = 0x02;
michael@0 31
michael@0 32 /**
michael@0 33 * This object is describes the target object.
michael@0 34 */
michael@0 35 const unsigned long RELATION_DESCRIPTION_FOR = 0x3;
michael@0 36
michael@0 37 /**
michael@0 38 * This object is a child of a target object.
michael@0 39 */
michael@0 40 const unsigned long RELATION_NODE_CHILD_OF = 0x4;
michael@0 41
michael@0 42 /**
michael@0 43 * This object is a parent of a target object. A dual relation to
michael@0 44 * RELATION_NODE_CHILD_OF
michael@0 45 */
michael@0 46 const unsigned long RELATION_NODE_PARENT_OF = 0x5;
michael@0 47
michael@0 48 /**
michael@0 49 * Some attribute of this object is affected by a target object.
michael@0 50 */
michael@0 51 const unsigned long RELATION_CONTROLLED_BY = 0x06;
michael@0 52
michael@0 53 /**
michael@0 54 * This object is interactive and controls some attribute of a target object.
michael@0 55 */
michael@0 56 const unsigned long RELATION_CONTROLLER_FOR = 0x07;
michael@0 57
michael@0 58 /**
michael@0 59 * Content flows from this object to a target object, i.e. has content that
michael@0 60 * flows logically to another object in a sequential way, e.g. text flow.
michael@0 61 */
michael@0 62 const unsigned long RELATION_FLOWS_TO = 0x08;
michael@0 63
michael@0 64 /**
michael@0 65 * Content flows to this object from a target object, i.e. has content that
michael@0 66 * flows logically from another object in a sequential way, e.g. text flow.
michael@0 67 */
michael@0 68 const unsigned long RELATION_FLOWS_FROM = 0x09;
michael@0 69
michael@0 70 /**
michael@0 71 * This object is a member of a group of one or more objects. When there is
michael@0 72 * more than one object in the group each member may have one and the same
michael@0 73 * target, e.g. a grouping object. It is also possible that each member has
michael@0 74 * multiple additional targets, e.g. one for every other member in the group.
michael@0 75 */
michael@0 76 const unsigned long RELATION_MEMBER_OF = 0x0a;
michael@0 77
michael@0 78 /**
michael@0 79 * This object is a sub window of a target object.
michael@0 80 */
michael@0 81 const unsigned long RELATION_SUBWINDOW_OF = 0x0b;
michael@0 82
michael@0 83 /**
michael@0 84 * This object embeds a target object. This relation can be used on the
michael@0 85 * OBJID_CLIENT accessible for a top level window to show where the content
michael@0 86 * areas are.
michael@0 87 */
michael@0 88 const unsigned long RELATION_EMBEDS = 0x0c;
michael@0 89
michael@0 90 /**
michael@0 91 * This object is embedded by a target object.
michael@0 92 */
michael@0 93 const unsigned long RELATION_EMBEDDED_BY = 0x0d;
michael@0 94
michael@0 95 /**
michael@0 96 * This object is a transient component related to the target object. When
michael@0 97 * this object is activated the target object doesn't lose focus.
michael@0 98 */
michael@0 99 const unsigned long RELATION_POPUP_FOR = 0x0e;
michael@0 100
michael@0 101 /**
michael@0 102 * This object is a parent window of the target object.
michael@0 103 */
michael@0 104 const unsigned long RELATION_PARENT_WINDOW_OF = 0x0f;
michael@0 105
michael@0 106 /**
michael@0 107 * Part of a form/dialog with a related default button. It is used for
michael@0 108 * MSAA/XPCOM, it isn't for IA2 or ATK.
michael@0 109 */
michael@0 110 const unsigned long RELATION_DEFAULT_BUTTON = 0x10;
michael@0 111
michael@0 112 /**
michael@0 113 * The target object is the containing document object.
michael@0 114 */
michael@0 115 const unsigned long RELATION_CONTAINING_DOCUMENT = 0x11;
michael@0 116
michael@0 117 /**
michael@0 118 * The target object is the topmost containing document object in the tab pane.
michael@0 119 */
michael@0 120 const unsigned long RELATION_CONTAINING_TAB_PANE = 0x12;
michael@0 121
michael@0 122 /**
michael@0 123 * The target object is the containing application object.
michael@0 124 */
michael@0 125 const unsigned long RELATION_CONTAINING_APPLICATION = 0x14;
michael@0 126
michael@0 127 /**
michael@0 128 * Returns the type of the relation.
michael@0 129 */
michael@0 130 readonly attribute unsigned long relationType;
michael@0 131
michael@0 132 /**
michael@0 133 * Returns the number of targets for this relation.
michael@0 134 */
michael@0 135 readonly attribute unsigned long targetsCount;
michael@0 136
michael@0 137 /**
michael@0 138 * Returns one accessible relation target.
michael@0 139 * @param index - 0 based index of relation target.
michael@0 140 */
michael@0 141 nsIAccessible getTarget(in unsigned long index);
michael@0 142
michael@0 143 /**
michael@0 144 * Returns multiple accessible relation targets.
michael@0 145 */
michael@0 146 nsIArray getTargets();
michael@0 147 };

mercurial