1c45d927aSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3c45d927aSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4c45d927aSAndrew Rist * or more contributor license agreements. See the NOTICE file 5c45d927aSAndrew Rist * distributed with this work for additional information 6c45d927aSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7c45d927aSAndrew Rist * to you under the Apache License, Version 2.0 (the 8c45d927aSAndrew Rist * "License"); you may not use this file except in compliance 9c45d927aSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11c45d927aSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13c45d927aSAndrew Rist * Unless required by applicable law or agreed to in writing, 14c45d927aSAndrew Rist * software distributed under the License is distributed on an 15c45d927aSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16c45d927aSAndrew Rist * KIND, either express or implied. See the License for the 17c45d927aSAndrew Rist * specific language governing permissions and limitations 18c45d927aSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20c45d927aSAndrew Rist *************************************************************/ 21c45d927aSAndrew Rist 22c45d927aSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SD_ACCESSIBILITY_ACCESSIBLE_DOCUMENT_VIEW_BASE_HXX 25cdf0e10cSrcweir #define SD_ACCESSIBILITY_ACCESSIBLE_DOCUMENT_VIEW_BASE_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <editeng/AccessibleContextBase.hxx> 28cdf0e10cSrcweir #include <editeng/AccessibleComponentBase.hxx> 29cdf0e10cSrcweir #include <editeng/AccessibleSelectionBase.hxx> 30cdf0e10cSrcweir #include "AccessibleViewForwarder.hxx" 31cdf0e10cSrcweir #include "AccessiblePageShape.hxx" 32cdf0e10cSrcweir #include <svx/ChildrenManager.hxx> 33cdf0e10cSrcweir #include <com/sun/star/frame/XModel.hpp> 34cdf0e10cSrcweir #include <com/sun/star/awt/XWindowListener.hpp> 35cdf0e10cSrcweir #include <com/sun/star/awt/XFocusListener.hpp> 36cdf0e10cSrcweir #include <com/sun/star/beans/XPropertyChangeListener.hpp> 37cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessible.hpp> 38cdf0e10cSrcweir #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> 39cdf0e10cSrcweir #include <tools/link.hxx> 40cdf0e10cSrcweir 41*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009----- 42*0deba7fbSSteve Yin #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> 43*0deba7fbSSteve Yin #include "DrawViewShell.hxx" 44*0deba7fbSSteve Yin #include "sdpage.hxx" 45*0deba7fbSSteve Yin #include "drawdoc.hxx" 46*0deba7fbSSteve Yin #include "FrameView.hxx" 47*0deba7fbSSteve Yin #include "PresentationViewShell.hxx" 48*0deba7fbSSteve Yin #include <editeng/outlobj.hxx> 49*0deba7fbSSteve Yin #include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp> 50*0deba7fbSSteve Yin class SdViewShell; 51*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009 52cdf0e10cSrcweir namespace sd { 53cdf0e10cSrcweir class ViewShell; 54cdf0e10cSrcweir class Window; 55cdf0e10cSrcweir } 56cdf0e10cSrcweir 57cdf0e10cSrcweir class VclSimpleEvent; 58cdf0e10cSrcweir 59cdf0e10cSrcweir namespace accessibility { 60cdf0e10cSrcweir 61cdf0e10cSrcweir 62cdf0e10cSrcweir /** Base class for the various document views of the Draw and 63cdf0e10cSrcweir Impress applications. 64cdf0e10cSrcweir 65cdf0e10cSrcweir <p>The different view modes of the Draw and Impress applications 66cdf0e10cSrcweir are made accessible by derived classes. When the view mode is 67cdf0e10cSrcweir changed than the object representing the document view is 68cdf0e10cSrcweir disposed and replaced by a new instance of the then appropriate 69cdf0e10cSrcweir derived class.</p> 70cdf0e10cSrcweir 71cdf0e10cSrcweir <p>This base class also manages an optionally active accessible OLE 72cdf0e10cSrcweir object. If you overwrite the <member>getAccessibleChildCount</member> 73cdf0e10cSrcweir and <member>getAccessibleChild</member> methods then make sure to first 74cdf0e10cSrcweir call the corresponding method of this class and adapt your child count 75cdf0e10cSrcweir and indices accordingly. Only one active OLE object is allowed at a 76cdf0e10cSrcweir time. This class does not listen for disposing calls at the moment 77cdf0e10cSrcweir because it does not use the accessible OLE object directly and trusts on 78cdf0e10cSrcweir getting informed through VCL window events.</p> 79cdf0e10cSrcweir 80cdf0e10cSrcweir <p>This class implements three kinds of listeners: 81cdf0e10cSrcweir <ol><li>The property change listener is not used directly but exists as 82cdf0e10cSrcweir convenience for derived classes. May be moved to those classes 83cdf0e10cSrcweir instead.</li> 84cdf0e10cSrcweir <li>As window listener it waits for changes of the window geometry and 85cdf0e10cSrcweir forwards those as view forwarder changes.</li> 86cdf0e10cSrcweir <li>As focus listener it keeps track of the focus to give this class and 87cdf0e10cSrcweir derived classes the oportunity to set and remove the focus to/from 88cdf0e10cSrcweir shapes.</li> 89cdf0e10cSrcweir </ol> 90cdf0e10cSrcweir </p> 91cdf0e10cSrcweir */ 92cdf0e10cSrcweir class AccessibleDocumentViewBase 93cdf0e10cSrcweir : public AccessibleContextBase, 94cdf0e10cSrcweir public AccessibleComponentBase, 95cdf0e10cSrcweir public AccessibleSelectionBase, 96cdf0e10cSrcweir public IAccessibleViewForwarderListener, 97cdf0e10cSrcweir public ::com::sun::star::beans::XPropertyChangeListener, 98cdf0e10cSrcweir public ::com::sun::star::awt::XWindowListener, 99cdf0e10cSrcweir public ::com::sun::star::awt::XFocusListener 100*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009----- 101*0deba7fbSSteve Yin ,public ::com::sun::star::accessibility::XAccessibleExtendedAttributes 102*0deba7fbSSteve Yin ,public com::sun::star::accessibility::XAccessibleGetAccFlowTo 103*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009 104cdf0e10cSrcweir { 105cdf0e10cSrcweir public: 106cdf0e10cSrcweir //===== internal ======================================================== 107cdf0e10cSrcweir 108cdf0e10cSrcweir /** Create a new object. Note that the caller has to call the 109cdf0e10cSrcweir Init method directly after this constructor has finished. 110cdf0e10cSrcweir @param pSdWindow 111cdf0e10cSrcweir The window whose content is to be made accessible. 112cdf0e10cSrcweir @param pViewShell 113cdf0e10cSrcweir The view shell associated with the given window. 114cdf0e10cSrcweir @param rxController 115cdf0e10cSrcweir The controller from which to get the model. 116cdf0e10cSrcweir @param rxParent 117cdf0e10cSrcweir The accessible parent of the new object. Note that this parent does 118cdf0e10cSrcweir not necessarily correspond with the parent of the given window. 119cdf0e10cSrcweir */ 120cdf0e10cSrcweir AccessibleDocumentViewBase ( 121cdf0e10cSrcweir ::sd::Window* pSdWindow, 122cdf0e10cSrcweir ::sd::ViewShell* pViewShell, 123cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 124cdf0e10cSrcweir ::com::sun::star::frame::XController>& rxController, 125cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 126cdf0e10cSrcweir ::com::sun::star::accessibility::XAccessible>& rxParent); 127cdf0e10cSrcweir 128cdf0e10cSrcweir virtual ~AccessibleDocumentViewBase (void); 129cdf0e10cSrcweir 130cdf0e10cSrcweir /** Initialize a new object. Call this method directly after creating a 131cdf0e10cSrcweir new object. It finished the initialization begun in the constructor 132cdf0e10cSrcweir but which needs a fully created object. 133cdf0e10cSrcweir */ 134cdf0e10cSrcweir virtual void Init (void); 135cdf0e10cSrcweir 136cdf0e10cSrcweir /** Define callback for listening to window child events of VCL. 137cdf0e10cSrcweir Listen for creation or destruction of OLE objects. 138cdf0e10cSrcweir */ 139cdf0e10cSrcweir DECL_LINK (WindowChildEventListener, VclSimpleEvent*); 140cdf0e10cSrcweir 141cdf0e10cSrcweir //===== IAccessibleViewForwarderListener ================================ 142cdf0e10cSrcweir 143cdf0e10cSrcweir /** A view forwarder change is signalled for instance when any of the 144cdf0e10cSrcweir window events is recieved. Thus, instead of overloading the four 145cdf0e10cSrcweir windowResized... methods it will be sufficient in most cases just to 146cdf0e10cSrcweir overload this method. 147cdf0e10cSrcweir */ 148cdf0e10cSrcweir virtual void ViewForwarderChanged (ChangeType aChangeType, 149cdf0e10cSrcweir const IAccessibleViewForwarder* pViewForwarder); 150cdf0e10cSrcweir 151cdf0e10cSrcweir //===== XAccessibleContext ============================================== 152cdf0e10cSrcweir 153cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< 154cdf0e10cSrcweir ::com::sun::star::accessibility::XAccessible> SAL_CALL 155cdf0e10cSrcweir getAccessibleParent (void) 156cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 157cdf0e10cSrcweir 158cdf0e10cSrcweir /** This implementation returns either 1 or 0 depending on whether there 159cdf0e10cSrcweir is an active accessible OLE object or not. 160cdf0e10cSrcweir */ 161cdf0e10cSrcweir virtual sal_Int32 SAL_CALL 162cdf0e10cSrcweir getAccessibleChildCount (void) 163cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 164cdf0e10cSrcweir 165cdf0e10cSrcweir /** This implementation either returns the active accessible OLE object 166cdf0e10cSrcweir if it exists and the given index is 0 or throws an exception. 167cdf0e10cSrcweir */ 168cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< 169cdf0e10cSrcweir ::com::sun::star::accessibility::XAccessible> SAL_CALL 170cdf0e10cSrcweir getAccessibleChild (sal_Int32 nIndex) 171cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException, 172cdf0e10cSrcweir ::com::sun::star::lang::IndexOutOfBoundsException); 173cdf0e10cSrcweir 174cdf0e10cSrcweir 175cdf0e10cSrcweir //===== XAccessibleComponent ============================================ 176cdf0e10cSrcweir 177cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< 178cdf0e10cSrcweir ::com::sun::star::accessibility::XAccessible > SAL_CALL 179cdf0e10cSrcweir getAccessibleAtPoint (const ::com::sun::star::awt::Point& aPoint) 180cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 181cdf0e10cSrcweir 182cdf0e10cSrcweir virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds (void) 183cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 184cdf0e10cSrcweir 185cdf0e10cSrcweir virtual ::com::sun::star::awt::Point SAL_CALL getLocation (void) 186cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 187cdf0e10cSrcweir 188cdf0e10cSrcweir virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen (void) 189cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 190cdf0e10cSrcweir 191cdf0e10cSrcweir virtual ::com::sun::star::awt::Size SAL_CALL getSize (void) 192cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 193cdf0e10cSrcweir 194cdf0e10cSrcweir 195cdf0e10cSrcweir //===== XInterface ====================================================== 196cdf0e10cSrcweir 197cdf0e10cSrcweir virtual com::sun::star::uno::Any SAL_CALL 198cdf0e10cSrcweir queryInterface (const com::sun::star::uno::Type & rType) 199cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 200cdf0e10cSrcweir 201cdf0e10cSrcweir virtual void SAL_CALL 202cdf0e10cSrcweir acquire (void) 203cdf0e10cSrcweir throw (); 204cdf0e10cSrcweir 205cdf0e10cSrcweir virtual void SAL_CALL 206cdf0e10cSrcweir release (void) 207cdf0e10cSrcweir throw (); 208cdf0e10cSrcweir 209cdf0e10cSrcweir 210cdf0e10cSrcweir //===== XServiceInfo ==================================================== 211cdf0e10cSrcweir 212cdf0e10cSrcweir /** Returns an identifier for the implementation of this object. 213cdf0e10cSrcweir */ 214cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL 215cdf0e10cSrcweir getImplementationName (void) 216cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 217cdf0e10cSrcweir 218cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL 219cdf0e10cSrcweir getSupportedServiceNames (void) 220cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 221cdf0e10cSrcweir 222cdf0e10cSrcweir 223cdf0e10cSrcweir //===== XTypeProvider =================================================== 224cdf0e10cSrcweir 225cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL 226cdf0e10cSrcweir getTypes (void) 227cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 228cdf0e10cSrcweir 229cdf0e10cSrcweir 230cdf0e10cSrcweir //===== lang::XEventListener ============================================ 231cdf0e10cSrcweir 232cdf0e10cSrcweir virtual void SAL_CALL 233cdf0e10cSrcweir disposing (const ::com::sun::star::lang::EventObject& rEventObject) 234cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 235cdf0e10cSrcweir 236cdf0e10cSrcweir 237cdf0e10cSrcweir //===== XPropertyChangeListener ========================================= 238cdf0e10cSrcweir 239cdf0e10cSrcweir virtual void SAL_CALL 240cdf0e10cSrcweir propertyChange (const ::com::sun::star::beans::PropertyChangeEvent& rEventObject) 241cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 242cdf0e10cSrcweir 243cdf0e10cSrcweir 244cdf0e10cSrcweir //===== XWindowListener ================================================= 245cdf0e10cSrcweir 246cdf0e10cSrcweir virtual void SAL_CALL 247cdf0e10cSrcweir windowResized (const ::com::sun::star::awt::WindowEvent& e) 248cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 249cdf0e10cSrcweir 250cdf0e10cSrcweir virtual void SAL_CALL 251cdf0e10cSrcweir windowMoved (const ::com::sun::star::awt::WindowEvent& e) 252cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 253cdf0e10cSrcweir 254cdf0e10cSrcweir virtual void SAL_CALL 255cdf0e10cSrcweir windowShown (const ::com::sun::star::lang::EventObject& e) 256cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 257cdf0e10cSrcweir 258cdf0e10cSrcweir virtual void SAL_CALL 259cdf0e10cSrcweir windowHidden (const ::com::sun::star::lang::EventObject& e) 260cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 261cdf0e10cSrcweir 262cdf0e10cSrcweir //===== XFocusListener ================================================= 263cdf0e10cSrcweir 264cdf0e10cSrcweir virtual void SAL_CALL focusGained (const ::com::sun::star::awt::FocusEvent& e) 265cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 266cdf0e10cSrcweir virtual void SAL_CALL focusLost (const ::com::sun::star::awt::FocusEvent& e) 267cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 268*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009----- 269*0deba7fbSSteve Yin //----------------------------xAttribute---------------------------- 270*0deba7fbSSteve Yin virtual com::sun::star::uno::Any SAL_CALL getExtendedAttributes() 271*0deba7fbSSteve Yin throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ; 272*0deba7fbSSteve Yin ::sd::ViewShell* mpViewShell; 273*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009 274cdf0e10cSrcweir private: 275cdf0e10cSrcweir 276cdf0e10cSrcweir // return the member maMutex; 277cdf0e10cSrcweir virtual ::osl::Mutex& 278cdf0e10cSrcweir implGetMutex(); 279cdf0e10cSrcweir 280cdf0e10cSrcweir // return ourself as context in default case 281cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > 282cdf0e10cSrcweir implGetAccessibleContext() 283cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 284cdf0e10cSrcweir 285cdf0e10cSrcweir // return sal_False in default case 286cdf0e10cSrcweir virtual sal_Bool 287cdf0e10cSrcweir implIsSelected( sal_Int32 nAccessibleChildIndex ) 288cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 289cdf0e10cSrcweir 290cdf0e10cSrcweir // return nothing in default case 291cdf0e10cSrcweir virtual void 292cdf0e10cSrcweir implSelect( sal_Int32 nAccessibleChildIndex, sal_Bool bSelect ) 293cdf0e10cSrcweir throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); 294cdf0e10cSrcweir 295cdf0e10cSrcweir protected: 296cdf0e10cSrcweir /// The core window that is made accessible. 297cdf0e10cSrcweir ::sd::Window* mpWindow; 298cdf0e10cSrcweir 299cdf0e10cSrcweir /// The API window that is made accessible. 300cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow> 301cdf0e10cSrcweir mxWindow; 302cdf0e10cSrcweir 303cdf0e10cSrcweir /// The controller of the window in which this view is displayed. 304cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController> 305cdf0e10cSrcweir mxController; 306cdf0e10cSrcweir 307cdf0e10cSrcweir /// Model of the document. 308cdf0e10cSrcweir ::com::sun::star::uno::Reference < ::com::sun::star::frame::XModel> 309cdf0e10cSrcweir mxModel; 310cdf0e10cSrcweir 311cdf0e10cSrcweir // Bundle of information that is passed down the shape tree. 312cdf0e10cSrcweir AccessibleShapeTreeInfo maShapeTreeInfo; 313cdf0e10cSrcweir 314cdf0e10cSrcweir /// The view forwarder passed to the children manager. 315cdf0e10cSrcweir AccessibleViewForwarder maViewForwarder; 316cdf0e10cSrcweir 317cdf0e10cSrcweir /** Accessible OLE object. Set or removed by the 318cdf0e10cSrcweir <member>SetAccessibleOLEObject</member> method. 319cdf0e10cSrcweir */ 320cdf0e10cSrcweir ::com::sun::star::uno::Reference < 321cdf0e10cSrcweir ::com::sun::star::accessibility::XAccessible> 322cdf0e10cSrcweir mxAccessibleOLEObject; 323cdf0e10cSrcweir 324cdf0e10cSrcweir Link maWindowLink; 325cdf0e10cSrcweir 326cdf0e10cSrcweir // This method is called from the component helper base class while 327cdf0e10cSrcweir // disposing. 328cdf0e10cSrcweir virtual void SAL_CALL disposing (void); 329cdf0e10cSrcweir 330cdf0e10cSrcweir /** Create a name string. The current name is not modified and, 331cdf0e10cSrcweir therefore, no events are send. This method is usually called once 332cdf0e10cSrcweir by the <member>getAccessibleName</member> method of the base class. 333cdf0e10cSrcweir @return 334cdf0e10cSrcweir A name string. 335cdf0e10cSrcweir */ 336cdf0e10cSrcweir virtual ::rtl::OUString 337cdf0e10cSrcweir CreateAccessibleName () 338cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 339cdf0e10cSrcweir 340cdf0e10cSrcweir /** Create a description string. The current description is not 341cdf0e10cSrcweir modified and, therefore, no events are send. This method is usually 342cdf0e10cSrcweir called once by the <member>getAccessibleDescription</member> method 343cdf0e10cSrcweir of the base class. 344cdf0e10cSrcweir @return 345cdf0e10cSrcweir A description string. 346cdf0e10cSrcweir */ 347cdf0e10cSrcweir virtual ::rtl::OUString 348cdf0e10cSrcweir CreateAccessibleDescription () 349cdf0e10cSrcweir throw (::com::sun::star::uno::RuntimeException); 350cdf0e10cSrcweir 351cdf0e10cSrcweir /** This method is called when (after) the frame containing this 352cdf0e10cSrcweir document has been activated. Can be used to send FOCUSED state 353cdf0e10cSrcweir changes for the currently selected element. 354cdf0e10cSrcweir 355cdf0e10cSrcweir Note: Currently used as a substitute for FocusGained. Should be 356cdf0e10cSrcweir renamed in the future. 357cdf0e10cSrcweir */ 358cdf0e10cSrcweir virtual void Activated (void); 359cdf0e10cSrcweir 360cdf0e10cSrcweir /** This method is called when (before or after?) the frame containing 361cdf0e10cSrcweir this document has been deactivated. Can be used to send FOCUSED 362cdf0e10cSrcweir state changes for the currently selected element. 363cdf0e10cSrcweir 364cdf0e10cSrcweir Note: Currently used as a substitute for FocusLost. Should be 365cdf0e10cSrcweir renamed in the future. 366cdf0e10cSrcweir */ 367cdf0e10cSrcweir virtual void Deactivated (void); 368cdf0e10cSrcweir 369cdf0e10cSrcweir /** Set or remove the currently active accessible OLE object. 370cdf0e10cSrcweir @param xOLEObject 371cdf0e10cSrcweir If this is a valid reference then a child event is send that 372cdf0e10cSrcweir informs the listeners of a new child. If there has already been 373cdf0e10cSrcweir an active accessible OLE object then this is removed first and 374cdf0e10cSrcweir appropriate events are send. 375cdf0e10cSrcweir 376cdf0e10cSrcweir If this is an empty reference then the currently active 377cdf0e10cSrcweir accessible OLE object (if there is one) is removed. 378cdf0e10cSrcweir */ 379cdf0e10cSrcweir virtual void SetAccessibleOLEObject ( 380cdf0e10cSrcweir const ::com::sun::star::uno::Reference < 381cdf0e10cSrcweir ::com::sun::star::accessibility::XAccessible>& xOLEObject); 382*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009----- 383*0deba7fbSSteve Yin //===== XAccessibleGetAccFromXShape ============================================ 384*0deba7fbSSteve Yin ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > 385*0deba7fbSSteve Yin SAL_CALL get_AccFlowTo(const ::com::sun::star::uno::Any& rAny, sal_Int32 nType) 386*0deba7fbSSteve Yin throw ( ::com::sun::star::uno::RuntimeException ); 387cdf0e10cSrcweir 388*0deba7fbSSteve Yin public: 389*0deba7fbSSteve Yin virtual void SwitchViewActivated (void) { Activated(); } 390*0deba7fbSSteve Yin virtual sal_Int32 SAL_CALL getForeground( ) 391*0deba7fbSSteve Yin throw (::com::sun::star::uno::RuntimeException); 392*0deba7fbSSteve Yin 393*0deba7fbSSteve Yin virtual sal_Int32 SAL_CALL getBackground( ) 394*0deba7fbSSteve Yin throw (::com::sun::star::uno::RuntimeException); 395*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009 396cdf0e10cSrcweir virtual void impl_dispose (void); 397cdf0e10cSrcweir }; 398cdf0e10cSrcweir 399cdf0e10cSrcweir } // end of namespace accessibility 400cdf0e10cSrcweir 401cdf0e10cSrcweir #endif 402