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