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