1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifdef _MSC_VER 25 #pragma hdrstop 26 #endif 27 28 #ifndef _ACCESSIBILITY_HXX_ 29 #define _ACCESSIBILITY_HXX_ 30 31 //#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_ 32 //#include <com/sun/star/lang/XComponent.hpp> 33 //#endif 34 #include <com/sun/star/accessibility/XAccessible.hpp> 35 #include <com/sun/star/accessibility/XAccessibleComponent.hpp> 36 #include <com/sun/star/accessibility/XAccessibleContext.hpp> 37 #include <com/sun/star/accessibility/XAccessibleText.hpp> 38 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> 39 #include <com/sun/star/accessibility/AccessibleEventId.hpp> 40 #ifndef _COM_SUN_STAR_lang_XSERVICEINFO_HPP_ 41 #include <com/sun/star/lang/XServiceInfo.hpp> 42 #endif 43 #include <com/sun/star/uno/Reference.h> 44 #include <osl/mutex.hxx> 45 #include <cppuhelper/interfacecontainer.h> 46 #include <cppuhelper/implbase5.hxx> 47 #include <cppuhelper/implbase6.hxx> 48 #include <svl/brdcst.hxx> 49 50 #include <editeng/editeng.hxx> 51 #include <editeng/unoedsrc.hxx> // SvxEditSource, SvxTextForwarder, SvxViewForwarder, SvxEditViewForwarder 52 #include <svx/AccessibleTextHelper.hxx> 53 #include <edit.hxx> 54 55 class Window; 56 class SmGraphicWindow; 57 class SmEditWindow; 58 class SmDocShell; 59 60 namespace com { namespace sun { namespace star { namespace accessibility { 61 struct AccessibleEventObject; 62 }}}} 63 64 ////////////////////////////////////////////////////////////////////// 65 // 66 // classes and helper-classes used for accessibility in the graphic-window 67 // 68 69 typedef 70 cppu::WeakImplHelper6 71 < 72 com::sun::star::lang::XServiceInfo, 73 com::sun::star::accessibility::XAccessible, 74 com::sun::star::accessibility::XAccessibleComponent, 75 com::sun::star::accessibility::XAccessibleContext, 76 com::sun::star::accessibility::XAccessibleText, 77 com::sun::star::accessibility::XAccessibleEventBroadcaster 78 > 79 SmGraphicAccessibleBaseClass; 80 81 class SmGraphicAccessible : 82 public SmGraphicAccessibleBaseClass 83 { 84 //vos::ORefCount aRefCount; // number of references to object 85 osl::Mutex aListenerMutex; 86 String aAccName; 87 /// client id in the AccessibleEventNotifier queue 88 sal_uInt32 nClientId; 89 90 SmGraphicWindow *pWin; 91 92 // disallow copy-ctor and assignment-operator for now 93 SmGraphicAccessible( const SmGraphicAccessible & ); 94 SmGraphicAccessible & operator = ( const SmGraphicAccessible & ); 95 96 protected: 97 SmDocShell * GetDoc_Impl(); 98 String GetAccessibleText_Impl(); 99 100 public: 101 SmGraphicAccessible( SmGraphicWindow *pGraphicWin ); 102 virtual ~SmGraphicAccessible(); 103 GetWin()104 SmGraphicWindow * GetWin() { return pWin; } 105 void ClearWin(); // to be called when view is destroyed 106 void LaunchEvent( 107 const sal_Int16 nAccesibleEventId, 108 const ::com::sun::star::uno::Any &rOldVal, 109 const ::com::sun::star::uno::Any &rNewVal); 110 111 // XAccessible 112 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (::com::sun::star::uno::RuntimeException); 113 114 // XAccessibleComponent 115 virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException); 116 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); 117 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds( ) throw (::com::sun::star::uno::RuntimeException); 118 virtual ::com::sun::star::awt::Point SAL_CALL getLocation( ) throw (::com::sun::star::uno::RuntimeException); 119 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen( ) throw (::com::sun::star::uno::RuntimeException); 120 virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException); 121 virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException); 122 virtual sal_Int32 SAL_CALL getForeground( ) throw (::com::sun::star::uno::RuntimeException); 123 virtual sal_Int32 SAL_CALL getBackground( ) throw (::com::sun::star::uno::RuntimeException); 124 125 // XAccessibleContext 126 virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException); 127 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); 128 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException); 129 virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (::com::sun::star::uno::RuntimeException); 130 virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException); 131 virtual ::rtl::OUString SAL_CALL getAccessibleDescription( ) throw (::com::sun::star::uno::RuntimeException); 132 virtual ::rtl::OUString SAL_CALL getAccessibleName( ) throw (::com::sun::star::uno::RuntimeException); 133 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException); 134 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (::com::sun::star::uno::RuntimeException); 135 virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException); 136 137 // XAccessibleEventBroadcaster 138 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 139 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 140 141 // XAccessibleText 142 virtual sal_Int32 SAL_CALL getCaretPosition( ) throw (::com::sun::star::uno::RuntimeException); 143 virtual sal_Bool SAL_CALL setCaretPosition ( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 144 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 145 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 146 virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 147 virtual sal_Int32 SAL_CALL getCharacterCount( ) throw (::com::sun::star::uno::RuntimeException); 148 virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException); 149 virtual ::rtl::OUString SAL_CALL getSelectedText( ) throw (::com::sun::star::uno::RuntimeException); 150 virtual sal_Int32 SAL_CALL getSelectionStart( ) throw (::com::sun::star::uno::RuntimeException); 151 virtual sal_Int32 SAL_CALL getSelectionEnd( ) throw (::com::sun::star::uno::RuntimeException); 152 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 153 virtual ::rtl::OUString SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException); 154 virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 155 virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 156 virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 157 virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 158 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 159 160 // XServiceInfo 161 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); 162 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException); 163 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); 164 }; 165 166 ////////////////////////////////////////////////////////////////////// 167 // 168 // classes and helper-classes used for accessibility in the command-window 169 // 170 171 class SmEditAccessible; 172 class SmEditSource; 173 class EditEngine; 174 class EditView; 175 class SvxFieldItem; 176 struct ESelection; 177 178 179 class SmViewForwarder : 180 public SvxViewForwarder 181 { 182 SmEditAccessible & rEditAcc; 183 184 // disallow copy-ctor and assignment-operator for now 185 SmViewForwarder( const SmViewForwarder & ); 186 SmViewForwarder & operator = ( const SmViewForwarder & ); 187 188 public: 189 SmViewForwarder( SmEditAccessible &rAcc ); 190 virtual ~SmViewForwarder(); 191 192 virtual sal_Bool IsValid() const; 193 virtual Rectangle GetVisArea() const; 194 virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const; 195 virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const; 196 }; 197 198 199 class SmTextForwarder : /* analog to SvxEditEngineForwarder */ 200 public SvxTextForwarder 201 { 202 SmEditAccessible & rEditAcc; 203 SmEditSource & rEditSource; 204 205 DECL_LINK( NotifyHdl, EENotify * ); 206 207 // disallow copy-ctor and assignment-operator for now 208 SmTextForwarder( const SmTextForwarder & ); 209 SmTextForwarder & operator = ( const SmTextForwarder & ); 210 211 public: 212 SmTextForwarder( SmEditAccessible& rAcc, SmEditSource & rSource ); 213 virtual ~SmTextForwarder(); 214 215 virtual sal_uInt16 GetParagraphCount() const; 216 virtual sal_uInt16 GetTextLen( sal_uInt16 nParagraph ) const; 217 virtual String GetText( const ESelection& rSel ) const; 218 virtual SfxItemSet GetAttribs( const ESelection& rSel, sal_Bool bOnlyHardAttrib = EditEngineAttribs_All ) const; 219 virtual SfxItemSet GetParaAttribs( sal_uInt16 nPara ) const; 220 virtual void SetParaAttribs( sal_uInt16 nPara, const SfxItemSet& rSet ); 221 virtual void RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich ); 222 virtual void GetPortions( sal_uInt16 nPara, SvUShorts& rList ) const; 223 224 virtual sal_uInt16 GetItemState( const ESelection& rSel, sal_uInt16 nWhich ) const; 225 virtual sal_uInt16 GetItemState( sal_uInt16 nPara, sal_uInt16 nWhich ) const; 226 227 virtual void QuickInsertText( const String& rText, const ESelection& rSel ); 228 virtual void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel ); 229 virtual void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel ); 230 virtual void QuickInsertLineBreak( const ESelection& rSel ); 231 232 virtual SfxItemPool* GetPool() const; 233 234 virtual XubString CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, Color*& rpTxtColor, Color*& rpFldColor ); 235 virtual void FieldClicked(const SvxFieldItem&, sal_uInt16, sal_uInt16); 236 virtual sal_Bool IsValid() const; 237 238 virtual LanguageType GetLanguage( sal_uInt16, sal_uInt16 ) const; 239 virtual sal_uInt16 GetFieldCount( sal_uInt16 nPara ) const; 240 virtual EFieldInfo GetFieldInfo( sal_uInt16 nPara, sal_uInt16 nField ) const; 241 virtual EBulletInfo GetBulletInfo( sal_uInt16 nPara ) const; 242 virtual Rectangle GetCharBounds( sal_uInt16 nPara, sal_uInt16 nIndex ) const; 243 virtual Rectangle GetParaBounds( sal_uInt16 nPara ) const; 244 virtual MapMode GetMapMode() const; 245 virtual OutputDevice* GetRefDevice() const; 246 virtual sal_Bool GetIndexAtPoint( const Point&, sal_uInt16& nPara, sal_uInt16& nIndex ) const; 247 virtual sal_Bool GetWordIndices( sal_uInt16 nPara, sal_uInt16 nIndex, sal_uInt16& nStart, sal_uInt16& nEnd ) const; 248 virtual sal_Bool GetAttributeRun( sal_uInt16& nStartIndex, sal_uInt16& nEndIndex, sal_uInt16 nPara, sal_uInt16 nIndex, sal_Bool bInCell = sal_False ) const; 249 virtual sal_uInt16 GetLineCount( sal_uInt16 nPara ) const; 250 virtual sal_uInt16 GetLineLen( sal_uInt16 nPara, sal_uInt16 nLine ) const; 251 virtual void GetLineBoundaries( /*out*/sal_uInt16 &rStart, /*out*/sal_uInt16 &rEnd, sal_uInt16 nParagraph, sal_uInt16 nLine ) const; 252 virtual sal_uInt16 GetLineNumberAtIndex( sal_uInt16 nPara, sal_uInt16 nLine ) const; 253 virtual sal_Bool Delete( const ESelection& ); 254 virtual sal_Bool InsertText( const String&, const ESelection& ); 255 virtual sal_Bool QuickFormatDoc( sal_Bool bFull=sal_False ); 256 257 virtual sal_Int16 GetDepth( sal_uInt16 nPara ) const; 258 virtual sal_Bool SetDepth( sal_uInt16 nPara, sal_Int16 nNewDepth ); 259 260 virtual const SfxItemSet* GetEmptyItemSetPtr(); 261 // implementation functions for XParagraphAppend and XTextPortionAppend 262 virtual void AppendParagraph(); 263 virtual xub_StrLen AppendTextPortion( sal_uInt16 nPara, const String &rText, const SfxItemSet &rSet ); 264 265 virtual void CopyText(const SvxTextForwarder& rSource); 266 }; 267 268 269 class SmEditViewForwarder : /* analog to SvxEditEngineViewForwarder */ 270 public SvxEditViewForwarder 271 { 272 SmEditAccessible& rEditAcc; 273 274 // disallow copy-ctor and assignment-operator for now 275 SmEditViewForwarder( const SmEditViewForwarder & ); 276 SmEditViewForwarder & operator = ( const SmEditViewForwarder & ); 277 278 public: 279 SmEditViewForwarder( SmEditAccessible& rAcc ); 280 virtual ~SmEditViewForwarder(); 281 282 virtual sal_Bool IsValid() const; 283 284 virtual Rectangle GetVisArea() const; 285 virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const; 286 virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const; 287 288 virtual sal_Bool GetSelection( ESelection& rSelection ) const; 289 virtual sal_Bool SetSelection( const ESelection& rSelection ); 290 virtual sal_Bool Copy(); 291 virtual sal_Bool Cut(); 292 virtual sal_Bool Paste(); 293 }; 294 295 296 class SmEditSource : 297 public SvxEditSource 298 { 299 SfxBroadcaster aBroadCaster; 300 SmViewForwarder aViewFwd; 301 SmTextForwarder aTextFwd; 302 SmEditViewForwarder aEditViewFwd; 303 304 SmEditAccessible& rEditAcc; 305 306 // disallow copy-ctor and assignment-operator for now 307 SmEditSource( const SmEditSource &rSrc ); 308 SmEditSource & operator = ( const SmEditSource & ); 309 310 public: 311 SmEditSource( SmEditWindow *pWin, SmEditAccessible &rAcc ); 312 virtual ~SmEditSource(); 313 314 virtual SvxEditSource* Clone() const; 315 virtual SvxTextForwarder* GetTextForwarder(); 316 virtual SvxViewForwarder* GetViewForwarder(); 317 virtual SvxEditViewForwarder* GetEditViewForwarder( sal_Bool bCreate = sal_False ); 318 virtual void UpdateData(); 319 virtual SfxBroadcaster& GetBroadcaster() const; 320 }; 321 322 323 324 325 typedef 326 cppu::WeakImplHelper5 327 < 328 com::sun::star::lang::XServiceInfo, 329 com::sun::star::accessibility::XAccessible, 330 com::sun::star::accessibility::XAccessibleComponent, 331 com::sun::star::accessibility::XAccessibleContext, 332 com::sun::star::accessibility::XAccessibleEventBroadcaster 333 > 334 SmEditAccessibleBaseClass; 335 336 class SmEditAccessible : 337 public SmEditAccessibleBaseClass 338 { 339 osl::Mutex aListenerMutex; 340 String aAccName; 341 ::accessibility::AccessibleTextHelper *pTextHelper; 342 SmEditWindow *pWin; 343 344 // disallow copy-ctor and assignment-operator for now 345 SmEditAccessible( const SmEditAccessible & ); 346 SmEditAccessible & operator = ( const SmEditAccessible & ); 347 348 protected: 349 #ifdef TL_NOT_YET_USED 350 SmDocShell * GetDoc_Impl(); 351 #endif //TL_NOT_YET_USED 352 353 public: 354 SmEditAccessible( SmEditWindow *pEditWin ); 355 virtual ~SmEditAccessible(); 356 GetTextHelper()357 ::accessibility::AccessibleTextHelper * GetTextHelper() { return pTextHelper; } 358 359 void Init(); GetWin()360 SmEditWindow * GetWin() { return pWin; } 361 void ClearWin(); // to be called when view is destroyed 362 363 //! access EditEngine and EditView via the functions in the respective window 364 //! pointers may be 0 (e.g. during reload) GetEditEngine()365 EditEngine * GetEditEngine() { return pWin ? pWin->GetEditEngine() : 0; } GetEditView()366 EditView * GetEditView() { return pWin ? pWin->GetEditView() : 0; } 367 368 // XAccessible 369 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (::com::sun::star::uno::RuntimeException); 370 371 // XAccessibleComponent 372 virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException); 373 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); 374 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds( ) throw (::com::sun::star::uno::RuntimeException); 375 virtual ::com::sun::star::awt::Point SAL_CALL getLocation( ) throw (::com::sun::star::uno::RuntimeException); 376 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen( ) throw (::com::sun::star::uno::RuntimeException); 377 virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException); 378 virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException); 379 virtual sal_Int32 SAL_CALL getForeground( ) throw (::com::sun::star::uno::RuntimeException); 380 virtual sal_Int32 SAL_CALL getBackground( ) throw (::com::sun::star::uno::RuntimeException); 381 382 // XAccessibleContext 383 virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException); 384 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); 385 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException); 386 virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (::com::sun::star::uno::RuntimeException); 387 virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException); 388 virtual ::rtl::OUString SAL_CALL getAccessibleDescription( ) throw (::com::sun::star::uno::RuntimeException); 389 virtual ::rtl::OUString SAL_CALL getAccessibleName( ) throw (::com::sun::star::uno::RuntimeException); 390 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException); 391 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (::com::sun::star::uno::RuntimeException); 392 virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException); 393 394 // XAccessibleEventBroadcaster 395 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 396 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 397 398 // XServiceInfo 399 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); 400 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException); 401 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); 402 }; 403 404 ////////////////////////////////////////////////////////////////////// 405 406 #endif 407 408