xref: /AOO41X/main/svx/source/inc/svxrectctaccessiblecontext.hxx (revision 54628ca40d27d15cc98fe861da7fff7e60c2f7d6)
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 
25 #ifndef _SVXRECTACCESSIBLECONTEXT_HXX
26 #define _SVXRECTACCESSIBLECONTEXT_HXX
27 
28 #include <com/sun/star/accessibility/XAccessible.hpp>
29 #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
30 #include <com/sun/star/accessibility/XAccessibleContext.hpp>
31 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
32 #include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
33 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
34 #include <com/sun/star/accessibility/XAccessibleValue.hpp>
35 #include <com/sun/star/beans/XPropertyChangeListener.hpp>
36 #include <com/sun/star/uno/Reference.hxx>
37 #include <cppuhelper/weak.hxx>
38 #include <com/sun/star/lang/XServiceInfo.hpp>
39 #include <com/sun/star/lang/XTypeProvider.hpp>
40 #include <com/sun/star/lang/XServiceName.hpp>
41 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
42 #include <com/sun/star/lang/DisposedException.hpp>
43 #include <vos/mutex.hxx>
44 #include <cppuhelper/interfacecontainer.h>
45 #include <cppuhelper/compbase6.hxx>
46 //#ifndef _CPPUHELPER_COMPBASE7_HXX_
47 //#include <cppuhelper/compbase7.hxx>
48 //#endif
49 #include <comphelper/broadcasthelper.hxx>
50 #include <cppuhelper/implbase6.hxx>
51 #include <comphelper/servicehelper.hxx>
52 #include <svx/rectenum.hxx>
53 
54 namespace com { namespace sun { namespace star { namespace awt {
55     struct Point;
56     struct Rectangle;
57     struct Size;
58     class XFocusListener;
59 } } } }
60 
61 class Rectangle;
62 class SvxRectCtl;
63 class SvxRectCtlChildAccessibleContext;
64 class Window;
65 
66 
67 typedef ::cppu::WeakAggComponentImplHelper6<
68             ::com::sun::star::accessibility::XAccessible,
69             ::com::sun::star::accessibility::XAccessibleComponent,
70             ::com::sun::star::accessibility::XAccessibleContext,
71             ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
72             ::com::sun::star::accessibility::XAccessibleSelection,
73             ::com::sun::star::lang::XServiceInfo >
74             SvxRectCtlAccessibleContext_Base;
75 
76 class SvxRectCtlAccessibleContext : public ::comphelper::OBaseMutex, public SvxRectCtlAccessibleContext_Base
77 {
78 public:
79     //=====  internal  ========================================================
80     SvxRectCtlAccessibleContext(
81         const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible>& rxParent,
82         SvxRectCtl&             rRepresentation,
83         const ::rtl::OUString*  pName = NULL,
84         const ::rtl::OUString*  pDescription = NULL );
85 protected:
86     virtual ~SvxRectCtlAccessibleContext();
87 public:
88     //=====  XAccessible  =====================================================
89 
90     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext> SAL_CALL
91         getAccessibleContext( void ) throw( ::com::sun::star::uno::RuntimeException );
92 
93     //=====  XAccessibleComponent  ============================================
94 
95     virtual sal_Bool SAL_CALL
96         containsPoint( const ::com::sun::star::awt::Point& rPoint ) throw( ::com::sun::star::uno::RuntimeException );
97 
98     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL
99         getAccessibleAtPoint( const ::com::sun::star::awt::Point& rPoint ) throw( ::com::sun::star::uno::RuntimeException );
100 
101     virtual ::com::sun::star::awt::Rectangle SAL_CALL
102         getBounds() throw( ::com::sun::star::uno::RuntimeException );
103 
104     virtual ::com::sun::star::awt::Point SAL_CALL
105         getLocation() throw( ::com::sun::star::uno::RuntimeException );
106 
107     virtual ::com::sun::star::awt::Point SAL_CALL
108         getLocationOnScreen() throw( ::com::sun::star::uno::RuntimeException );
109 
110     virtual ::com::sun::star::awt::Size SAL_CALL
111         getSize() throw( ::com::sun::star::uno::RuntimeException );
112 
113     virtual sal_Bool SAL_CALL
114         isShowing() throw( ::com::sun::star::uno::RuntimeException );
115 
116     virtual sal_Bool SAL_CALL
117         isVisible() throw( ::com::sun::star::uno::RuntimeException );
118 
119     virtual sal_Bool SAL_CALL
120         isFocusTraversable() throw( ::com::sun::star::uno::RuntimeException );
121 
122     virtual void SAL_CALL
123         addFocusListener(
124             const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFocusListener >& xListener )
125             throw( ::com::sun::star::uno::RuntimeException );
126 
127     virtual void SAL_CALL
128         removeFocusListener(
129             const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFocusListener >& xListener )
130             throw( ::com::sun::star::uno::RuntimeException );
131 
132     virtual void SAL_CALL
133         grabFocus() throw( ::com::sun::star::uno::RuntimeException );
134 
135     virtual ::com::sun::star::uno::Any SAL_CALL
136         getAccessibleKeyBinding() throw( ::com::sun::star::uno::RuntimeException );
137     virtual sal_Int32 SAL_CALL
138         getForeground(  ) throw (::com::sun::star::uno::RuntimeException);
139     virtual sal_Int32 SAL_CALL
140         getBackground(  ) throw (::com::sun::star::uno::RuntimeException);
141 
142     //=====  XAccessibleContext  ==============================================
143 
144     virtual sal_Int32 SAL_CALL
145         getAccessibleChildCount( void ) throw( ::com::sun::star::uno::RuntimeException );
146 
147     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
148         getAccessibleChild( sal_Int32 nIndex )
149             throw( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IndexOutOfBoundsException );
150 
151     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
152         getAccessibleParent( void ) throw( ::com::sun::star::uno::RuntimeException );
153 
154     virtual sal_Int32 SAL_CALL
155         getAccessibleIndexInParent( void ) throw( ::com::sun::star::uno::RuntimeException );
156 
157     virtual sal_Int16 SAL_CALL
158         getAccessibleRole( void ) throw( ::com::sun::star::uno::RuntimeException );
159 
160     virtual ::rtl::OUString SAL_CALL
161         getAccessibleDescription( void ) throw (::com::sun::star::uno::RuntimeException);
162 
163     virtual ::rtl::OUString SAL_CALL
164         getAccessibleName( void ) throw (::com::sun::star::uno::RuntimeException);
165 
166     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL
167         getAccessibleRelationSet( void ) throw( ::com::sun::star::uno::RuntimeException );
168 
169     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL
170         getAccessibleStateSet( void ) throw( ::com::sun::star::uno::RuntimeException );
171 
172     virtual ::com::sun::star::lang::Locale SAL_CALL
173         getLocale( void )
174             throw(  ::com::sun::star::uno::RuntimeException,
175                     ::com::sun::star::accessibility::IllegalAccessibleComponentStateException );
176 
177     //=====  XComponent  =====================================================
178 
179     using ::cppu::WeakAggComponentImplHelperBase::addEventListener;
180     using ::cppu::WeakAggComponentImplHelperBase::removeEventListener;
181 
182     //=====  XAccessibleEventBroadcaster  =====================================
183 
184     virtual void SAL_CALL
185         addEventListener(
186             const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener )
187             throw( com::sun::star::uno::RuntimeException );
188 
189     virtual void SAL_CALL
190         removeEventListener(
191             const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener )
192             throw( com::sun::star::uno::RuntimeException );
193 
194     //=====  XServiceInfo  ====================================================
195 
196     virtual ::rtl::OUString SAL_CALL
197         getImplementationName( void ) throw( ::com::sun::star::uno::RuntimeException );
198 
199     virtual sal_Bool SAL_CALL
200         supportsService( const ::rtl::OUString& sServiceName ) throw( ::com::sun::star::uno::RuntimeException );
201 
202     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
203         getSupportedServiceNames( void ) throw( ::com::sun::star::uno::RuntimeException );
204 
205     //=====  XTypeProvider  ===================================================
206 
207     virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL
208         getImplementationId( void ) throw( ::com::sun::star::uno::RuntimeException );
209 
210     //=====  XAccessibleSelection =============================================
211 
212     virtual void SAL_CALL
213         selectAccessibleChild( sal_Int32 nChildIndex )
214             throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException );
215 
216     virtual sal_Bool SAL_CALL
217         isAccessibleChildSelected( sal_Int32 nChildIndex )
218             throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException );
219 
220     virtual void SAL_CALL
221         clearAccessibleSelection() throw( ::com::sun::star::uno::RuntimeException );
222 
223     virtual void SAL_CALL
224         selectAllAccessibleChildren() throw( ::com::sun::star::uno::RuntimeException );
225 
226     virtual sal_Int32 SAL_CALL
227         getSelectedAccessibleChildCount() throw( ::com::sun::star::uno::RuntimeException );
228 
229     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL
230         getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex )
231             throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException );
232 
233     virtual void SAL_CALL
234         deselectAccessibleChild( sal_Int32 nSelectedChildIndex )
235             throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException );
236 
237 
238 protected:
239     //=====  internals ========================================================
240 
241     void checkChildIndex( long nIndexOfChild ) throw( ::com::sun::star::lang::IndexOutOfBoundsException );
242 
243     void checkChildIndexOnSelection( long nIndexOfChild ) throw( ::com::sun::star::lang::IndexOutOfBoundsException );
244 
245     /** Selects a new child by index.
246 
247         <p>If the child was not selected before, the state of the child will
248         be updated. If the index is invalid, the index will internaly set to NOCHILDSELECTED</p>
249 
250         @param nIndexOfChild
251             Index of the new child which should be selected.
252     */
253     void selectChild( long nIndexOfChild );
254 
255 public:
256     /** Selects a new child by point.
257 
258         <p>If the child was not selected before, the state of the child will
259         be updated. If the point is not invalid, the index will internaly set to NOCHILDSELECTED</p>
260 
261         @param eButton
262             Button which belongs to the child which should be selected.
263     */
264     void selectChild( RECT_POINT ePoint );
265 
266     /// Sets the name
267     void setName( const ::rtl::OUString& rName );
268 
269     /// Sets the description
270     void setDescription( const ::rtl::OUString& rDescr );
271 private:
272     static ::com::sun::star::uno::Sequence< sal_Int8 > getUniqueId( void );
273 protected:
274 
275     /// @Return the object's current bounding box relative to the desktop.
276     virtual Rectangle GetBoundingBoxOnScreen( void ) throw( ::com::sun::star::uno::RuntimeException );
277 
278     /// @Return the object's current bounding box relative to the parent object.
279     virtual Rectangle GetBoundingBox( void ) throw( ::com::sun::star::uno::RuntimeException );
280 
281     /// Calls all Listener to tell they the change.
282     void CommitChange( const com::sun::star::accessibility::AccessibleEventObject& rEvent );
283 
284     virtual void SAL_CALL disposing();
285 
286     /// @returns true if it's disposed or in disposing
287     inline sal_Bool IsAlive( void ) const;
288 
289     /// @returns true if it's not disposed and no in disposing
290     inline sal_Bool IsNotAlive( void ) const;
291 
292     /// throws the exception DisposedException if it's not alive
293     void ThrowExceptionIfNotAlive( void ) throw( ::com::sun::star::lang::DisposedException );
294 
295 private:
296     /** Description of this object.  This is not a constant because it can
297         be set from the outside.
298     */
299     ::rtl::OUString                     msDescription;
300 
301     /** Name of this object.
302     */
303     ::rtl::OUString                     msName;
304 
305     /// Reference to the parent object.
306     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
307                                         mxParent;
308 
309     /// pointer to internal representation
310     SvxRectCtl*                         mpRepr;
311 
312     /// array for all possible childs
313     SvxRectCtlChildAccessibleContext**  mpChilds;
314 
315     /// client id in the AccessibleEventNotifier queue
316     sal_uInt32 mnClientId;
317 
318     /// actual selected child
319     long                                mnSelectedChild;
320 
321     /// mode of control (true -> 8 points, false -> 9 points)
322     sal_Bool                            mbAngleMode;
323 };
324 
325 inline sal_Bool SvxRectCtlAccessibleContext::IsAlive( void ) const
326 {
327     return !rBHelper.bDisposed && !rBHelper.bInDispose;
328 }
329 
330 inline sal_Bool SvxRectCtlAccessibleContext::IsNotAlive( void ) const
331 {
332     return rBHelper.bDisposed || rBHelper.bInDispose;
333 }
334 
335 
336 typedef ::cppu::WeakAggComponentImplHelper6<
337             ::com::sun::star::accessibility::XAccessible,
338             ::com::sun::star::accessibility::XAccessibleComponent,
339             ::com::sun::star::accessibility::XAccessibleContext,
340             ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
341             ::com::sun::star::accessibility::XAccessibleValue,
342             ::com::sun::star::lang::XServiceInfo >
343             SvxRectCtlChildAccessibleContext_Base;
344 
345 
346 class SvxRectCtlChildAccessibleContext : public SvxRectCtlChildAccessibleContext_Base
347 {
348 public:
349     SvxRectCtlChildAccessibleContext(
350         const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible>& rxParent,
351         const Window& rParentWindow,
352         const ::rtl::OUString& rName, const ::rtl::OUString& rDescription,
353         const Rectangle& rBoundingBox,
354         long nIndexInParent );
355 protected:
356     virtual ~SvxRectCtlChildAccessibleContext();
357 public:
358     //=====  XAccessible  =====================================================
359 
360     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext> SAL_CALL
361         getAccessibleContext( void ) throw( ::com::sun::star::uno::RuntimeException );
362 
363     //=====  XAccessibleComponent  ============================================
364 
365     virtual sal_Bool SAL_CALL
366         containsPoint( const ::com::sun::star::awt::Point& rPoint ) throw( ::com::sun::star::uno::RuntimeException );
367 
368     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL
369         getAccessibleAtPoint( const ::com::sun::star::awt::Point& rPoint ) throw( ::com::sun::star::uno::RuntimeException );
370 
371     virtual ::com::sun::star::awt::Rectangle SAL_CALL
372         getBounds() throw( ::com::sun::star::uno::RuntimeException );
373 
374     virtual ::com::sun::star::awt::Point SAL_CALL
375         getLocation() throw( ::com::sun::star::uno::RuntimeException );
376 
377     virtual ::com::sun::star::awt::Point SAL_CALL
378         getLocationOnScreen() throw( ::com::sun::star::uno::RuntimeException );
379 
380     virtual ::com::sun::star::awt::Size SAL_CALL
381         getSize() throw( ::com::sun::star::uno::RuntimeException );
382 
383     virtual sal_Bool SAL_CALL
384         isShowing() throw( ::com::sun::star::uno::RuntimeException );
385 
386     virtual sal_Bool SAL_CALL
387         isVisible() throw( ::com::sun::star::uno::RuntimeException );
388 
389     virtual sal_Bool SAL_CALL
390         isFocusTraversable() throw( ::com::sun::star::uno::RuntimeException );
391 
392     virtual void SAL_CALL
393         addFocusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFocusListener >& xListener )
394             throw( ::com::sun::star::uno::RuntimeException );
395 
396     virtual void SAL_CALL
397         removeFocusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFocusListener >& xListener )
398             throw (::com::sun::star::uno::RuntimeException);
399 
400     virtual void SAL_CALL
401         grabFocus() throw( ::com::sun::star::uno::RuntimeException );
402 
403     virtual ::com::sun::star::uno::Any SAL_CALL
404         getAccessibleKeyBinding() throw( ::com::sun::star::uno::RuntimeException );
405     virtual sal_Int32 SAL_CALL
406         getForeground(  ) throw (::com::sun::star::uno::RuntimeException);
407     virtual sal_Int32 SAL_CALL
408         getBackground(  ) throw (::com::sun::star::uno::RuntimeException);
409 
410     //=====  XAccessibleContext  ==============================================
411 
412     virtual sal_Int32 SAL_CALL
413         getAccessibleChildCount( void ) throw( ::com::sun::star::uno::RuntimeException );
414 
415     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL
416         getAccessibleChild( sal_Int32 nIndex )
417             throw( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IndexOutOfBoundsException );
418 
419     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL
420         getAccessibleParent( void ) throw( ::com::sun::star::uno::RuntimeException );
421 
422     virtual sal_Int32 SAL_CALL
423         getAccessibleIndexInParent( void ) throw( ::com::sun::star::uno::RuntimeException );
424 
425     virtual sal_Int16 SAL_CALL
426         getAccessibleRole( void ) throw( ::com::sun::star::uno::RuntimeException );
427 
428     virtual ::rtl::OUString SAL_CALL
429         getAccessibleDescription( void ) throw( ::com::sun::star::uno::RuntimeException );
430 
431     virtual ::rtl::OUString SAL_CALL
432         getAccessibleName( void ) throw( ::com::sun::star::uno::RuntimeException );
433 
434     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL
435         getAccessibleRelationSet( void ) throw( ::com::sun::star::uno::RuntimeException );
436 
437     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL
438         getAccessibleStateSet( void ) throw( ::com::sun::star::uno::RuntimeException );
439 
440     virtual ::com::sun::star::lang::Locale SAL_CALL
441         getLocale( void )
442             throw( ::com::sun::star::uno::RuntimeException, ::com::sun::star::accessibility::IllegalAccessibleComponentStateException );
443 
444     //=====  XComponent  =====================================================
445 
446     using ::cppu::WeakAggComponentImplHelperBase::addEventListener;
447     using ::cppu::WeakAggComponentImplHelperBase::removeEventListener;
448 
449     //=====  XAccessibleEventBroadcaster  =====================================
450 
451     virtual void SAL_CALL
452         addEventListener(
453             const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener )
454             throw( ::com::sun::star::uno::RuntimeException );
455 
456     virtual void SAL_CALL
457         removeEventListener(
458             const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener )
459             throw( com::sun::star::uno::RuntimeException );
460 
461     //=====  XAccessibleValue  ================================================
462 
463     virtual ::com::sun::star::uno::Any SAL_CALL
464         getCurrentValue() throw( ::com::sun::star::uno::RuntimeException );
465 
466     virtual sal_Bool SAL_CALL
467         setCurrentValue( const ::com::sun::star::uno::Any& aNumber ) throw( ::com::sun::star::uno::RuntimeException );
468 
469     virtual ::com::sun::star::uno::Any SAL_CALL
470         getMaximumValue() throw( ::com::sun::star::uno::RuntimeException );
471 
472     virtual ::com::sun::star::uno::Any SAL_CALL
473         getMinimumValue() throw( ::com::sun::star::uno::RuntimeException );
474 
475     //=====  XServiceInfo  ====================================================
476 
477     virtual ::rtl::OUString SAL_CALL
478         getImplementationName( void ) throw( ::com::sun::star::uno::RuntimeException );
479 
480     virtual sal_Bool SAL_CALL
481         supportsService( const ::rtl::OUString& sServiceName ) throw( ::com::sun::star::uno::RuntimeException );
482 
483     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
484         getSupportedServiceNames( void ) throw( ::com::sun::star::uno::RuntimeException );
485 
486 
487     //=====  XTypeProvider  ===================================================
488 
489     virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL
490         getImplementationId( void ) throw( ::com::sun::star::uno::RuntimeException );
491 
492     //===== internal ==========================================================
493 
494     /// Sets the checked status
495     void setStateChecked( sal_Bool bChecked );
496 
497 protected:
498     virtual Rectangle GetBoundingBoxOnScreen( void ) throw( ::com::sun::star::uno::RuntimeException );
499 
500     virtual Rectangle GetBoundingBox( void ) throw( ::com::sun::star::uno::RuntimeException );
501 
502     void CommitChange( const com::sun::star::accessibility::AccessibleEventObject& rEvent );
503 
504     virtual void SAL_CALL disposing();
505 
506     /// @returns true if it's disposed or in disposing
507     inline sal_Bool IsAlive( void ) const;
508 
509     /// @returns true if it's not disposed and no in disposing
510     inline sal_Bool IsNotAlive( void ) const;
511 
512     /// throws the exception DisposedException if it's not alive
513     void ThrowExceptionIfNotAlive( void ) throw( ::com::sun::star::lang::DisposedException );
514 
515     /// Mutex guarding this object.
516     ::osl::Mutex                        maMutex;
517 
518 private:
519 
520     /** Description of this object.  This is not a constant because it can
521         be set from the outside.  Furthermore, it changes according the the
522         draw page's display mode.
523     */
524     ::rtl::OUString                     msDescription;
525 
526     /** Name of this object.  It changes according the the draw page's
527         display mode.
528     */
529     ::rtl::OUString                     msName;
530 
531     /// Reference to the parent object.
532     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
533                                         mxParent;
534 
535     /// Bounding box
536     Rectangle*                          mpBoundingBox;
537 
538     /// window of parent
539     const Window&                       mrParentWindow;
540 
541     /// client id in the AccessibleEventNotifier queue
542     sal_uInt32                          mnClientId;
543 
544     /// index of child in parent
545     long                                mnIndexInParent;
546 
547     /// Indicates, if object is checked
548     sal_Bool                            mbIsChecked;
549 };
550 
551 inline sal_Bool SvxRectCtlChildAccessibleContext::IsAlive( void ) const
552 {
553     return !rBHelper.bDisposed && !rBHelper.bInDispose;
554 }
555 
556 inline sal_Bool SvxRectCtlChildAccessibleContext::IsNotAlive( void ) const
557 {
558     return rBHelper.bDisposed || rBHelper.bInDispose;
559 }
560 
561 
562 #endif
563