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