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 _SVX_ACCESSIBILITY_ACCESSIBLE_SHAPE_HXX 26 #define _SVX_ACCESSIBILITY_ACCESSIBLE_SHAPE_HXX 27 28 #include <editeng/AccessibleContextBase.hxx> 29 #include <editeng/AccessibleComponentBase.hxx> 30 #include <svx/IAccessibleViewForwarderListener.hxx> 31 #include <com/sun/star/document/XEventListener.hpp> 32 #include <com/sun/star/accessibility/XAccessible.hpp> 33 #include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp> 34 #include <com/sun/star/accessibility/AccessibleRole.hpp> 35 #include <com/sun/star/drawing/XShape.hpp> 36 #include <com/sun/star/lang/XEventListener.hpp> 37 #include <com/sun/star/lang/XUnoTunnel.hpp> 38 #include <svx/AccessibleTextHelper.hxx> 39 #include "svx/svxdllapi.h" 40 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLESELECTION_HPP_ 41 #include <com/sun/star/accessibility/XAccessibleSelection.hpp> 42 #endif 43 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLETEXT_HPP_ 44 #include <com/sun/star/accessibility/XAccessibleText.hpp> 45 #endif 46 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XAccessibleExtendedAttributes_HPP_ 47 #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> 48 #endif 49 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEGROUPPOSITION_HPP_ 50 #include <com/sun/star/accessibility/XAccessibleGroupPosition.hpp> 51 #endif 52 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEHYPERTEXT_HPP_ 53 #include <com/sun/star/accessibility/XAccessibleHypertext.hpp> 54 #endif 55 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEHYPERTEXT_HPP_ 56 #include <com/sun/star/accessibility/XAccessibleHypertext.hpp> 57 #endif 58 #ifndef INCLUDED_COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEHYPERLINK_HPP 59 #include <com/sun/star/accessibility/XAccessibleHyperlink.hpp> 60 #endif 61 62 #include "ChildrenManager.hxx" 63 64 class SdrObject; 65 66 namespace accessibility { 67 68 class AccessibleShapeInfo; 69 class AccessibleShapeTreeInfo; 70 class IAccessibleParent; 71 72 /** This base class provides a base implementation for all shapes. For more 73 detailed documentation about the methods refer to the descriptions of 74 the implemented interfaces. These are, among others, 75 <type>XAccessible</type>, <type>XAccessibleContext</type>, 76 <type>XAccessibleComponent</type> and 77 <type>XAccessibleExtendedComponent</type>. 78 79 <p>The children of a shape can stem from two sources which, in case of 80 SVX and SD shapes, are mutually exclusive. This implementation, 81 however, handles both simultaniously to cope with future extensions or 82 shapes from other projects. 83 <ul> 84 <li>If this shape is a group shape, i.e. a 85 <type>SvxShapeGroup</type> or a <type>Svx3DSceneObject</type>, it 86 can have nested shapes.</li> 87 <li>If this shape is a descendant from <type>SvxShapeText</type> 88 then the text paragraphs are its children.</li> 89 </ul> 90 </p> 91 92 <p>Accessible shapes do not listen for disposing() calls of the UNO 93 shapes they make accessible. This is the task of their owner, usually a 94 container, who can then call dispose() at the accessible object.</p> 95 */ 96 class SVX_DLLPUBLIC AccessibleShape 97 : public AccessibleContextBase, 98 public AccessibleComponentBase, 99 public ::com::sun::star::accessibility::XAccessibleSelection, 100 public ::com::sun::star::accessibility::XAccessibleExtendedAttributes, 101 public ::com::sun::star::accessibility::XAccessibleGroupPosition, 102 public com::sun::star::accessibility::XAccessibleHypertext, 103 public IAccessibleViewForwarderListener, 104 public ::com::sun::star::document::XEventListener, 105 public ::com::sun::star::lang::XUnoTunnel 106 { 107 public: 108 //===== internal ======================================================== 109 110 /** Create a new accessible object that makes the given shape accessible. 111 @param rShapeInfo 112 This object contains all information specific to the new 113 accessible shape. That are e.g. the shape to be made accessible 114 and the accessible object that will become the parent of the new 115 object. 116 @param rShapeTreeInfo 117 Bundel of information passed to this shape and all of its desendants. 118 @attention 119 Always call the <member>init</member> method after creating a 120 new accessible shape. This is one way to overcome the potential 121 problem of registering the new object with e.g. event 122 broadcasters. That would delete the new object if a broadcaster 123 would not keep a strong reference to the new object. 124 */ 125 AccessibleShape ( 126 const AccessibleShapeInfo& rShapeInfo, 127 const AccessibleShapeTreeInfo& rShapeTreeInfo); 128 AccessibleShape ( 129 const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>& rxShape, const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible>& rxParent, const AccessibleShapeTreeInfo& rShapeTreeInfo, sal_Int32 nIndex = -1); 130 //Solution: Overwrite the object's current name. 131 virtual ::rtl::OUString SAL_CALL getAccessibleName (void) throw (::com::sun::star::uno::RuntimeException); 132 virtual ::rtl::OUString SAL_CALL getAccessibleDescription() throw (::com::sun::star::uno::RuntimeException); 133 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet> SAL_CALL getAccessibleRelationSet (void) throw (::com::sun::star::uno::RuntimeException); 134 //===== XAccessibleSelection ============================================ 135 136 virtual void SAL_CALL selectAccessibleChild( 137 sal_Int32 nChildIndex ) 138 throw ( ::com::sun::star::lang::IndexOutOfBoundsException, 139 ::com::sun::star::uno::RuntimeException ); 140 141 virtual sal_Bool SAL_CALL isAccessibleChildSelected( 142 sal_Int32 nChildIndex ) 143 throw ( ::com::sun::star::lang::IndexOutOfBoundsException, 144 ::com::sun::star::uno::RuntimeException ); 145 146 virtual void SAL_CALL clearAccessibleSelection( ) 147 throw ( ::com::sun::star::uno::RuntimeException ); 148 149 virtual void SAL_CALL selectAllAccessibleChildren( ) 150 throw ( ::com::sun::star::uno::RuntimeException ); 151 152 virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) 153 throw ( ::com::sun::star::uno::RuntimeException ); 154 155 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( 156 sal_Int32 nSelectedChildIndex ) 157 throw ( ::com::sun::star::lang::IndexOutOfBoundsException, 158 ::com::sun::star::uno::RuntimeException); 159 160 virtual void SAL_CALL deselectAccessibleChild( 161 sal_Int32 nSelectedChildIndex ) 162 throw ( ::com::sun::star::lang::IndexOutOfBoundsException, 163 ::com::sun::star::uno::RuntimeException ); 164 165 // ====== XAccessibleExtendedAttributes ===================================== 166 virtual ::com::sun::star::uno::Any SAL_CALL getExtendedAttributes() 167 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ; 168 /// Return this object's role. 169 virtual sal_Int16 SAL_CALL getAccessibleRole (void) throw (::com::sun::star::uno::RuntimeException); 170 //===== XAccessibleGroupPosition ========================================= 171 virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL 172 getGroupPosition( const ::com::sun::star::uno::Any& rAny ) 173 throw (::com::sun::star::uno::RuntimeException); 174 virtual ::rtl::OUString SAL_CALL getObjectLink( const ::com::sun::star::uno::Any& accoject ) 175 throw (::com::sun::star::uno::RuntimeException); 176 /** The destructor releases its children manager and text engine if 177 still existent. These are responsible to send appropriate events. 178 */ 179 virtual ~AccessibleShape (void); 180 181 /** Initialize a new shape. See the documentation of the constructor 182 for the reason of this method's existence. 183 */ 184 virtual void Init (void); 185 186 /** Compare two accessible shapes using object identity 187 @param rShape 188 This is the second operand. 189 @return 190 Returns true if both shapes are the same object. 191 */ 192 virtual bool operator== (const AccessibleShape& rShape); 193 194 /** Set the specified state. If the state is <const>FOCUSED</const> 195 then, additionally to the inherited functionality, the focus 196 listeners registered with the <type>XAccessibleComponent</type> 197 interface are called (if that state really changes). 198 199 @param aState 200 The state to turn on. 201 202 @return 203 The returned flag indicates whether the specified state has been 204 changed (<TRUE/>), i.e. it has formerly not been set. 205 */ 206 virtual sal_Bool SetState (sal_Int16 aState); 207 208 /** Reset the specified state. If the state is <const>FOCUSED</const> 209 then, additionally to the inherited functionality, the focus 210 listeners registered with the <type>XAccessibleComponent</type> 211 interface are called (if that state really changes). 212 213 @param aState 214 The state to turn off. 215 216 @return 217 The returned flag indicates whether the specified state has been 218 changed (<TRUE/>), i.e. it has formerly been set. 219 */ 220 virtual sal_Bool ResetState (sal_Int16 aState); 221 222 /** Return the state of the specified state. Take the 223 <const>FOCUSED</const> state from the accessible edit engine. 224 225 @param aState 226 The state for which to return its value. 227 @return 228 A value of <TRUE/> indicates that the state is set. A <FALSE/> 229 value indicates an unset state or the inability to access the 230 entity that manages the state set. 231 232 */ 233 sal_Bool GetState (sal_Int16 aState); 234 235 236 //===== XAccessibleContext ============================================== 237 238 /// Return the number of currently visible children. 239 virtual sal_Int32 SAL_CALL 240 getAccessibleChildCount (void) 241 throw (::com::sun::star::uno::RuntimeException); 242 243 /** Return the specified child. 244 @param nIndex 245 Index of the requested child. 246 @return 247 Reference of the requested child which is the accessible object 248 of a visible shape. 249 @raises IndexOutOfBoundsException 250 Throws an exception if the index is not valid. 251 */ 252 virtual ::com::sun::star::uno::Reference< 253 ::com::sun::star::accessibility::XAccessible> SAL_CALL 254 getAccessibleChild (sal_Int32 nIndex) 255 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 256 257 258 /// Return the set of current states. 259 virtual ::com::sun::star::uno::Reference< 260 ::com::sun::star::accessibility::XAccessibleStateSet> SAL_CALL 261 getAccessibleStateSet (void) 262 throw (::com::sun::star::uno::RuntimeException); 263 264 /// Return this objects index among the parents children. 265 virtual sal_Int32 SAL_CALL 266 getAccessibleIndexInParent (void) 267 throw (::com::sun::star::uno::RuntimeException); 268 269 //===== XAccessibleComponent ============================================ 270 271 virtual ::com::sun::star::uno::Reference< 272 ::com::sun::star::accessibility::XAccessible > SAL_CALL 273 getAccessibleAtPoint (const ::com::sun::star::awt::Point& aPoint) 274 throw (::com::sun::star::uno::RuntimeException); 275 276 virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds (void) 277 throw (::com::sun::star::uno::RuntimeException); 278 279 virtual ::com::sun::star::awt::Point SAL_CALL getLocation (void) 280 throw (::com::sun::star::uno::RuntimeException); 281 282 virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen (void) 283 throw (::com::sun::star::uno::RuntimeException); 284 285 virtual ::com::sun::star::awt::Size SAL_CALL getSize (void) 286 throw (::com::sun::star::uno::RuntimeException); 287 288 virtual sal_Int32 SAL_CALL getForeground (void) 289 throw (::com::sun::star::uno::RuntimeException); 290 291 virtual sal_Int32 SAL_CALL getBackground (void) 292 throw (::com::sun::star::uno::RuntimeException); 293 294 295 296 //===== XComponent ======================================================== 297 298 using WeakComponentImplHelperBase::addEventListener; 299 using WeakComponentImplHelperBase::removeEventListener; 300 301 //===== XAccessibleEventBroadcaster ===================================== 302 303 /** This call is forwarded to a) the base class and b) to the 304 accessible edit engine if it is present. 305 306 @param rxListener 307 This listener is informed about accessibility events. 308 */ 309 virtual void SAL_CALL 310 addEventListener ( 311 const ::com::sun::star::uno::Reference< 312 ::com::sun::star::accessibility::XAccessibleEventListener >& rxListener) 313 throw (::com::sun::star::uno::RuntimeException); 314 315 /** This call is forwarded to a) the base class and b) to the 316 accessible edit engine if it is present. 317 318 @param rxListener 319 This listener will not be informed about accessibility events 320 anymore. 321 */ 322 virtual void SAL_CALL 323 removeEventListener ( 324 const ::com::sun::star::uno::Reference< 325 ::com::sun::star::accessibility::XAccessibleEventListener >& rxListener) 326 throw (::com::sun::star::uno::RuntimeException); 327 328 329 //===== XInterface ====================================================== 330 331 virtual com::sun::star::uno::Any SAL_CALL 332 queryInterface (const com::sun::star::uno::Type & rType) 333 throw (::com::sun::star::uno::RuntimeException); 334 335 virtual void SAL_CALL 336 acquire (void) 337 throw (); 338 339 virtual void SAL_CALL 340 release (void) 341 throw (); 342 343 344 //===== XServiceInfo ==================================================== 345 346 /** Returns an identifier for the implementation of this object. 347 */ 348 virtual ::rtl::OUString SAL_CALL 349 getImplementationName (void) 350 throw (::com::sun::star::uno::RuntimeException); 351 352 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL 353 getSupportedServiceNames (void) 354 throw (::com::sun::star::uno::RuntimeException); 355 356 //===== XTypeProvider =================================================== 357 358 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL 359 getTypes (void) 360 throw (::com::sun::star::uno::RuntimeException); 361 362 //===== IAccessibleViewForwarderListener ================================ 363 virtual void ViewForwarderChanged (ChangeType aChangeType, 364 const IAccessibleViewForwarder* pViewForwarder); 365 366 //===== lang::XEventListener ============================================ 367 368 /** Listen for disposing events of the model. The accessible shape 369 remains functional when this happens. 370 */ 371 virtual void SAL_CALL 372 disposing (const ::com::sun::star::lang::EventObject& Source) 373 throw (::com::sun::star::uno::RuntimeException); 374 375 //===== document::XEventListener ======================================== 376 377 virtual void SAL_CALL 378 notifyEvent (const ::com::sun::star::document::EventObject& rEventObject) 379 throw (::com::sun::star::uno::RuntimeException); 380 381 382 //===== XUnoTunnel ======================================================== 383 384 static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelImplementationId() throw(); 385 static AccessibleShape* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxIFace ) throw(); 386 sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& _rIdentifier ) throw(::com::sun::star::uno::RuntimeException); 387 388 //===== XAccessibleHypertext ======================================================== 389 virtual sal_Int32 SAL_CALL getHyperLinkCount() throw (::com::sun::star::uno::RuntimeException); 390 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleHyperlink > 391 SAL_CALL getHyperLink( sal_Int32 nLinkIndex ) 392 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 393 virtual sal_Int32 SAL_CALL getHyperLinkIndex( sal_Int32 nCharIndex ) 394 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 395 //===== XAccesibleText ================================================== 396 virtual sal_Int32 SAL_CALL getCaretPosition( ) throw (::com::sun::star::uno::RuntimeException); 397 virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 398 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);//Shen Zhen Jie changed sal_Unicode to sal_uInt32; change back to sal_Unicode 399 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); 400 virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 401 virtual sal_Int32 SAL_CALL getCharacterCount( ) throw (::com::sun::star::uno::RuntimeException); 402 virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException); 403 virtual ::rtl::OUString SAL_CALL getSelectedText( ) throw (::com::sun::star::uno::RuntimeException); 404 virtual sal_Int32 SAL_CALL getSelectionStart( ) throw (::com::sun::star::uno::RuntimeException); 405 virtual sal_Int32 SAL_CALL getSelectionEnd( ) throw (::com::sun::star::uno::RuntimeException); 406 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 407 virtual ::rtl::OUString SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException); 408 virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 409 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); 410 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); 411 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); 412 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 413 414 //===== Misc ======================================================== 415 416 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > 417 GetXShape(); 418 419 /** set the index _nIndex at the accessible shape 420 @param _nIndex 421 The new index in parent. 422 */ setIndexInParent(sal_Int32 _nIndex)423 inline void setIndexInParent(sal_Int32 _nIndex) { m_nIndexInParent = _nIndex; } 424 425 protected: 426 /// Children manager. May be empty if there are no children. 427 ChildrenManager* mpChildrenManager; 428 429 /// Reference to the actual shape. 430 ::com::sun::star::uno::Reference< 431 ::com::sun::star::drawing::XShape> mxShape; 432 433 /** Bundle of information passed to all shapes in a document tree. 434 */ 435 AccessibleShapeTreeInfo maShapeTreeInfo; 436 437 /** Index that is appended to the object's name to disambiguate between 438 different names with the otherwise same name. 439 */ 440 long mnIndex; 441 442 /** the index in parent. 443 */ 444 sal_Int32 m_nIndexInParent; 445 446 /** The accessible text engine. May be NULL if it can not be created. 447 */ 448 AccessibleTextHelper* mpText; 449 450 /** This object can be used to modify the child list of our parent. 451 */ 452 IAccessibleParent* mpParent; 453 454 /** This object can be removed when we have an extra interface to ask if the shape is selected 455 */ 456 SdrObject* m_pShape; 457 458 /** This method is called from the component helper base class while 459 disposing. 460 */ 461 virtual void SAL_CALL disposing (void); 462 463 /** Create a base name string that contains the accessible name. 464 */ 465 virtual ::rtl::OUString 466 CreateAccessibleBaseName (void) 467 throw (::com::sun::star::uno::RuntimeException); 468 469 /** Create a unique name string that contains the accessible name. The 470 name consists of the base name and the index. 471 */ 472 virtual ::rtl::OUString 473 CreateAccessibleName (void) 474 throw (::com::sun::star::uno::RuntimeException); 475 476 /// Create a description string that contains the accessible description. 477 virtual ::rtl::OUString 478 CreateAccessibleDescription (void) 479 throw (::com::sun::star::uno::RuntimeException); 480 virtual ::rtl::OUString 481 GetFullAccessibleName(AccessibleShape *shape) 482 throw (::com::sun::star::uno::RuntimeException); 483 virtual::rtl::OUString GetStyle(); 484 void UpdateDocumentAllSelState(::com::sun::star::uno::Reference< 485 ::com::sun::star::accessibility::XAccessibleStateSet > &xStateSet); 486 /** Update the <const>OPAQUE</const> and <const>SELECTED</const> state. 487 */ 488 virtual void UpdateStates (void); 489 490 private: 491 /** Don't use the default constructor. Use the public constructor that 492 takes the original shape and the parent as arguments instead. 493 */ 494 SVX_DLLPRIVATE explicit AccessibleShape (void); 495 /// Don't use the copy constructor. Is there any use for it? 496 SVX_DLLPRIVATE explicit AccessibleShape (const AccessibleShape&); 497 /// Don't use the assignment operator. Do we need this? 498 SVX_DLLPRIVATE AccessibleShape& operator= (const AccessibleShape&); 499 //Solution:Old accessible name 500 ::rtl::OUString aAccName; 501 502 /** Call this method when the title, name, or description of the mxShape 503 member (may) have been changed. 504 This method adapts the name and description members of the 505 AccessibleContextBase base class. 506 */ 507 void UpdateNameAndDescription (void); 508 }; 509 510 } // end of namespace accessibility 511 512 #endif 513