1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessibleStateSet_idl__
25cdf0e10cSrcweir#define __com_sun_star_accessibility_XAccessibleStateSet_idl__
26cdf0e10cSrcweir
27cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_AccessibleStateType_idl__
28cdf0e10cSrcweir#include <com/sun/star/accessibility/AccessibleStateType.idl>
29cdf0e10cSrcweir#endif
30cdf0e10cSrcweir
31cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
32cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
33cdf0e10cSrcweir#endif
34cdf0e10cSrcweir
35cdf0e10cSrcweirmodule com { module sun { module star { module accessibility {
36cdf0e10cSrcweir
37cdf0e10cSrcweir published interface XAccessible;
38cdf0e10cSrcweir
39cdf0e10cSrcweir/** Implement this interface to represent a set of states.
40cdf0e10cSrcweir
41cdf0e10cSrcweir    <p>The interface <type>XAccessibleStateSet</type> represents a set of
42cdf0e10cSrcweir    states of an accessible object.  It can hold any combination of states
43cdf0e10cSrcweir    defined by the constants collection
44cdf0e10cSrcweir    <type>AccessibleStateType</type>.</p>
45cdf0e10cSrcweir
46cdf0e10cSrcweir    @since OOo 1.1.2
47cdf0e10cSrcweir*/
48cdf0e10cSrcweirpublished interface XAccessibleStateSet : ::com::sun::star::uno::XInterface
49cdf0e10cSrcweir{
50cdf0e10cSrcweir    /** Checks whether the current state set is empty.
51cdf0e10cSrcweir
52cdf0e10cSrcweir        @return
53cdf0e10cSrcweir            Returns <TRUE/> if there is no state in this state set and
54cdf0e10cSrcweir            <FALSE/> if there is at least one set state in it.
55cdf0e10cSrcweir    */
56cdf0e10cSrcweir    boolean isEmpty ();
57cdf0e10cSrcweir
58cdf0e10cSrcweir    /** Checks if the given state is a member of the state set of the called
59cdf0e10cSrcweir        object.
60cdf0e10cSrcweir
61cdf0e10cSrcweir        @param aState
62cdf0e10cSrcweir            The state for which to check membership.  This has to be one of
63cdf0e10cSrcweir            the constants of <type>AccessibleStateType</type>.
64cdf0e10cSrcweir
65cdf0e10cSrcweir        @return
66cdf0e10cSrcweir            Returns <TRUE/> if the given state is a memeber of this object's
67cdf0e10cSrcweir            state set and <FALSE/> otherwise.
68cdf0e10cSrcweir    */
69cdf0e10cSrcweir    boolean contains ([in] short aState);
70cdf0e10cSrcweir
71cdf0e10cSrcweir    /** Checks if all of the given states are in the state set of the called
72cdf0e10cSrcweir        object.
73cdf0e10cSrcweir
74cdf0e10cSrcweir        @param aStateSet
75cdf0e10cSrcweir            This sequence of states is interpreted as set and every of its
76cdf0e10cSrcweir            members, duplicates are ignored, is checked for membership in
77cdf0e10cSrcweir            this object's state set.  Each state has to be one of the
78cdf0e10cSrcweir            constants of <type>AccessibleStateType</type>.
79cdf0e10cSrcweir
80cdf0e10cSrcweir        @return
81cdf0e10cSrcweir            Returns <TRUE/> if all states of the given state set are members
82cdf0e10cSrcweir            of this object's state set.  <FALSE/> is returned if at least
83cdf0e10cSrcweir            one of the states in the given state is not a member of this
84cdf0e10cSrcweir            object's state set.
85cdf0e10cSrcweir    */
86cdf0e10cSrcweir    boolean containsAll ([in] sequence<short> aStateSet);
87cdf0e10cSrcweir
88cdf0e10cSrcweir    /** Get all currently set states as a sequence of state ids.
89cdf0e10cSrcweir
90cdf0e10cSrcweir        <p>The purpose of this function is to reduce the communication
91cdf0e10cSrcweir        between accessibility objects and AT.  Without this function an
92cdf0e10cSrcweir        AT-Tool had to call <member>contains()</member> for every state
93cdf0e10cSrcweir        type.  Now a single call is sufficient.</p>
94cdf0e10cSrcweir
95cdf0e10cSrcweir        @return
96cdf0e10cSrcweir            The returned sequence contains one entry for every currently set
97cdf0e10cSrcweir            state.  This entry is the id of that state.  The order of the
98cdf0e10cSrcweir            states in the sequence is undefined.
99cdf0e10cSrcweir    */
100cdf0e10cSrcweir    sequence<short> getStates ();
101cdf0e10cSrcweir};
102cdf0e10cSrcweir
103cdf0e10cSrcweir}; }; }; };
104cdf0e10cSrcweir
105cdf0e10cSrcweir#endif
106