merge the formfield patch from ooo-build
[ooovba.git] / starmath / source / accessibility.hxx
blob335551aa5d6b00ed6be24c8a393a41f8f5cb5d87
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: accessibility.hxx,v $
10 * $Revision: 1.24 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifdef _MSC_VER
32 #pragma hdrstop
33 #endif
35 #ifndef _ACCESSIBILITY_HXX_
36 #define _ACCESSIBILITY_HXX_
38 //#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_
39 //#include <com/sun/star/lang/XComponent.hpp>
40 //#endif
41 #include <com/sun/star/accessibility/XAccessible.hpp>
42 #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
43 #include <com/sun/star/accessibility/XAccessibleContext.hpp>
44 #include <com/sun/star/accessibility/XAccessibleText.hpp>
45 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
46 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
47 #ifndef _COM_SUN_STAR_lang_XSERVICEINFO_HPP_
48 #include <com/sun/star/lang/XServiceInfo.hpp>
49 #endif
50 #include <com/sun/star/uno/Reference.h>
51 #include <osl/mutex.hxx>
52 #include <cppuhelper/interfacecontainer.h>
53 #include <cppuhelper/implbase5.hxx>
54 #include <cppuhelper/implbase6.hxx>
55 #include <svtools/brdcst.hxx>
57 #include <svx/editeng.hxx>
58 #include <svx/unoedsrc.hxx> // SvxEditSource, SvxTextForwarder, SvxViewForwarder, SvxEditViewForwarder
59 #include <svx/AccessibleTextHelper.hxx>
60 #include <edit.hxx>
62 class Window;
63 class SmGraphicWindow;
64 class SmEditWindow;
65 class SmDocShell;
67 namespace com { namespace sun { namespace star { namespace accessibility {
68 struct AccessibleEventObject;
69 }}}}
71 //////////////////////////////////////////////////////////////////////
73 // classes and helper-classes used for accessibility in the graphic-window
76 typedef
77 cppu::WeakImplHelper6
79 com::sun::star::lang::XServiceInfo,
80 com::sun::star::accessibility::XAccessible,
81 com::sun::star::accessibility::XAccessibleComponent,
82 com::sun::star::accessibility::XAccessibleContext,
83 com::sun::star::accessibility::XAccessibleText,
84 com::sun::star::accessibility::XAccessibleEventBroadcaster
86 SmGraphicAccessibleBaseClass;
88 class SmGraphicAccessible :
89 public SmGraphicAccessibleBaseClass
91 //vos::ORefCount aRefCount; // number of references to object
92 osl::Mutex aListenerMutex;
93 String aAccName;
94 /// client id in the AccessibleEventNotifier queue
95 sal_uInt32 nClientId;
97 SmGraphicWindow *pWin;
99 // disallow copy-ctor and assignment-operator for now
100 SmGraphicAccessible( const SmGraphicAccessible & );
101 SmGraphicAccessible & operator = ( const SmGraphicAccessible & );
103 protected:
104 SmDocShell * GetDoc_Impl();
105 String GetAccessibleText_Impl();
107 public:
108 SmGraphicAccessible( SmGraphicWindow *pGraphicWin );
109 virtual ~SmGraphicAccessible();
111 SmGraphicWindow * GetWin() { return pWin; }
112 void ClearWin(); // to be called when view is destroyed
113 void LaunchEvent(
114 const sal_Int16 nAccesibleEventId,
115 const ::com::sun::star::uno::Any &rOldVal,
116 const ::com::sun::star::uno::Any &rNewVal);
118 // XAccessible
119 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (::com::sun::star::uno::RuntimeException);
121 // XAccessibleComponent
122 virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
123 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);
124 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds( ) throw (::com::sun::star::uno::RuntimeException);
125 virtual ::com::sun::star::awt::Point SAL_CALL getLocation( ) throw (::com::sun::star::uno::RuntimeException);
126 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen( ) throw (::com::sun::star::uno::RuntimeException);
127 virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException);
128 virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException);
129 virtual sal_Int32 SAL_CALL getForeground( ) throw (::com::sun::star::uno::RuntimeException);
130 virtual sal_Int32 SAL_CALL getBackground( ) throw (::com::sun::star::uno::RuntimeException);
132 // XAccessibleContext
133 virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
134 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);
135 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException);
136 virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (::com::sun::star::uno::RuntimeException);
137 virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException);
138 virtual ::rtl::OUString SAL_CALL getAccessibleDescription( ) throw (::com::sun::star::uno::RuntimeException);
139 virtual ::rtl::OUString SAL_CALL getAccessibleName( ) throw (::com::sun::star::uno::RuntimeException);
140 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException);
141 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (::com::sun::star::uno::RuntimeException);
142 virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
144 // XAccessibleEventBroadcaster
145 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
146 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
148 // XAccessibleText
149 virtual sal_Int32 SAL_CALL getCaretPosition( ) throw (::com::sun::star::uno::RuntimeException);
150 virtual sal_Bool SAL_CALL setCaretPosition ( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
151 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
152 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);
153 virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
154 virtual sal_Int32 SAL_CALL getCharacterCount( ) throw (::com::sun::star::uno::RuntimeException);
155 virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
156 virtual ::rtl::OUString SAL_CALL getSelectedText( ) throw (::com::sun::star::uno::RuntimeException);
157 virtual sal_Int32 SAL_CALL getSelectionStart( ) throw (::com::sun::star::uno::RuntimeException);
158 virtual sal_Int32 SAL_CALL getSelectionEnd( ) throw (::com::sun::star::uno::RuntimeException);
159 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
160 virtual ::rtl::OUString SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException);
161 virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
162 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);
163 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);
164 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);
165 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
167 // XServiceInfo
168 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
169 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
170 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
173 //////////////////////////////////////////////////////////////////////
175 // classes and helper-classes used for accessibility in the command-window
178 class SmEditAccessible;
179 class SmEditSource;
180 class EditEngine;
181 class EditView;
182 class SvxFieldItem;
183 struct ESelection;
186 class SmViewForwarder :
187 public SvxViewForwarder
189 SmEditAccessible & rEditAcc;
191 // disallow copy-ctor and assignment-operator for now
192 SmViewForwarder( const SmViewForwarder & );
193 SmViewForwarder & operator = ( const SmViewForwarder & );
195 public:
196 SmViewForwarder( SmEditAccessible &rAcc );
197 virtual ~SmViewForwarder();
199 virtual BOOL IsValid() const;
200 virtual Rectangle GetVisArea() const;
201 virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const;
202 virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const;
206 class SmTextForwarder : /* analog to SvxEditEngineForwarder */
207 public SvxTextForwarder
209 SmEditAccessible & rEditAcc;
210 SmEditSource & rEditSource;
212 DECL_LINK( NotifyHdl, EENotify * );
214 // disallow copy-ctor and assignment-operator for now
215 SmTextForwarder( const SmTextForwarder & );
216 SmTextForwarder & operator = ( const SmTextForwarder & );
218 public:
219 SmTextForwarder( SmEditAccessible& rAcc, SmEditSource & rSource );
220 virtual ~SmTextForwarder();
222 virtual USHORT GetParagraphCount() const;
223 virtual USHORT GetTextLen( USHORT nParagraph ) const;
224 virtual String GetText( const ESelection& rSel ) const;
225 virtual SfxItemSet GetAttribs( const ESelection& rSel, BOOL bOnlyHardAttrib = EditEngineAttribs_All ) const;
226 virtual SfxItemSet GetParaAttribs( USHORT nPara ) const;
227 virtual void SetParaAttribs( USHORT nPara, const SfxItemSet& rSet );
228 virtual void RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
229 virtual void GetPortions( USHORT nPara, SvUShorts& rList ) const;
231 virtual USHORT GetItemState( const ESelection& rSel, USHORT nWhich ) const;
232 virtual USHORT GetItemState( USHORT nPara, USHORT nWhich ) const;
234 virtual void QuickInsertText( const String& rText, const ESelection& rSel );
235 virtual void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
236 virtual void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
237 virtual void QuickInsertLineBreak( const ESelection& rSel );
239 virtual SfxItemPool* GetPool() const;
241 virtual XubString CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, USHORT nPos, Color*& rpTxtColor, Color*& rpFldColor );
242 virtual BOOL IsValid() const;
244 virtual LanguageType GetLanguage( USHORT, USHORT ) const;
245 virtual USHORT GetFieldCount( USHORT nPara ) const;
246 virtual EFieldInfo GetFieldInfo( USHORT nPara, USHORT nField ) const;
247 virtual EBulletInfo GetBulletInfo( USHORT nPara ) const;
248 virtual Rectangle GetCharBounds( USHORT nPara, USHORT nIndex ) const;
249 virtual Rectangle GetParaBounds( USHORT nPara ) const;
250 virtual MapMode GetMapMode() const;
251 virtual OutputDevice* GetRefDevice() const;
252 virtual sal_Bool GetIndexAtPoint( const Point&, USHORT& nPara, USHORT& nIndex ) const;
253 virtual sal_Bool GetWordIndices( USHORT nPara, USHORT nIndex, USHORT& nStart, USHORT& nEnd ) const;
254 virtual sal_Bool GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const;
255 virtual USHORT GetLineCount( USHORT nPara ) const;
256 virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const;
257 virtual void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const;
258 virtual USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nLine ) const;
259 virtual sal_Bool Delete( const ESelection& );
260 virtual sal_Bool InsertText( const String&, const ESelection& );
261 virtual sal_Bool QuickFormatDoc( BOOL bFull=FALSE );
263 virtual sal_Int16 GetDepth( USHORT nPara ) const;
264 virtual sal_Bool SetDepth( USHORT nPara, sal_Int16 nNewDepth );
266 virtual const SfxItemSet* GetEmptyItemSetPtr();
267 // implementation functions for XParagraphAppend and XTextPortionAppend
268 virtual void AppendParagraph();
269 virtual xub_StrLen AppendTextPortion( USHORT nPara, const String &rText, const SfxItemSet &rSet );
271 virtual void CopyText(const SvxTextForwarder& rSource);
275 class SmEditViewForwarder : /* analog to SvxEditEngineViewForwarder */
276 public SvxEditViewForwarder
278 SmEditAccessible& rEditAcc;
280 // disallow copy-ctor and assignment-operator for now
281 SmEditViewForwarder( const SmEditViewForwarder & );
282 SmEditViewForwarder & operator = ( const SmEditViewForwarder & );
284 public:
285 SmEditViewForwarder( SmEditAccessible& rAcc );
286 virtual ~SmEditViewForwarder();
288 virtual BOOL IsValid() const;
290 virtual Rectangle GetVisArea() const;
291 virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const;
292 virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const;
294 virtual sal_Bool GetSelection( ESelection& rSelection ) const;
295 virtual sal_Bool SetSelection( const ESelection& rSelection );
296 virtual sal_Bool Copy();
297 virtual sal_Bool Cut();
298 virtual sal_Bool Paste();
302 class SmEditSource :
303 public SvxEditSource
305 SfxBroadcaster aBroadCaster;
306 SmViewForwarder aViewFwd;
307 SmTextForwarder aTextFwd;
308 SmEditViewForwarder aEditViewFwd;
310 SmEditAccessible& rEditAcc;
312 // disallow copy-ctor and assignment-operator for now
313 SmEditSource( const SmEditSource &rSrc );
314 SmEditSource & operator = ( const SmEditSource & );
316 public:
317 SmEditSource( SmEditWindow *pWin, SmEditAccessible &rAcc );
318 virtual ~SmEditSource();
320 virtual SvxEditSource* Clone() const;
321 virtual SvxTextForwarder* GetTextForwarder();
322 virtual SvxViewForwarder* GetViewForwarder();
323 virtual SvxEditViewForwarder* GetEditViewForwarder( sal_Bool bCreate = sal_False );
324 virtual void UpdateData();
325 virtual SfxBroadcaster& GetBroadcaster() const;
331 typedef
332 cppu::WeakImplHelper5
334 com::sun::star::lang::XServiceInfo,
335 com::sun::star::accessibility::XAccessible,
336 com::sun::star::accessibility::XAccessibleComponent,
337 com::sun::star::accessibility::XAccessibleContext,
338 com::sun::star::accessibility::XAccessibleEventBroadcaster
340 SmEditAccessibleBaseClass;
342 class SmEditAccessible :
343 public SmEditAccessibleBaseClass
345 osl::Mutex aListenerMutex;
346 String aAccName;
347 ::accessibility::AccessibleTextHelper *pTextHelper;
348 SmEditWindow *pWin;
350 // disallow copy-ctor and assignment-operator for now
351 SmEditAccessible( const SmEditAccessible & );
352 SmEditAccessible & operator = ( const SmEditAccessible & );
354 protected:
355 #ifdef TL_NOT_YET_USED
356 SmDocShell * GetDoc_Impl();
357 #endif //TL_NOT_YET_USED
359 public:
360 SmEditAccessible( SmEditWindow *pEditWin );
361 virtual ~SmEditAccessible();
363 ::accessibility::AccessibleTextHelper * GetTextHelper() { return pTextHelper; }
365 void Init();
366 SmEditWindow * GetWin() { return pWin; }
367 void ClearWin(); // to be called when view is destroyed
369 //! access EditEngine and EditView via the functions in the respective window
370 //! pointers may be 0 (e.g. during reload)
371 EditEngine * GetEditEngine() { return pWin ? pWin->GetEditEngine() : 0; }
372 EditView * GetEditView() { return pWin ? pWin->GetEditView() : 0; }
374 // XAccessible
375 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (::com::sun::star::uno::RuntimeException);
377 // XAccessibleComponent
378 virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
379 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);
380 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds( ) throw (::com::sun::star::uno::RuntimeException);
381 virtual ::com::sun::star::awt::Point SAL_CALL getLocation( ) throw (::com::sun::star::uno::RuntimeException);
382 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen( ) throw (::com::sun::star::uno::RuntimeException);
383 virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException);
384 virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException);
385 virtual sal_Int32 SAL_CALL getForeground( ) throw (::com::sun::star::uno::RuntimeException);
386 virtual sal_Int32 SAL_CALL getBackground( ) throw (::com::sun::star::uno::RuntimeException);
388 // XAccessibleContext
389 virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
390 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);
391 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException);
392 virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (::com::sun::star::uno::RuntimeException);
393 virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException);
394 virtual ::rtl::OUString SAL_CALL getAccessibleDescription( ) throw (::com::sun::star::uno::RuntimeException);
395 virtual ::rtl::OUString SAL_CALL getAccessibleName( ) throw (::com::sun::star::uno::RuntimeException);
396 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException);
397 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (::com::sun::star::uno::RuntimeException);
398 virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
400 // XAccessibleEventBroadcaster
401 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
402 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
404 // XServiceInfo
405 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
406 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
407 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
410 //////////////////////////////////////////////////////////////////////
412 #endif