1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 module com
{ module sun
{ module star
{ module accessibility
{
22 interface XAccessible
;
24 /** Implement this interface to represent a selection of accessible objects.
26 <p>This interface is the standard mechanism to obtain and modify the
27 currently selected children. Every object that has children that can be
28 selected should support this interface.</p>
30 <p>The XAccessibleSelection interface has to be implemented
31 in conjunction with the XAccessibleContext interface that
32 provides the children on which the first operates.</p>
34 <p>It depends on the class implementing this interface, whether it
35 supports single or multi selection.</p>
39 interface XAccessibleSelection
: ::com
::sun
::star
::uno
::XInterface
41 /** Selects the specified Accessible child of the
44 <p>Depending on the implementing class the child is added to the
45 current set a selected children (multi selection) or a previously
46 selected child is deselected first (single selection).</p>
49 Index of the child which is to add to the selection. This index
50 refers to all the children of this object.
51 @throws ::com::sun::star::lang::IndexOutOfBoundsException
52 if the given index does not lie in the valid range of 0 up to
54 XAccessibleContext::getAccessibleChildCount()-1.
56 void selectAccessibleChild
([in] hyper nChildIndex
)
57 raises
(::com
::sun
::star
::lang
::IndexOutOfBoundsException
);
59 /** Determines if the specified child of this object is selected.
62 Index of the child for which to detect whether it is selected.
63 This index refers to all the children of this object.
66 Returns `TRUE` if the specified child is selected and `FALSE`
67 if it is not selected.
68 @throws ::com::sun::star::lang::IndexOutOfBoundsException
69 if the given index does not lie in the valid range of 0 up to
71 XAccessibleContext::getAccessibleChildCount()-1.
73 boolean isAccessibleChildSelected
([in] hyper nChildIndex
)
74 raises
(::com
::sun
::star
::lang
::IndexOutOfBoundsException
);
76 /** Clears the selection, so that no children of the
79 void clearAccessibleSelection
();
81 /** Select all children.
83 <p>Causes every child of the object to be selected if the object
84 supports multiple selections. If multiple selection is not
85 supported then the first child, if it exists, is selected and all
86 other children are deselected.</p>
88 void selectAllAccessibleChildren
();
90 /** Returns the number of Accessible children that are currently
93 <p>This number specifies the valid interval of indices that can be
94 used as arguments for the method
95 XAccessibleSelection::getSelectedAccessibleChild().</p>
98 Returns the number of selected children of this object or 0 if
101 hyper getSelectedAccessibleChildCount
();
103 /** Returns the specified selected Accessible child.
105 @param nSelectedChildIndex
106 This index refers only to the selected children, not to all the
107 children of this object. Even if all children are selected, the
108 indices enumerating the selected children need not be the same
109 as those enumerating all children. If only single selection is
110 supported the only valid value is 0.
113 If the index is valid, i.e. not negative and lower than the
114 number of selected children, then a valid reference to the
115 corresponding XAccessible child is returned.
116 Otherwise an exception is thrown.
117 @throws ::com::sun::star::lang::IndexOutOfBoundsException
118 if the given index does not lie in the valid range of 0 up to
120 XAccessibleSelection::getSelectedAccessibleChildCount()-1.
122 XAccessible getSelectedAccessibleChild
([in] hyper nSelectedChildIndex
)
123 raises
(::com
::sun
::star
::lang
::IndexOutOfBoundsException
);
125 /** Removes the specified child from the set of this object's
126 selected children. Note that not all applications support
127 deselection: calls to this method may be silently ignored.
130 This index refers to all children not just the selected ones.
131 If the specified child is not selected or it can not be
132 deselected for any reason then the method call is silently
134 @throws ::com::sun::star::lang::IndexOutOfBoundsException
135 if the given index does not lie in the valid range of 0 up to,
136 but not including, the result of
137 XAccessibleContext::getAccessibleChildCount().
139 void deselectAccessibleChild
([in] hyper nChildIndex
)
140 raises
(::com
::sun
::star
::lang
::IndexOutOfBoundsException
);
145 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */