xref: /AOO41X/main/sd/source/ui/inc/AccessibleSlideView.hxx (revision 4d7c9de063a797b8b4f3d45e3561e82ad1f8ef1f)
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 #include <cppuhelper/implbase9.hxx>
29*0deba7fbSSteve Yin //#include <cppuhelper/implbase7.hxx>
30cdf0e10cSrcweir #include "SlideView.hxx"
31cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp>
32cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessible.hpp>
33cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleContext.hpp>
34cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
35cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
36cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
37cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
38cdf0e10cSrcweir 
39*0deba7fbSSteve Yin #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
40cdf0e10cSrcweir #include <vector>
41cdf0e10cSrcweir 
42cdf0e10cSrcweir class SdDrawDocument;
43cdf0e10cSrcweir class AccessibleSlideView;
44cdf0e10cSrcweir 
45cdf0e10cSrcweir namespace sd {
46cdf0e10cSrcweir class SlideView;
47cdf0e10cSrcweir class Window;
48cdf0e10cSrcweir }
49cdf0e10cSrcweir 
50cdf0e10cSrcweir // -----------------------------
51cdf0e10cSrcweir // - AccessibleSlideViewObject -
52cdf0e10cSrcweir // -----------------------------
53cdf0e10cSrcweir 
54cdf0e10cSrcweir class AccessibleSlideViewObject : public ::cppu::WeakImplHelper6<
55cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
56cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessible,
57cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
58cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleContext,
59cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleComponent,
60cdf0e10cSrcweir     ::com::sun::star::lang::XServiceInfo >
61cdf0e10cSrcweir {
62cdf0e10cSrcweir private:
63cdf0e10cSrcweir 
64cdf0e10cSrcweir     ::osl::Mutex                                                                                                            maMutex;
65cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >                                mxParent;
66cdf0e10cSrcweir     AccessibleSlideView*                                                                                                    mpManager;
67cdf0e10cSrcweir     /// client id in the AccessibleEventNotifier queue
68cdf0e10cSrcweir     sal_uInt32                                                                                                              mnClientId;
69cdf0e10cSrcweir 	sal_uInt16		                                                                                                        mnPage;
70cdf0e10cSrcweir 	sal_Bool		                                                                                                        mbVisible;
71cdf0e10cSrcweir     sal_Bool                                                                                                                mbValid;
72cdf0e10cSrcweir 
73cdf0e10cSrcweir private:
74cdf0e10cSrcweir 
75cdf0e10cSrcweir 	// Misc
76cdf0e10cSrcweir     static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
77cdf0e10cSrcweir 
78cdf0e10cSrcweir     // XUnoTunnel
79cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
80cdf0e10cSrcweir 
81cdf0e10cSrcweir     // XAccessible
82cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
83cdf0e10cSrcweir 
84cdf0e10cSrcweir     // XAccessibleEventBroadcaster
85cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
86cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
87cdf0e10cSrcweir 
88cdf0e10cSrcweir     // XAccessibleContext
89cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
90cdf0e10cSrcweir     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);
91cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
92cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
93cdf0e10cSrcweir     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
94cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
95cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
96cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
97cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
98cdf0e10cSrcweir     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
99cdf0e10cSrcweir 
100cdf0e10cSrcweir     // XAccessibleComponent
101cdf0e10cSrcweir     virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
102cdf0e10cSrcweir     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);
103cdf0e10cSrcweir     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds(  ) throw (::com::sun::star::uno::RuntimeException);
104cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocation(  ) throw (::com::sun::star::uno::RuntimeException);
105cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen(  ) throw (::com::sun::star::uno::RuntimeException);
106cdf0e10cSrcweir     virtual ::com::sun::star::awt::Size SAL_CALL getSize(  ) throw (::com::sun::star::uno::RuntimeException);
107cdf0e10cSrcweir     virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
108cdf0e10cSrcweir 
109cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getForeground (void)
110cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
111cdf0e10cSrcweir 
112cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getBackground (void)
113cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 	//=====  XServiceInfo  ====================================================
116cdf0e10cSrcweir 
117cdf0e10cSrcweir     /**	Returns an identifier for the implementation of this object.
118cdf0e10cSrcweir     */
119cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL
120cdf0e10cSrcweir     	getImplementationName (void)
121cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
122cdf0e10cSrcweir 
123cdf0e10cSrcweir     /**	Return whether the specified service is supported by this class.
124cdf0e10cSrcweir     */
125cdf0e10cSrcweir     virtual sal_Bool SAL_CALL
126cdf0e10cSrcweir     	supportsService (const ::rtl::OUString& sServiceName)
127cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
128cdf0e10cSrcweir 
129cdf0e10cSrcweir     /** Returns a list of all supported services.
130cdf0e10cSrcweir     */
131cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
132cdf0e10cSrcweir     	getSupportedServiceNames (void)
133cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
134cdf0e10cSrcweir 
135cdf0e10cSrcweir public:
136cdf0e10cSrcweir 
137cdf0e10cSrcweir     static AccessibleSlideViewObject* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxData ) throw();
138cdf0e10cSrcweir 
139cdf0e10cSrcweir public:
140cdf0e10cSrcweir 
141cdf0e10cSrcweir 					            AccessibleSlideViewObject( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent, sal_uInt16 nPage, sal_Bool bVisible );
142cdf0e10cSrcweir 					            ~AccessibleSlideViewObject();
143cdf0e10cSrcweir 
144cdf0e10cSrcweir     void                        FireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
145cdf0e10cSrcweir 
146cdf0e10cSrcweir     /** This method acts like a dispose call.  It sends a disposing to all
147cdf0e10cSrcweir         of its listeners.  It may be called twice.
148cdf0e10cSrcweir     */
149cdf0e10cSrcweir     void Destroyed (void);
150cdf0e10cSrcweir 
GetPageNum() const151cdf0e10cSrcweir     sal_uInt16                  GetPageNum() const { return mnPage; }
152cdf0e10cSrcweir 
153cdf0e10cSrcweir     void			            SetVisible( sal_Bool bVisible );
154cdf0e10cSrcweir 	sal_Bool		            IsVisible() const;
155cdf0e10cSrcweir };
156cdf0e10cSrcweir 
157cdf0e10cSrcweir // -----------------------
158cdf0e10cSrcweir // - AccessibleSlideView -
159cdf0e10cSrcweir // -----------------------
160cdf0e10cSrcweir 
161*0deba7fbSSteve Yin class AccessibleSlideView : public ::cppu::WeakImplHelper9<
162cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
163cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessible,
164cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
165cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleContext,
166cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleComponent,
167cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleSelection,
168*0deba7fbSSteve Yin     ::com::sun::star::lang::XServiceInfo
169*0deba7fbSSteve Yin 	,::com::sun::star::accessibility::XAccessibleExtendedAttributes
170*0deba7fbSSteve Yin 	,::com::sun::star::awt::XFocusListener >
171cdf0e10cSrcweir {
172cdf0e10cSrcweir public:
173cdf0e10cSrcweir 
174cdf0e10cSrcweir     static AccessibleSlideView* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxData ) throw();
175cdf0e10cSrcweir 
176cdf0e10cSrcweir     AccessibleSlideView(
177cdf0e10cSrcweir         SdDrawDocument& rDoc,
178cdf0e10cSrcweir         ::sd::SlideView& rView,
179cdf0e10cSrcweir         ::sd::Window& rParentWindow);
180cdf0e10cSrcweir     virtual ~AccessibleSlideView (void);
181cdf0e10cSrcweir 
182cdf0e10cSrcweir     void                        FireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
183cdf0e10cSrcweir 
184cdf0e10cSrcweir     /** This method acts like a dispose call.  It sends a disposing to all
185cdf0e10cSrcweir         of its listeners.  It may be called twice.
186cdf0e10cSrcweir     */
187cdf0e10cSrcweir     void Destroyed (void);
188cdf0e10cSrcweir 
GetDrawDocument() const189cdf0e10cSrcweir     SdDrawDocument*             GetDrawDocument() const { return mpDoc; }
GetSlideView() const190cdf0e10cSrcweir     ::sd::SlideView* GetSlideView() const { return mpView; }
GetParentWindow() const191cdf0e10cSrcweir     ::sd::Window* GetParentWindow() const { return mpParentWindow; }
192cdf0e10cSrcweir 
193cdf0e10cSrcweir 	void			            SetPageVisible( sal_uInt16 nPage, sal_Bool bVisible );
194cdf0e10cSrcweir 	void			            Reset();
195cdf0e10cSrcweir     void                        FocusHasChanged( sal_uInt16 nOldFocusPage, sal_uInt16 nNewFocusPage );
196*0deba7fbSSteve Yin 	void 			SelectionHasChanged (sal_uInt16 nPage, sal_Bool bSelect );
197*0deba7fbSSteve Yin 	//=====  XFocusListener  =================================================
198*0deba7fbSSteve Yin 	virtual void SAL_CALL focusGained (const ::com::sun::star::awt::FocusEvent& e)
199*0deba7fbSSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
200*0deba7fbSSteve Yin 	virtual void SAL_CALL focusLost (const ::com::sun::star::awt::FocusEvent& e)
201*0deba7fbSSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
202*0deba7fbSSteve Yin 	//=====  lang::XEventListener  ============================================
203*0deba7fbSSteve Yin 	virtual void SAL_CALL disposing (const struct com::sun::star::lang::EventObject &) throw (::com::sun::star::uno::RuntimeException);
204*0deba7fbSSteve Yin 	// This method is called from the component helper base class while disposing.
205*0deba7fbSSteve Yin 	virtual void SAL_CALL disposing (void);
206cdf0e10cSrcweir private:
207cdf0e10cSrcweir     ::osl::Mutex maMutex;
208cdf0e10cSrcweir 	::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > >               maSlidePageObjects;
209cdf0e10cSrcweir     SdDrawDocument* mpDoc;
210cdf0e10cSrcweir 	::sd::SlideView* mpView;
211cdf0e10cSrcweir     ::sd::Window* mpParentWindow;
212cdf0e10cSrcweir      /// client id in the AccessibleEventNotifier queue
213cdf0e10cSrcweir     sal_uInt32 mnClientId;
214*0deba7fbSSteve Yin 	sal_uInt32	nFocusPageIndex;
215*0deba7fbSSteve Yin 	::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow>			mxWindow;
216cdf0e10cSrcweir 
217cdf0e10cSrcweir     // internal
218cdf0e10cSrcweir 	static const ::com::sun::star::uno::Sequence< sal_Int8 >&                                   getUnoTunnelId();
219cdf0e10cSrcweir     sal_Int32                                                                                   ImplGetVisibleChildCount() const;
220cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >    ImplGetVisibleChild( sal_Int32 nVisibleChild ) const;
221cdf0e10cSrcweir 
222cdf0e10cSrcweir     // XUnoTunnel
223cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
224cdf0e10cSrcweir 
225cdf0e10cSrcweir     // XAccessible
226cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
227cdf0e10cSrcweir 
228cdf0e10cSrcweir     // XAccessibleEventBroadcaster
229cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
230cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
231cdf0e10cSrcweir 
232cdf0e10cSrcweir     // XAccessibleContext
233cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
234cdf0e10cSrcweir     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);
235cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
236cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
237cdf0e10cSrcweir     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
238cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
239cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
240cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
241cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
242cdf0e10cSrcweir     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
243cdf0e10cSrcweir 
244cdf0e10cSrcweir     // XAccessibleComponent
245cdf0e10cSrcweir     virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
246cdf0e10cSrcweir     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);
247cdf0e10cSrcweir     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds(  ) throw (::com::sun::star::uno::RuntimeException);
248cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocation(  ) throw (::com::sun::star::uno::RuntimeException);
249cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen(  ) throw (::com::sun::star::uno::RuntimeException);
250cdf0e10cSrcweir     virtual ::com::sun::star::awt::Size SAL_CALL getSize(  ) throw (::com::sun::star::uno::RuntimeException);
251cdf0e10cSrcweir     virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
252cdf0e10cSrcweir 
253cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getForeground (void)
254cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
255cdf0e10cSrcweir 
256cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getBackground (void)
257cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
258cdf0e10cSrcweir 
259cdf0e10cSrcweir     // XAccessibleSelection
260cdf0e10cSrcweir     virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
261cdf0e10cSrcweir     virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
262cdf0e10cSrcweir     virtual void SAL_CALL clearAccessibleSelection(  ) throw (::com::sun::star::uno::RuntimeException);
263cdf0e10cSrcweir     virtual void SAL_CALL selectAllAccessibleChildren(  ) throw (::com::sun::star::uno::RuntimeException);
264cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
265cdf0e10cSrcweir     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);
266cdf0e10cSrcweir     virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
267cdf0e10cSrcweir 
268cdf0e10cSrcweir 	//=====  XServiceInfo  ====================================================
269cdf0e10cSrcweir 
270*0deba7fbSSteve Yin 	//----------------------------xAttribute----------------------------
271*0deba7fbSSteve Yin 	virtual com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
272*0deba7fbSSteve Yin 		throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
273cdf0e10cSrcweir     /**	Returns an identifier for the implementation of this object.
274cdf0e10cSrcweir     */
275cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL
276cdf0e10cSrcweir     	getImplementationName (void)
277cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
278cdf0e10cSrcweir 
279cdf0e10cSrcweir     /**	Return whether the specified service is supported by this class.
280cdf0e10cSrcweir     */
281cdf0e10cSrcweir     virtual sal_Bool SAL_CALL
282cdf0e10cSrcweir     	supportsService (const ::rtl::OUString& sServiceName)
283cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
284cdf0e10cSrcweir 
285cdf0e10cSrcweir     /** Returns a list of all supported services.
286cdf0e10cSrcweir     */
287cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
288cdf0e10cSrcweir     	getSupportedServiceNames (void)
289cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
290cdf0e10cSrcweir 
291cdf0e10cSrcweir };
292cdf0e10cSrcweir 
293cdf0e10cSrcweir #endif
294