CWS-TOOLING: integrate CWS tl88
[LibreOffice.git] / starmath / source / accessibility.hxx
blob7cf37516880ce05fc2882f60590a5899dd4c038a
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifdef _MSC_VER
29 #pragma hdrstop
30 #endif
32 #ifndef _ACCESSIBILITY_HXX_
33 #define _ACCESSIBILITY_HXX_
35 //#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_
36 //#include <com/sun/star/lang/XComponent.hpp>
37 //#endif
38 #include <com/sun/star/accessibility/XAccessible.hpp>
39 #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
40 #include <com/sun/star/accessibility/XAccessibleContext.hpp>
41 #include <com/sun/star/accessibility/XAccessibleText.hpp>
42 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
43 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
44 #ifndef _COM_SUN_STAR_lang_XSERVICEINFO_HPP_
45 #include <com/sun/star/lang/XServiceInfo.hpp>
46 #endif
47 #include <com/sun/star/uno/Reference.h>
48 #include <osl/mutex.hxx>
49 #include <cppuhelper/interfacecontainer.h>
50 #include <cppuhelper/implbase5.hxx>
51 #include <cppuhelper/implbase6.hxx>
52 #include <svl/brdcst.hxx>
54 #include <editeng/editeng.hxx>
55 #include <editeng/unoedsrc.hxx> // SvxEditSource, SvxTextForwarder, SvxViewForwarder, SvxEditViewForwarder
56 #include <svx/AccessibleTextHelper.hxx>
57 #include <edit.hxx>
59 class Window;
60 class SmGraphicWindow;
61 class SmEditWindow;
62 class SmDocShell;
64 namespace com { namespace sun { namespace star { namespace accessibility {
65 struct AccessibleEventObject;
66 }}}}
68 //////////////////////////////////////////////////////////////////////
70 // classes and helper-classes used for accessibility in the graphic-window
73 typedef
74 cppu::WeakImplHelper6
76 com::sun::star::lang::XServiceInfo,
77 com::sun::star::accessibility::XAccessible,
78 com::sun::star::accessibility::XAccessibleComponent,
79 com::sun::star::accessibility::XAccessibleContext,
80 com::sun::star::accessibility::XAccessibleText,
81 com::sun::star::accessibility::XAccessibleEventBroadcaster
83 SmGraphicAccessibleBaseClass;
85 class SmGraphicAccessible :
86 public SmGraphicAccessibleBaseClass
88 //vos::ORefCount aRefCount; // number of references to object
89 osl::Mutex aListenerMutex;
90 String aAccName;
91 /// client id in the AccessibleEventNotifier queue
92 sal_uInt32 nClientId;
94 SmGraphicWindow *pWin;
96 // disallow copy-ctor and assignment-operator for now
97 SmGraphicAccessible( const SmGraphicAccessible & );
98 SmGraphicAccessible & operator = ( const SmGraphicAccessible & );
100 protected:
101 SmDocShell * GetDoc_Impl();
102 String GetAccessibleText_Impl();
104 public:
105 SmGraphicAccessible( SmGraphicWindow *pGraphicWin );
106 virtual ~SmGraphicAccessible();
108 SmGraphicWindow * GetWin() { return pWin; }
109 void ClearWin(); // to be called when view is destroyed
110 void LaunchEvent(
111 const sal_Int16 nAccesibleEventId,
112 const ::com::sun::star::uno::Any &rOldVal,
113 const ::com::sun::star::uno::Any &rNewVal);
115 // XAccessible
116 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (::com::sun::star::uno::RuntimeException);
118 // XAccessibleComponent
119 virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
120 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);
121 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds( ) throw (::com::sun::star::uno::RuntimeException);
122 virtual ::com::sun::star::awt::Point SAL_CALL getLocation( ) throw (::com::sun::star::uno::RuntimeException);
123 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen( ) throw (::com::sun::star::uno::RuntimeException);
124 virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException);
125 virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException);
126 virtual sal_Int32 SAL_CALL getForeground( ) throw (::com::sun::star::uno::RuntimeException);
127 virtual sal_Int32 SAL_CALL getBackground( ) throw (::com::sun::star::uno::RuntimeException);
129 // XAccessibleContext
130 virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
131 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);
132 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException);
133 virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (::com::sun::star::uno::RuntimeException);
134 virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException);
135 virtual ::rtl::OUString SAL_CALL getAccessibleDescription( ) throw (::com::sun::star::uno::RuntimeException);
136 virtual ::rtl::OUString SAL_CALL getAccessibleName( ) throw (::com::sun::star::uno::RuntimeException);
137 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException);
138 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (::com::sun::star::uno::RuntimeException);
139 virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
141 // XAccessibleEventBroadcaster
142 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
143 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
145 // XAccessibleText
146 virtual sal_Int32 SAL_CALL getCaretPosition( ) throw (::com::sun::star::uno::RuntimeException);
147 virtual sal_Bool SAL_CALL setCaretPosition ( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
148 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
149 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);
150 virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
151 virtual sal_Int32 SAL_CALL getCharacterCount( ) throw (::com::sun::star::uno::RuntimeException);
152 virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
153 virtual ::rtl::OUString SAL_CALL getSelectedText( ) throw (::com::sun::star::uno::RuntimeException);
154 virtual sal_Int32 SAL_CALL getSelectionStart( ) throw (::com::sun::star::uno::RuntimeException);
155 virtual sal_Int32 SAL_CALL getSelectionEnd( ) throw (::com::sun::star::uno::RuntimeException);
156 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
157 virtual ::rtl::OUString SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException);
158 virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
159 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);
160 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);
161 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);
162 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
164 // XServiceInfo
165 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
166 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
167 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
170 //////////////////////////////////////////////////////////////////////
172 // classes and helper-classes used for accessibility in the command-window
175 class SmEditAccessible;
176 class SmEditSource;
177 class EditEngine;
178 class EditView;
179 class SvxFieldItem;
180 struct ESelection;
183 class SmViewForwarder :
184 public SvxViewForwarder
186 SmEditAccessible & rEditAcc;
188 // disallow copy-ctor and assignment-operator for now
189 SmViewForwarder( const SmViewForwarder & );
190 SmViewForwarder & operator = ( const SmViewForwarder & );
192 public:
193 SmViewForwarder( SmEditAccessible &rAcc );
194 virtual ~SmViewForwarder();
196 virtual BOOL IsValid() const;
197 virtual Rectangle GetVisArea() const;
198 virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const;
199 virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const;
203 class SmTextForwarder : /* analog to SvxEditEngineForwarder */
204 public SvxTextForwarder
206 SmEditAccessible & rEditAcc;
207 SmEditSource & rEditSource;
209 DECL_LINK( NotifyHdl, EENotify * );
211 // disallow copy-ctor and assignment-operator for now
212 SmTextForwarder( const SmTextForwarder & );
213 SmTextForwarder & operator = ( const SmTextForwarder & );
215 public:
216 SmTextForwarder( SmEditAccessible& rAcc, SmEditSource & rSource );
217 virtual ~SmTextForwarder();
219 virtual USHORT GetParagraphCount() const;
220 virtual USHORT GetTextLen( USHORT nParagraph ) const;
221 virtual String GetText( const ESelection& rSel ) const;
222 virtual SfxItemSet GetAttribs( const ESelection& rSel, BOOL bOnlyHardAttrib = EditEngineAttribs_All ) const;
223 virtual SfxItemSet GetParaAttribs( USHORT nPara ) const;
224 virtual void SetParaAttribs( USHORT nPara, const SfxItemSet& rSet );
225 virtual void RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
226 virtual void GetPortions( USHORT nPara, SvUShorts& rList ) const;
228 virtual USHORT GetItemState( const ESelection& rSel, USHORT nWhich ) const;
229 virtual USHORT GetItemState( USHORT nPara, USHORT nWhich ) const;
231 virtual void QuickInsertText( const String& rText, const ESelection& rSel );
232 virtual void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
233 virtual void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
234 virtual void QuickInsertLineBreak( const ESelection& rSel );
236 virtual SfxItemPool* GetPool() const;
238 virtual XubString CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, USHORT nPos, Color*& rpTxtColor, Color*& rpFldColor );
239 virtual void FieldClicked(const SvxFieldItem&, USHORT, USHORT);
240 virtual BOOL IsValid() const;
242 virtual LanguageType GetLanguage( USHORT, USHORT ) const;
243 virtual USHORT GetFieldCount( USHORT nPara ) const;
244 virtual EFieldInfo GetFieldInfo( USHORT nPara, USHORT nField ) const;
245 virtual EBulletInfo GetBulletInfo( USHORT nPara ) const;
246 virtual Rectangle GetCharBounds( USHORT nPara, USHORT nIndex ) const;
247 virtual Rectangle GetParaBounds( USHORT nPara ) const;
248 virtual MapMode GetMapMode() const;
249 virtual OutputDevice* GetRefDevice() const;
250 virtual sal_Bool GetIndexAtPoint( const Point&, USHORT& nPara, USHORT& nIndex ) const;
251 virtual sal_Bool GetWordIndices( USHORT nPara, USHORT nIndex, USHORT& nStart, USHORT& nEnd ) const;
252 virtual sal_Bool GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const;
253 virtual USHORT GetLineCount( USHORT nPara ) const;
254 virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const;
255 virtual void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const;
256 virtual USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nLine ) const;
257 virtual sal_Bool Delete( const ESelection& );
258 virtual sal_Bool InsertText( const String&, const ESelection& );
259 virtual sal_Bool QuickFormatDoc( BOOL bFull=FALSE );
261 virtual sal_Int16 GetDepth( USHORT nPara ) const;
262 virtual sal_Bool SetDepth( USHORT nPara, sal_Int16 nNewDepth );
264 virtual const SfxItemSet* GetEmptyItemSetPtr();
265 // implementation functions for XParagraphAppend and XTextPortionAppend
266 virtual void AppendParagraph();
267 virtual xub_StrLen AppendTextPortion( USHORT nPara, const String &rText, const SfxItemSet &rSet );
269 virtual void CopyText(const SvxTextForwarder& rSource);
273 class SmEditViewForwarder : /* analog to SvxEditEngineViewForwarder */
274 public SvxEditViewForwarder
276 SmEditAccessible& rEditAcc;
278 // disallow copy-ctor and assignment-operator for now
279 SmEditViewForwarder( const SmEditViewForwarder & );
280 SmEditViewForwarder & operator = ( const SmEditViewForwarder & );
282 public:
283 SmEditViewForwarder( SmEditAccessible& rAcc );
284 virtual ~SmEditViewForwarder();
286 virtual BOOL IsValid() const;
288 virtual Rectangle GetVisArea() const;
289 virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const;
290 virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const;
292 virtual sal_Bool GetSelection( ESelection& rSelection ) const;
293 virtual sal_Bool SetSelection( const ESelection& rSelection );
294 virtual sal_Bool Copy();
295 virtual sal_Bool Cut();
296 virtual sal_Bool Paste();
300 class SmEditSource :
301 public SvxEditSource
303 SfxBroadcaster aBroadCaster;
304 SmViewForwarder aViewFwd;
305 SmTextForwarder aTextFwd;
306 SmEditViewForwarder aEditViewFwd;
308 SmEditAccessible& rEditAcc;
310 // disallow copy-ctor and assignment-operator for now
311 SmEditSource( const SmEditSource &rSrc );
312 SmEditSource & operator = ( const SmEditSource & );
314 public:
315 SmEditSource( SmEditWindow *pWin, SmEditAccessible &rAcc );
316 virtual ~SmEditSource();
318 virtual SvxEditSource* Clone() const;
319 virtual SvxTextForwarder* GetTextForwarder();
320 virtual SvxViewForwarder* GetViewForwarder();
321 virtual SvxEditViewForwarder* GetEditViewForwarder( sal_Bool bCreate = sal_False );
322 virtual void UpdateData();
323 virtual SfxBroadcaster& GetBroadcaster() const;
329 typedef
330 cppu::WeakImplHelper5
332 com::sun::star::lang::XServiceInfo,
333 com::sun::star::accessibility::XAccessible,
334 com::sun::star::accessibility::XAccessibleComponent,
335 com::sun::star::accessibility::XAccessibleContext,
336 com::sun::star::accessibility::XAccessibleEventBroadcaster
338 SmEditAccessibleBaseClass;
340 class SmEditAccessible :
341 public SmEditAccessibleBaseClass
343 osl::Mutex aListenerMutex;
344 String aAccName;
345 ::accessibility::AccessibleTextHelper *pTextHelper;
346 SmEditWindow *pWin;
348 // disallow copy-ctor and assignment-operator for now
349 SmEditAccessible( const SmEditAccessible & );
350 SmEditAccessible & operator = ( const SmEditAccessible & );
352 protected:
353 #ifdef TL_NOT_YET_USED
354 SmDocShell * GetDoc_Impl();
355 #endif //TL_NOT_YET_USED
357 public:
358 SmEditAccessible( SmEditWindow *pEditWin );
359 virtual ~SmEditAccessible();
361 ::accessibility::AccessibleTextHelper * GetTextHelper() { return pTextHelper; }
363 void Init();
364 SmEditWindow * GetWin() { return pWin; }
365 void ClearWin(); // to be called when view is destroyed
367 //! access EditEngine and EditView via the functions in the respective window
368 //! pointers may be 0 (e.g. during reload)
369 EditEngine * GetEditEngine() { return pWin ? pWin->GetEditEngine() : 0; }
370 EditView * GetEditView() { return pWin ? pWin->GetEditView() : 0; }
372 // XAccessible
373 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (::com::sun::star::uno::RuntimeException);
375 // XAccessibleComponent
376 virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
377 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);
378 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds( ) throw (::com::sun::star::uno::RuntimeException);
379 virtual ::com::sun::star::awt::Point SAL_CALL getLocation( ) throw (::com::sun::star::uno::RuntimeException);
380 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen( ) throw (::com::sun::star::uno::RuntimeException);
381 virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException);
382 virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException);
383 virtual sal_Int32 SAL_CALL getForeground( ) throw (::com::sun::star::uno::RuntimeException);
384 virtual sal_Int32 SAL_CALL getBackground( ) throw (::com::sun::star::uno::RuntimeException);
386 // XAccessibleContext
387 virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
388 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);
389 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException);
390 virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (::com::sun::star::uno::RuntimeException);
391 virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException);
392 virtual ::rtl::OUString SAL_CALL getAccessibleDescription( ) throw (::com::sun::star::uno::RuntimeException);
393 virtual ::rtl::OUString SAL_CALL getAccessibleName( ) throw (::com::sun::star::uno::RuntimeException);
394 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException);
395 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (::com::sun::star::uno::RuntimeException);
396 virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
398 // XAccessibleEventBroadcaster
399 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
400 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
402 // XServiceInfo
403 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
404 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
405 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
408 //////////////////////////////////////////////////////////////////////
410 #endif