xref: /AOO42X/main/sd/source/ui/inc/AccessibleSlideView.hxx (revision 0deba7fbda3d9908785c25a443701a293b6f4e71)
1c45d927aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3c45d927aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4c45d927aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5c45d927aSAndrew Rist  * distributed with this work for additional information
6c45d927aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7c45d927aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8c45d927aSAndrew Rist  * "License"); you may not use this file except in compliance
9c45d927aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11c45d927aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13c45d927aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14c45d927aSAndrew Rist  * software distributed under the License is distributed on an
15c45d927aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16c45d927aSAndrew Rist  * KIND, either express or implied.  See the License for the
17c45d927aSAndrew Rist  * specific language governing permissions and limitations
18c45d927aSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20c45d927aSAndrew Rist  *************************************************************/
21c45d927aSAndrew Rist 
22c45d927aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SD_ACCESSIBILITY_ACCESSIBLE_SLIDE_VIEW_HXX
25cdf0e10cSrcweir #define SD_ACCESSIBILITY_ACCESSIBLE_SLIDE_VIEW_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <cppuhelper/implbase6.hxx>
28*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
29*0deba7fbSSteve Yin #include <cppuhelper/implbase9.hxx>
30*0deba7fbSSteve Yin //#include <cppuhelper/implbase7.hxx>
31*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
32cdf0e10cSrcweir #include "SlideView.hxx"
33cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp>
34cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessible.hpp>
35cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleContext.hpp>
36cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
37cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
38cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
39cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
40cdf0e10cSrcweir 
41*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
42*0deba7fbSSteve Yin #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
43*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
44cdf0e10cSrcweir #include <vector>
45cdf0e10cSrcweir 
46cdf0e10cSrcweir class SdDrawDocument;
47cdf0e10cSrcweir class AccessibleSlideView;
48cdf0e10cSrcweir 
49cdf0e10cSrcweir namespace sd {
50cdf0e10cSrcweir class SlideView;
51cdf0e10cSrcweir class Window;
52cdf0e10cSrcweir }
53cdf0e10cSrcweir 
54cdf0e10cSrcweir // -----------------------------
55cdf0e10cSrcweir // - AccessibleSlideViewObject -
56cdf0e10cSrcweir // -----------------------------
57cdf0e10cSrcweir 
58cdf0e10cSrcweir class AccessibleSlideViewObject : public ::cppu::WeakImplHelper6<
59cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
60cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessible,
61cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
62cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleContext,
63cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleComponent,
64cdf0e10cSrcweir     ::com::sun::star::lang::XServiceInfo >
65cdf0e10cSrcweir {
66cdf0e10cSrcweir private:
67cdf0e10cSrcweir 
68cdf0e10cSrcweir     ::osl::Mutex                                                                                                            maMutex;
69cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >                                mxParent;
70cdf0e10cSrcweir     AccessibleSlideView*                                                                                                    mpManager;
71cdf0e10cSrcweir     /// client id in the AccessibleEventNotifier queue
72cdf0e10cSrcweir     sal_uInt32                                                                                                              mnClientId;
73cdf0e10cSrcweir     sal_uInt16                                                                                                              mnPage;
74cdf0e10cSrcweir     sal_Bool                                                                                                                mbVisible;
75cdf0e10cSrcweir     sal_Bool                                                                                                                mbValid;
76cdf0e10cSrcweir 
77cdf0e10cSrcweir private:
78cdf0e10cSrcweir 
79cdf0e10cSrcweir     // Misc
80cdf0e10cSrcweir     static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
81cdf0e10cSrcweir 
82cdf0e10cSrcweir     // XUnoTunnel
83cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
84cdf0e10cSrcweir 
85cdf0e10cSrcweir     // XAccessible
86cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
87cdf0e10cSrcweir 
88cdf0e10cSrcweir     // XAccessibleEventBroadcaster
89cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
90cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     // XAccessibleContext
93cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
94cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
95cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
96cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
97cdf0e10cSrcweir     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
98cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
99cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
100cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
101cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
102cdf0e10cSrcweir     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
103cdf0e10cSrcweir 
104cdf0e10cSrcweir     // XAccessibleComponent
105cdf0e10cSrcweir     virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
106cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
107cdf0e10cSrcweir     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds(  ) throw (::com::sun::star::uno::RuntimeException);
108cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocation(  ) throw (::com::sun::star::uno::RuntimeException);
109cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen(  ) throw (::com::sun::star::uno::RuntimeException);
110cdf0e10cSrcweir     virtual ::com::sun::star::awt::Size SAL_CALL getSize(  ) throw (::com::sun::star::uno::RuntimeException);
111cdf0e10cSrcweir     virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
112cdf0e10cSrcweir 
113cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getForeground (void)
114cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
115cdf0e10cSrcweir 
116cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getBackground (void)
117cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
118cdf0e10cSrcweir 
119cdf0e10cSrcweir     //=====  XServiceInfo  ====================================================
120cdf0e10cSrcweir 
121cdf0e10cSrcweir     /** Returns an identifier for the implementation of this object.
122cdf0e10cSrcweir     */
123cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL
124cdf0e10cSrcweir         getImplementationName (void)
125cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
126cdf0e10cSrcweir 
127cdf0e10cSrcweir     /** Return whether the specified service is supported by this class.
128cdf0e10cSrcweir     */
129cdf0e10cSrcweir     virtual sal_Bool SAL_CALL
130cdf0e10cSrcweir         supportsService (const ::rtl::OUString& sServiceName)
131cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
132cdf0e10cSrcweir 
133cdf0e10cSrcweir     /** Returns a list of all supported services.
134cdf0e10cSrcweir     */
135cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
136cdf0e10cSrcweir         getSupportedServiceNames (void)
137cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
138cdf0e10cSrcweir 
139cdf0e10cSrcweir public:
140cdf0e10cSrcweir 
141cdf0e10cSrcweir     static AccessibleSlideViewObject* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxData ) throw();
142cdf0e10cSrcweir 
143cdf0e10cSrcweir public:
144cdf0e10cSrcweir 
145cdf0e10cSrcweir                                 AccessibleSlideViewObject( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent, sal_uInt16 nPage, sal_Bool bVisible );
146cdf0e10cSrcweir                                 ~AccessibleSlideViewObject();
147cdf0e10cSrcweir 
148cdf0e10cSrcweir     void                        FireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
149cdf0e10cSrcweir 
150cdf0e10cSrcweir     /** This method acts like a dispose call.  It sends a disposing to all
151cdf0e10cSrcweir         of its listeners.  It may be called twice.
152cdf0e10cSrcweir     */
153cdf0e10cSrcweir     void Destroyed (void);
154cdf0e10cSrcweir 
155cdf0e10cSrcweir     sal_uInt16                  GetPageNum() const { return mnPage; }
156cdf0e10cSrcweir 
157cdf0e10cSrcweir     void                        SetVisible( sal_Bool bVisible );
158cdf0e10cSrcweir     sal_Bool                    IsVisible() const;
159cdf0e10cSrcweir };
160cdf0e10cSrcweir 
161cdf0e10cSrcweir // -----------------------
162cdf0e10cSrcweir // - AccessibleSlideView -
163cdf0e10cSrcweir // -----------------------
164cdf0e10cSrcweir 
165*0deba7fbSSteve Yin class AccessibleSlideView : public ::cppu::WeakImplHelper9<
166cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
167cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessible,
168cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
169cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleContext,
170cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleComponent,
171cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleSelection,
172*0deba7fbSSteve Yin     ::com::sun::star::lang::XServiceInfo
173*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
174*0deba7fbSSteve Yin     ,::com::sun::star::accessibility::XAccessibleExtendedAttributes
175*0deba7fbSSteve Yin     ,::com::sun::star::awt::XFocusListener >
176*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
177cdf0e10cSrcweir {
178cdf0e10cSrcweir public:
179cdf0e10cSrcweir 
180cdf0e10cSrcweir     static AccessibleSlideView* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxData ) throw();
181cdf0e10cSrcweir 
182cdf0e10cSrcweir     AccessibleSlideView(
183cdf0e10cSrcweir         SdDrawDocument& rDoc,
184cdf0e10cSrcweir         ::sd::SlideView& rView,
185cdf0e10cSrcweir         ::sd::Window& rParentWindow);
186cdf0e10cSrcweir     virtual ~AccessibleSlideView (void);
187cdf0e10cSrcweir 
188cdf0e10cSrcweir     void                        FireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
189cdf0e10cSrcweir 
190cdf0e10cSrcweir     /** This method acts like a dispose call.  It sends a disposing to all
191cdf0e10cSrcweir         of its listeners.  It may be called twice.
192cdf0e10cSrcweir     */
193cdf0e10cSrcweir     void Destroyed (void);
194cdf0e10cSrcweir 
195cdf0e10cSrcweir     SdDrawDocument*             GetDrawDocument() const { return mpDoc; }
196cdf0e10cSrcweir     ::sd::SlideView* GetSlideView() const { return mpView; }
197cdf0e10cSrcweir     ::sd::Window* GetParentWindow() const { return mpParentWindow; }
198cdf0e10cSrcweir 
199cdf0e10cSrcweir     void                        SetPageVisible( sal_uInt16 nPage, sal_Bool bVisible );
200cdf0e10cSrcweir     void                        Reset();
201cdf0e10cSrcweir     void                        FocusHasChanged( sal_uInt16 nOldFocusPage, sal_uInt16 nNewFocusPage );
202*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
203*0deba7fbSSteve Yin     void            SelectionHasChanged (sal_uInt16 nPage, sal_Bool bSelect );
204*0deba7fbSSteve Yin     //=====  XFocusListener  =================================================
205*0deba7fbSSteve Yin     virtual void SAL_CALL focusGained (const ::com::sun::star::awt::FocusEvent& e)
206*0deba7fbSSteve Yin         throw (::com::sun::star::uno::RuntimeException);
207*0deba7fbSSteve Yin     virtual void SAL_CALL focusLost (const ::com::sun::star::awt::FocusEvent& e)
208*0deba7fbSSteve Yin         throw (::com::sun::star::uno::RuntimeException);
209*0deba7fbSSteve Yin     //=====  lang::XEventListener  ============================================
210*0deba7fbSSteve Yin     virtual void SAL_CALL disposing (const struct com::sun::star::lang::EventObject &) throw (::com::sun::star::uno::RuntimeException);
211*0deba7fbSSteve Yin     // This method is called from the component helper base class while disposing.
212*0deba7fbSSteve Yin     virtual void SAL_CALL disposing (void);
213*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
214cdf0e10cSrcweir private:
215cdf0e10cSrcweir     ::osl::Mutex maMutex;
216cdf0e10cSrcweir     ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > >               maSlidePageObjects;
217cdf0e10cSrcweir     SdDrawDocument* mpDoc;
218cdf0e10cSrcweir     ::sd::SlideView* mpView;
219cdf0e10cSrcweir     ::sd::Window* mpParentWindow;
220cdf0e10cSrcweir      /// client id in the AccessibleEventNotifier queue
221cdf0e10cSrcweir     sal_uInt32 mnClientId;
222*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
223*0deba7fbSSteve Yin     sal_uInt32  nFocusPageIndex;
224*0deba7fbSSteve Yin     ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow>           mxWindow;
225*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
226cdf0e10cSrcweir 
227cdf0e10cSrcweir     // internal
228cdf0e10cSrcweir     static const ::com::sun::star::uno::Sequence< sal_Int8 >&                                   getUnoTunnelId();
229cdf0e10cSrcweir     sal_Int32                                                                                   ImplGetVisibleChildCount() const;
230cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >    ImplGetVisibleChild( sal_Int32 nVisibleChild ) const;
231cdf0e10cSrcweir 
232cdf0e10cSrcweir     // XUnoTunnel
233cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
234cdf0e10cSrcweir 
235cdf0e10cSrcweir     // XAccessible
236cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
237cdf0e10cSrcweir 
238cdf0e10cSrcweir     // XAccessibleEventBroadcaster
239cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
240cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
241cdf0e10cSrcweir 
242cdf0e10cSrcweir     // XAccessibleContext
243cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
244cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
245cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
246cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
247cdf0e10cSrcweir     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
248cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
249cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
250cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
251cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
252cdf0e10cSrcweir     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
253cdf0e10cSrcweir 
254cdf0e10cSrcweir     // XAccessibleComponent
255cdf0e10cSrcweir     virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
256cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
257cdf0e10cSrcweir     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds(  ) throw (::com::sun::star::uno::RuntimeException);
258cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocation(  ) throw (::com::sun::star::uno::RuntimeException);
259cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen(  ) throw (::com::sun::star::uno::RuntimeException);
260cdf0e10cSrcweir     virtual ::com::sun::star::awt::Size SAL_CALL getSize(  ) throw (::com::sun::star::uno::RuntimeException);
261cdf0e10cSrcweir     virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
262cdf0e10cSrcweir 
263cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getForeground (void)
264cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
265cdf0e10cSrcweir 
266cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getBackground (void)
267cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
268cdf0e10cSrcweir 
269cdf0e10cSrcweir     // XAccessibleSelection
270cdf0e10cSrcweir     virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
271cdf0e10cSrcweir     virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
272cdf0e10cSrcweir     virtual void SAL_CALL clearAccessibleSelection(  ) throw (::com::sun::star::uno::RuntimeException);
273cdf0e10cSrcweir     virtual void SAL_CALL selectAllAccessibleChildren(  ) throw (::com::sun::star::uno::RuntimeException);
274cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
275cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
276cdf0e10cSrcweir     virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
277cdf0e10cSrcweir 
278cdf0e10cSrcweir     //=====  XServiceInfo  ====================================================
279cdf0e10cSrcweir 
280*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
281*0deba7fbSSteve Yin     //----------------------------xAttribute----------------------------
282*0deba7fbSSteve Yin     virtual com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
283*0deba7fbSSteve Yin         throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
284*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
285cdf0e10cSrcweir     /** Returns an identifier for the implementation of this object.
286cdf0e10cSrcweir     */
287cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL
288cdf0e10cSrcweir         getImplementationName (void)
289cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
290cdf0e10cSrcweir 
291cdf0e10cSrcweir     /** Return whether the specified service is supported by this class.
292cdf0e10cSrcweir     */
293cdf0e10cSrcweir     virtual sal_Bool SAL_CALL
294cdf0e10cSrcweir         supportsService (const ::rtl::OUString& sServiceName)
295cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
296cdf0e10cSrcweir 
297cdf0e10cSrcweir     /** Returns a list of all supported services.
298cdf0e10cSrcweir     */
299cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
300cdf0e10cSrcweir         getSupportedServiceNames (void)
301cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
302cdf0e10cSrcweir 
303cdf0e10cSrcweir };
304cdf0e10cSrcweir 
305cdf0e10cSrcweir #endif
306