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 25*b1cdbd2cSJim Jagielski #ifndef _SC_ACCESSIBLEDOCUMENT_HXX 26*b1cdbd2cSJim Jagielski #define _SC_ACCESSIBLEDOCUMENT_HXX 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski #include "AccessibleDocumentBase.hxx" 29*b1cdbd2cSJim Jagielski #include "viewdata.hxx" 30*b1cdbd2cSJim Jagielski #include <com/sun/star/accessibility/XAccessibleSelection.hpp> 31*b1cdbd2cSJim Jagielski #include <com/sun/star/view/XSelectionChangeListener.hpp> 32*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase3.hxx> 33*b1cdbd2cSJim Jagielski #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> 34*b1cdbd2cSJim Jagielski #include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp> 35*b1cdbd2cSJim Jagielski #include <svx/IAccessibleViewForwarder.hxx> 36*b1cdbd2cSJim Jagielski 37*b1cdbd2cSJim Jagielski class ScTabViewShell; 38*b1cdbd2cSJim Jagielski class ScAccessibleSpreadsheet; 39*b1cdbd2cSJim Jagielski class ScChildrenShapes; 40*b1cdbd2cSJim Jagielski class ScAccessibleEditObject; 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski namespace accessibility 43*b1cdbd2cSJim Jagielski { 44*b1cdbd2cSJim Jagielski class AccessibleShape; 45*b1cdbd2cSJim Jagielski } 46*b1cdbd2cSJim Jagielski namespace utl 47*b1cdbd2cSJim Jagielski { 48*b1cdbd2cSJim Jagielski class AccessibleRelationSetHelper; 49*b1cdbd2cSJim Jagielski } 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski /** @descr 52*b1cdbd2cSJim Jagielski This base class provides an implementation of the 53*b1cdbd2cSJim Jagielski <code>AccessibleContext</code> service. 54*b1cdbd2cSJim Jagielski */ 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski typedef cppu::ImplHelper3< ::com::sun::star::accessibility::XAccessibleSelection, 57*b1cdbd2cSJim Jagielski ::com::sun::star::accessibility::XAccessibleExtendedAttributes, 58*b1cdbd2cSJim Jagielski ::com::sun::star::view::XSelectionChangeListener > 59*b1cdbd2cSJim Jagielski ScAccessibleDocumentImpl; 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski class ScAccessibleDocument 62*b1cdbd2cSJim Jagielski : public ScAccessibleDocumentBase, 63*b1cdbd2cSJim Jagielski public ScAccessibleDocumentImpl, 64*b1cdbd2cSJim Jagielski public com::sun::star::accessibility::XAccessibleGetAccFlowTo, 65*b1cdbd2cSJim Jagielski public accessibility::IAccessibleViewForwarder 66*b1cdbd2cSJim Jagielski { 67*b1cdbd2cSJim Jagielski public: 68*b1cdbd2cSJim Jagielski //===== internal ======================================================== 69*b1cdbd2cSJim Jagielski ScAccessibleDocument( 70*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< 71*b1cdbd2cSJim Jagielski ::com::sun::star::accessibility::XAccessible>& rxParent, 72*b1cdbd2cSJim Jagielski ScTabViewShell* pViewShell, 73*b1cdbd2cSJim Jagielski ScSplitPos eSplitPos); 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski virtual void Init(); 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski DECL_LINK( WindowChildEventListener, VclSimpleEvent* ); 79*b1cdbd2cSJim Jagielski protected: 80*b1cdbd2cSJim Jagielski virtual ~ScAccessibleDocument(void); 81*b1cdbd2cSJim Jagielski 82*b1cdbd2cSJim Jagielski using ScAccessibleDocumentBase::IsDefunc; 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski public: 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski virtual void SAL_CALL disposing(); 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski ///===== SfxListener ===================================================== 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim Jagielski virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski ///===== XInterface ===================================================== 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( 95*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Type const & rType ) 96*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski virtual void SAL_CALL acquire() throw (); 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim Jagielski virtual void SAL_CALL release() throw (); 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielski ///===== XAccessibleComponent ============================================ 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > 105*b1cdbd2cSJim Jagielski SAL_CALL getAccessibleAtPoint( 106*b1cdbd2cSJim Jagielski const ::com::sun::star::awt::Point& rPoint ) 107*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski virtual void SAL_CALL grabFocus( ) 110*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski ///===== XAccessibleContext ============================================== 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski /// Return the number of currently visible children. 115*b1cdbd2cSJim Jagielski virtual sal_Int32 SAL_CALL 116*b1cdbd2cSJim Jagielski getAccessibleChildCount(void) 117*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim Jagielski /// Return the specified child or NULL if index is invalid. 120*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL 121*b1cdbd2cSJim Jagielski getAccessibleChild(sal_Int32 nIndex) 122*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException, 123*b1cdbd2cSJim Jagielski ::com::sun::star::lang::IndexOutOfBoundsException); 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim Jagielski /// Return the set of current states. 126*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< 127*b1cdbd2cSJim Jagielski ::com::sun::star::accessibility::XAccessibleStateSet> SAL_CALL 128*b1cdbd2cSJim Jagielski getAccessibleStateSet(void) 129*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL 132*b1cdbd2cSJim Jagielski getAccessibleName(void) 133*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Any SAL_CALL getExtendedAttributes() 136*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ; 137*b1cdbd2cSJim Jagielski ///===== XAccessibleSelection =========================================== 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski virtual void SAL_CALL 140*b1cdbd2cSJim Jagielski selectAccessibleChild( sal_Int32 nChildIndex ) 141*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IndexOutOfBoundsException, 142*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL 145*b1cdbd2cSJim Jagielski isAccessibleChildSelected( sal_Int32 nChildIndex ) 146*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IndexOutOfBoundsException, 147*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski virtual void SAL_CALL 150*b1cdbd2cSJim Jagielski clearAccessibleSelection( ) 151*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski virtual void SAL_CALL 154*b1cdbd2cSJim Jagielski selectAllAccessibleChildren( ) 155*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski virtual sal_Int32 SAL_CALL 158*b1cdbd2cSJim Jagielski getSelectedAccessibleChildCount( ) 159*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 160*b1cdbd2cSJim Jagielski 161*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< 162*b1cdbd2cSJim Jagielski ::com::sun::star::accessibility::XAccessible > SAL_CALL 163*b1cdbd2cSJim Jagielski getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) 164*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IndexOutOfBoundsException, 165*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski virtual void SAL_CALL 168*b1cdbd2cSJim Jagielski deselectAccessibleChild( sal_Int32 nChildIndex ) 169*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IndexOutOfBoundsException, 170*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielski ///===== XSelectionListener ============================================= 173*b1cdbd2cSJim Jagielski 174*b1cdbd2cSJim Jagielski virtual void SAL_CALL selectionChanged( const ::com::sun::star::lang::EventObject& aEvent ) 175*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) 178*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 179*b1cdbd2cSJim Jagielski 180*b1cdbd2cSJim Jagielski ///===== XServiceInfo =================================================== 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski /** Returns an identifier for the implementation of this object. 183*b1cdbd2cSJim Jagielski */ 184*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL 185*b1cdbd2cSJim Jagielski getImplementationName(void) 186*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski /** Returns a list of all supported services. 189*b1cdbd2cSJim Jagielski */ 190*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL 191*b1cdbd2cSJim Jagielski getSupportedServiceNames(void) 192*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 193*b1cdbd2cSJim Jagielski 194*b1cdbd2cSJim Jagielski ///===== XTypeProvider =================================================== 195*b1cdbd2cSJim Jagielski 196*b1cdbd2cSJim Jagielski /// returns the possible types 197*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 198*b1cdbd2cSJim Jagielski getTypes() 199*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 200*b1cdbd2cSJim Jagielski 201*b1cdbd2cSJim Jagielski /** Returns a implementation id. 202*b1cdbd2cSJim Jagielski */ 203*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL 204*b1cdbd2cSJim Jagielski getImplementationId(void) 205*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski ///===== IAccessibleViewForwarder ======================================== 208*b1cdbd2cSJim Jagielski 209*b1cdbd2cSJim Jagielski /** This method informs you about the state of the forwarder. Do not 210*b1cdbd2cSJim Jagielski use it when the returned value is <false/>. 211*b1cdbd2cSJim Jagielski 212*b1cdbd2cSJim Jagielski @return 213*b1cdbd2cSJim Jagielski Return <true/> if the view forwarder is valid and <false/> else. 214*b1cdbd2cSJim Jagielski */ 215*b1cdbd2cSJim Jagielski virtual sal_Bool IsValid (void) const; 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski /** Returns the area of the underlying document that is visible in the 218*b1cdbd2cSJim Jagielski * corresponding window. 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski @return 221*b1cdbd2cSJim Jagielski The rectangle of the visible part of the document. The values 222*b1cdbd2cSJim Jagielski are, contrary to the base class, in internal coordinates. 223*b1cdbd2cSJim Jagielski */ 224*b1cdbd2cSJim Jagielski virtual Rectangle GetVisibleArea() const; 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski /** Transform the specified point from internal coordinates to an 227*b1cdbd2cSJim Jagielski absolute screen position. 228*b1cdbd2cSJim Jagielski 229*b1cdbd2cSJim Jagielski @param rPoint 230*b1cdbd2cSJim Jagielski Point in internal coordinates. 231*b1cdbd2cSJim Jagielski 232*b1cdbd2cSJim Jagielski @return 233*b1cdbd2cSJim Jagielski The same point but in screen coordinates relative to the upper 234*b1cdbd2cSJim Jagielski left corner of the (current) screen. 235*b1cdbd2cSJim Jagielski */ 236*b1cdbd2cSJim Jagielski virtual Point LogicToPixel (const Point& rPoint) const; 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski /** Transform the specified size from internal coordinates to a screen 239*b1cdbd2cSJim Jagielski * oriented pixel size. 240*b1cdbd2cSJim Jagielski 241*b1cdbd2cSJim Jagielski @param rSize 242*b1cdbd2cSJim Jagielski Size in internal coordinates. 243*b1cdbd2cSJim Jagielski 244*b1cdbd2cSJim Jagielski @return 245*b1cdbd2cSJim Jagielski The same size but in screen coordinates. 246*b1cdbd2cSJim Jagielski */ 247*b1cdbd2cSJim Jagielski virtual Size LogicToPixel (const Size& rSize) const; 248*b1cdbd2cSJim Jagielski 249*b1cdbd2cSJim Jagielski /** Transform the specified point from absolute screen coordinates to 250*b1cdbd2cSJim Jagielski internal coordinates. 251*b1cdbd2cSJim Jagielski 252*b1cdbd2cSJim Jagielski @param rPoint 253*b1cdbd2cSJim Jagielski Point in screen coordinates relative to the upper left corner of 254*b1cdbd2cSJim Jagielski the (current) screen. 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski @return 257*b1cdbd2cSJim Jagielski The same point but in internal coordinates. 258*b1cdbd2cSJim Jagielski */ 259*b1cdbd2cSJim Jagielski virtual Point PixelToLogic (const Point& rPoint) const; 260*b1cdbd2cSJim Jagielski 261*b1cdbd2cSJim Jagielski /** Transform the specified size from screen coordinates to internal 262*b1cdbd2cSJim Jagielski coordinates. 263*b1cdbd2cSJim Jagielski 264*b1cdbd2cSJim Jagielski @param rSize 265*b1cdbd2cSJim Jagielski Size in screen coordinates. 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski @return 268*b1cdbd2cSJim Jagielski The same size but in internal coordinates. 269*b1cdbd2cSJim Jagielski */ 270*b1cdbd2cSJim Jagielski virtual Size PixelToLogic (const Size& rSize) const; 271*b1cdbd2cSJim Jagielski 272*b1cdbd2cSJim Jagielski ///======== internal ===================================================== 273*b1cdbd2cSJim Jagielski 274*b1cdbd2cSJim Jagielski utl::AccessibleRelationSetHelper* GetRelationSet(const ScAddress* pAddress) const; 275*b1cdbd2cSJim Jagielski 276*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference 277*b1cdbd2cSJim Jagielski < ::com::sun::star::accessibility::XAccessible > 278*b1cdbd2cSJim Jagielski GetAccessibleSpreadsheet(); 279*b1cdbd2cSJim Jagielski 280*b1cdbd2cSJim Jagielski protected: 281*b1cdbd2cSJim Jagielski /// Return this object's description. 282*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL 283*b1cdbd2cSJim Jagielski createAccessibleDescription(void) 284*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 285*b1cdbd2cSJim Jagielski 286*b1cdbd2cSJim Jagielski /// Return the object's current name. 287*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL 288*b1cdbd2cSJim Jagielski createAccessibleName(void) 289*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski /// Return the object's current bounding box relative to the desktop. 292*b1cdbd2cSJim Jagielski virtual Rectangle GetBoundingBoxOnScreen(void) const 293*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 294*b1cdbd2cSJim Jagielski 295*b1cdbd2cSJim Jagielski /// Return the object's current bounding box relative to the parent object. 296*b1cdbd2cSJim Jagielski virtual Rectangle GetBoundingBox(void) const 297*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 298*b1cdbd2cSJim Jagielski 299*b1cdbd2cSJim Jagielski private: 300*b1cdbd2cSJim Jagielski ScTabViewShell* mpViewShell; 301*b1cdbd2cSJim Jagielski ScSplitPos meSplitPos; 302*b1cdbd2cSJim Jagielski ScAccessibleSpreadsheet* mpAccessibleSpreadsheet; 303*b1cdbd2cSJim Jagielski ScChildrenShapes* mpChildrenShapes; 304*b1cdbd2cSJim Jagielski ScAccessibleEditObject* mpTempAccEdit; 305*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> mxTempAcc; 306*b1cdbd2cSJim Jagielski Rectangle maVisArea; 307*b1cdbd2cSJim Jagielski sal_Bool mbCompleteSheetSelected; 308*b1cdbd2cSJim Jagielski 309*b1cdbd2cSJim Jagielski public: 310*b1cdbd2cSJim Jagielski SCTAB getVisibleTable() const; // use it in ScChildrenShapes 311*b1cdbd2cSJim Jagielski 312*b1cdbd2cSJim Jagielski private: 313*b1cdbd2cSJim Jagielski void FreeAccessibleSpreadsheet(); 314*b1cdbd2cSJim Jagielski 315*b1cdbd2cSJim Jagielski sal_Bool IsTableSelected() const; 316*b1cdbd2cSJim Jagielski 317*b1cdbd2cSJim Jagielski sal_Bool IsDefunc( 318*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 319*b1cdbd2cSJim Jagielski ::com::sun::star::accessibility::XAccessibleStateSet>& rxParentStates); 320*b1cdbd2cSJim Jagielski sal_Bool IsEditable( 321*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 322*b1cdbd2cSJim Jagielski ::com::sun::star::accessibility::XAccessibleStateSet>& rxParentStates); 323*b1cdbd2cSJim Jagielski 324*b1cdbd2cSJim Jagielski void AddChild(const com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>& xAcc, sal_Bool bFireEvent); 325*b1cdbd2cSJim Jagielski void RemoveChild(const com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>& xAcc, sal_Bool bFireEvent); 326*b1cdbd2cSJim Jagielski 327*b1cdbd2cSJim Jagielski rtl::OUString GetCurrentCellName() const; 328*b1cdbd2cSJim Jagielski rtl::OUString GetCurrentCellDescription() const; 329*b1cdbd2cSJim Jagielski 330*b1cdbd2cSJim Jagielski Rectangle GetVisibleArea_Impl() const; 331*b1cdbd2cSJim Jagielski com::sun::star::uno::Sequence< com::sun::star::uno::Any > GetScAccFlowToSequence(); 332*b1cdbd2cSJim Jagielski public: 333*b1cdbd2cSJim Jagielski ScDocument *GetDocument() const ; 334*b1cdbd2cSJim Jagielski ScAddress GetCurCellAddress() const; 335*b1cdbd2cSJim Jagielski //===== XAccessibleGetAccFromXShape ============================================ 336*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > 337*b1cdbd2cSJim Jagielski SAL_CALL get_AccFlowTo(const ::com::sun::star::uno::Any& rAny, sal_Int32 nType) 338*b1cdbd2cSJim Jagielski throw ( ::com::sun::star::uno::RuntimeException ); 339*b1cdbd2cSJim Jagielski 340*b1cdbd2cSJim Jagielski virtual sal_Int32 SAL_CALL getForeground( ) 341*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 342*b1cdbd2cSJim Jagielski 343*b1cdbd2cSJim Jagielski virtual sal_Int32 SAL_CALL getBackground( ) 344*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 345*b1cdbd2cSJim Jagielski protected: 346*b1cdbd2cSJim Jagielski void SwitchViewFireFocus(); 347*b1cdbd2cSJim Jagielski }; 348*b1cdbd2cSJim Jagielski 349*b1cdbd2cSJim Jagielski 350*b1cdbd2cSJim Jagielski #endif 351