LCOV - code coverage report
Current view: top level - sc/source/ui/view - gridwin5.cxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 12 222 5.4 %
Date: 2014-11-03 Functions: 4 8 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <editeng/eeitem.hxx>
      21             : 
      22             : #include <editeng/flditem.hxx>
      23             : 
      24             : #include <editeng/editview.hxx>
      25             : #include <svx/svdobj.hxx>
      26             : #include <svx/svdpagv.hxx>
      27             : #include <svtools/imapobj.hxx>
      28             : #include <vcl/cursor.hxx>
      29             : #include <vcl/help.hxx>
      30             : #include <vcl/svapp.hxx>
      31             : #include <tools/urlobj.hxx>
      32             : #include <sfx2/viewfrm.hxx>
      33             : 
      34             : #include <unotools/localedatawrapper.hxx>
      35             : #include <unotools/securityoptions.hxx>
      36             : 
      37             : #include "viewuno.hxx"
      38             : #include "AccessibleDocument.hxx"
      39             : #include <com/sun/star/accessibility/XAccessible.hpp>
      40             : 
      41             : #include "gridwin.hxx"
      42             : #include "viewdata.hxx"
      43             : #include "drawview.hxx"
      44             : #include "drwlayer.hxx"
      45             : #include "drawpage.hxx"
      46             : #include "document.hxx"
      47             : #include "notemark.hxx"
      48             : #include "chgtrack.hxx"
      49             : #include "chgviset.hxx"
      50             : #include "dbfunc.hxx"
      51             : #include "tabvwsh.hxx"
      52             : #include "userdat.hxx"
      53             : #include "postit.hxx"
      54             : #include "global.hxx"
      55             : #include "globstr.hrc"
      56             : 
      57           0 : bool ScGridWindow::ShowNoteMarker( SCsCOL nPosX, SCsROW nPosY, bool bKeyboard )
      58             : {
      59           0 :     bool bDone = false;
      60             : 
      61           0 :     ScDocument* pDoc = pViewData->GetDocument();
      62           0 :     SCTAB       nTab = pViewData->GetTabNo();
      63           0 :     ScAddress   aCellPos( nPosX, nPosY, nTab );
      64             : 
      65           0 :     OUString aTrackText;
      66           0 :     bool bLeftEdge = false;
      67             : 
      68             :     //  Change-Tracking
      69             : 
      70           0 :     ScChangeTrack* pTrack = pDoc->GetChangeTrack();
      71           0 :     ScChangeViewSettings* pSettings = pDoc->GetChangeViewSettings();
      72           0 :     if ( pTrack && pTrack->GetFirst() && pSettings && pSettings->ShowChanges())
      73             :     {
      74           0 :         const ScChangeAction* pFound = NULL;
      75           0 :         const ScChangeAction* pFoundContent = NULL;
      76           0 :         const ScChangeAction* pFoundMove = NULL;
      77           0 :         long nModified = 0;
      78           0 :         const ScChangeAction* pAction = pTrack->GetFirst();
      79           0 :         while (pAction)
      80             :         {
      81           0 :             if ( pAction->IsVisible() &&
      82           0 :                  ScViewUtil::IsActionShown( *pAction, *pSettings, *pDoc ) )
      83             :             {
      84           0 :                 ScChangeActionType eType = pAction->GetType();
      85           0 :                 const ScBigRange& rBig = pAction->GetBigRange();
      86           0 :                 if ( rBig.aStart.Tab() == nTab )
      87             :                 {
      88           0 :                     ScRange aRange = rBig.MakeRange();
      89             : 
      90           0 :                     if ( eType == SC_CAT_DELETE_ROWS )
      91           0 :                         aRange.aEnd.SetRow( aRange.aStart.Row() );
      92           0 :                     else if ( eType == SC_CAT_DELETE_COLS )
      93           0 :                         aRange.aEnd.SetCol( aRange.aStart.Col() );
      94             : 
      95           0 :                     if ( aRange.In( aCellPos ) )
      96             :                     {
      97           0 :                         pFound = pAction;       // der letzte gewinnt
      98           0 :                         switch ( eType )
      99             :                         {
     100             :                             case SC_CAT_CONTENT :
     101           0 :                                 pFoundContent = pAction;
     102           0 :                             break;
     103             :                             case SC_CAT_MOVE :
     104           0 :                                 pFoundMove = pAction;
     105           0 :                             break;
     106             :                             default:
     107             :                             {
     108             :                                 // added to avoid warnings
     109             :                             }
     110             :                         }
     111           0 :                         ++nModified;
     112             :                     }
     113             :                 }
     114           0 :                 if ( eType == SC_CAT_MOVE )
     115             :                 {
     116             :                     ScRange aRange =
     117             :                         static_cast<const ScChangeActionMove*>(pAction)->
     118           0 :                         GetFromRange().MakeRange();
     119           0 :                     if ( aRange.In( aCellPos ) )
     120             :                     {
     121           0 :                         pFound = pAction;
     122           0 :                         ++nModified;
     123             :                     }
     124             :                 }
     125             :             }
     126           0 :             pAction = pAction->GetNext();
     127             :         }
     128             : 
     129           0 :         if ( pFound )
     130             :         {
     131           0 :             if ( pFoundContent && pFound->GetType() != SC_CAT_CONTENT )
     132           0 :                 pFound = pFoundContent;     // Content gewinnt
     133           0 :             if ( pFoundMove && pFound->GetType() != SC_CAT_MOVE &&
     134           0 :                     pFoundMove->GetActionNumber() >
     135           0 :                     pFound->GetActionNumber() )
     136           0 :                 pFound = pFoundMove;        // Move gewinnt
     137             : 
     138             :             //  bei geloeschten Spalten: Pfeil auf die linke Seite der Zelle
     139           0 :             if ( pFound->GetType() == SC_CAT_DELETE_COLS )
     140           0 :                 bLeftEdge = true;
     141             : 
     142           0 :             DateTime aDT = pFound->GetDateTime();
     143           0 :             aTrackText  = pFound->GetUser();
     144           0 :             aTrackText += ", ";
     145           0 :             aTrackText += ScGlobal::pLocaleData->getDate(aDT);
     146           0 :             aTrackText += " ";
     147           0 :             aTrackText += ScGlobal::pLocaleData->getTime(aDT);
     148           0 :             aTrackText += ":\n";
     149           0 :             OUString aComStr=pFound->GetComment();
     150           0 :             if(!aComStr.isEmpty())
     151             :             {
     152           0 :                 aTrackText += aComStr;
     153           0 :                 aTrackText += "\n( ";
     154             :             }
     155           0 :             OUString aTmp;
     156           0 :             pFound->GetDescription(aTmp, pDoc);
     157           0 :             aTrackText += aTmp;
     158           0 :             if(!aComStr.isEmpty())
     159             :             {
     160           0 :                 aTrackText += ")";
     161           0 :             }
     162             :         }
     163             :     }
     164             : 
     165             :     //  Notiz nur, wenn sie nicht schon auf dem Drawing-Layer angezeigt wird:
     166           0 :     const ScPostIt* pNote = pDoc->GetNote( aCellPos );
     167           0 :     if ( (!aTrackText.isEmpty()) || (pNote && !pNote->IsCaptionShown()) )
     168             :     {
     169           0 :         bool bNew = true;
     170           0 :         bool bFast = false;
     171           0 :         if ( pNoteMarker )          // schon eine Notiz angezeigt
     172             :         {
     173           0 :             if ( pNoteMarker->GetDocPos() == aCellPos ) // dieselbe
     174           0 :                 bNew = false;                           // dann stehenlassen
     175             :             else
     176           0 :                 bFast = true;                           // sonst sofort
     177             : 
     178             :             //  marker which was shown for ctrl-F1 isn't removed by mouse events
     179           0 :             if ( pNoteMarker->IsByKeyboard() && !bKeyboard )
     180           0 :                 bNew = false;
     181             :         }
     182           0 :         if ( bNew )
     183             :         {
     184           0 :             if ( bKeyboard )
     185           0 :                 bFast = true;           // keyboard also shows the marker immediately
     186             : 
     187           0 :             delete pNoteMarker;
     188             : 
     189           0 :             bool bHSplit = pViewData->GetHSplitMode() != SC_SPLIT_NONE;
     190           0 :             bool bVSplit = pViewData->GetVSplitMode() != SC_SPLIT_NONE;
     191             : 
     192           0 :             vcl::Window* pLeft = pViewData->GetView()->GetWindowByPos( bVSplit ? SC_SPLIT_TOPLEFT : SC_SPLIT_BOTTOMLEFT );
     193           0 :             vcl::Window* pRight = bHSplit ? pViewData->GetView()->GetWindowByPos( bVSplit ? SC_SPLIT_TOPRIGHT : SC_SPLIT_BOTTOMRIGHT ) : 0;
     194           0 :             vcl::Window* pBottom = bVSplit ? pViewData->GetView()->GetWindowByPos( SC_SPLIT_BOTTOMLEFT ) : 0;
     195           0 :             vcl::Window* pDiagonal = (bHSplit && bVSplit) ? pViewData->GetView()->GetWindowByPos( SC_SPLIT_BOTTOMRIGHT ) : 0;
     196             :             OSL_ENSURE( pLeft, "ScGridWindow::ShowNoteMarker - missing top-left grid window" );
     197             : 
     198             :             /*  If caption is shown from right or bottom windows, adjust
     199             :                 mapmode to include size of top-left window. */
     200           0 :             MapMode aMapMode = GetDrawMapMode( true );
     201           0 :             Size aLeftSize = pLeft->PixelToLogic( pLeft->GetOutputSizePixel(), aMapMode );
     202           0 :             Point aOrigin = aMapMode.GetOrigin();
     203           0 :             if( (this == pRight) || (this == pDiagonal) )
     204           0 :                 aOrigin.X() += aLeftSize.Width();
     205           0 :             if( (this == pBottom) || (this == pDiagonal) )
     206           0 :                 aOrigin.Y() += aLeftSize.Height();
     207           0 :             aMapMode.SetOrigin( aOrigin );
     208             : 
     209             :             pNoteMarker = new ScNoteMarker(  pLeft, pRight, pBottom, pDiagonal,
     210             :                                             pDoc, aCellPos, aTrackText,
     211           0 :                                             aMapMode, bLeftEdge, bFast, bKeyboard );
     212           0 :             if ( pViewData->GetScDrawView() )
     213             :             {
     214             :                 // get position for aCellPos
     215             :                 // get draw position in hmm for aCellPos
     216           0 :                 Point aOldPos( pDoc->GetColOffset( aCellPos.Col(), aCellPos.Tab() ), pDoc->GetRowOffset( aCellPos.Row(), aCellPos.Tab() ) );
     217           0 :                 aOldPos.X() = sc::TwipsToHMM( aOldPos.X() );
     218           0 :                 aOldPos.Y() = sc::TwipsToHMM( aOldPos.Y() );
     219             :                 // get screen pos in hmm for aCellPos
     220             :                 // and equiv screen pos
     221           0 :                 Point aScreenPos = pViewData->GetScrPos( aCellPos.Col(), aCellPos.Row(), eWhich, true );
     222           0 :                 MapMode aDrawMode = GetDrawMapMode();
     223           0 :                 Point aCurPosHmm = PixelToLogic(aScreenPos, aDrawMode );
     224           0 :                 Point aGridOff = aCurPosHmm -aOldPos;
     225             :                 // fdo#63323 fix the X Position for the showing comment when
     226             :                 // the mouse over the cell when the sheet are RTL
     227           0 :                 if ( pDoc->IsNegativePage(nTab))
     228           0 :                     aGridOff.setX(aCurPosHmm.getX() + aOldPos.getX());
     229           0 :                 pNoteMarker->SetGridOff( aGridOff );
     230           0 :             }
     231             :         }
     232             : 
     233           0 :         bDone = true;       // something is shown (old or new)
     234             :     }
     235             : 
     236           0 :     return bDone;
     237             : }
     238             : 
     239           0 : void ScGridWindow::RequestHelp(const HelpEvent& rHEvt)
     240             : {
     241             :     //To know whether to prefix STR_CTRLCLICKHYERLINK or STR_CLICKHYPERLINK
     242             :     //to hyperlink tooltips/help text
     243           0 :     SvtSecurityOptions aSecOpt;
     244           0 :     bool bCtrlClickHlink = aSecOpt.IsOptionSet( SvtSecurityOptions::E_CTRLCLICK_HYPERLINK );
     245             :     //Global string STR_CTRLCLICKHYPERLINK i.e, "ctrl+click to open hyperlink:"
     246           0 :     OUString aCtrlClickHlinkStr = ScGlobal::GetRscString( STR_CTRLCLICKHYPERLINK );
     247             :     //Global string STR_CLICKHYPERLINK i.e, "click to open hyperlink"
     248           0 :     OUString aClickHlinkStr = ScGlobal::GetRscString( STR_CLICKHYPERLINK );
     249           0 :     bool bDone = false;
     250           0 :     bool bHelpEnabled = ( rHEvt.GetMode() & ( HELPMODE_BALLOON | HELPMODE_QUICK ) ) != 0;
     251           0 :     SdrView* pDrView = pViewData->GetScDrawView();
     252           0 :     bool bDrawTextEdit = false;
     253           0 :     if (pDrView)
     254           0 :         bDrawTextEdit = pDrView->IsTextEdit();
     255             :     //  notes or change tracking
     256           0 :     if ( bHelpEnabled && !bDrawTextEdit )
     257             :     {
     258           0 :         Point       aPosPixel = ScreenToOutputPixel( rHEvt.GetMousePosPixel() );
     259             :         SCsCOL nPosX;
     260             :         SCsROW nPosY;
     261           0 :         pViewData->GetPosFromPixel( aPosPixel.X(), aPosPixel.Y(), eWhich, nPosX, nPosY );
     262             : 
     263           0 :         if ( ShowNoteMarker( nPosX, nPosY, false ) )
     264             :         {
     265           0 :             Window::RequestHelp( rHEvt );   // alte Tip/Balloon ausschalten
     266           0 :             bDone = true;
     267             :         }
     268             :     }
     269             : 
     270           0 :     if ( !bDone && pNoteMarker )
     271             :     {
     272           0 :         if ( pNoteMarker->IsByKeyboard() )
     273             :         {
     274             :             //  marker which was shown for ctrl-F1 isn't removed by mouse events
     275             :         }
     276             :         else
     277           0 :             DELETEZ(pNoteMarker);
     278             :     }
     279             : 
     280             :     //  Image-Map / Text-URL
     281             : 
     282           0 :     if ( bHelpEnabled && !bDone && !nButtonDown )       // nur ohne gedrueckten Button
     283             :     {
     284           0 :         OUString aHelpText;
     285           0 :         Rectangle aPixRect;
     286           0 :         Point aPosPixel = ScreenToOutputPixel( rHEvt.GetMousePosPixel() );
     287             : 
     288           0 :         if ( pDrView )                                      // URL / Image-Map
     289             :         {
     290           0 :             SdrViewEvent aVEvt;
     291           0 :             MouseEvent aMEvt( aPosPixel, 1, 0, MOUSE_LEFT );
     292           0 :             SdrHitKind eHit = pDrView->PickAnything( aMEvt, SDRMOUSEBUTTONDOWN, aVEvt );
     293             : 
     294           0 :             if ( eHit != SDRHIT_NONE && aVEvt.pObj != NULL )
     295             :             {
     296             :                 // URL fuer IMapObject unter Pointer ist Hilfetext
     297           0 :                 if ( ScDrawLayer::GetIMapInfo( aVEvt.pObj ) )
     298             :                 {
     299           0 :                     Point aLogicPos = PixelToLogic( aPosPixel );
     300             :                     IMapObject* pIMapObj = ScDrawLayer::GetHitIMapObject(
     301           0 :                                                     aVEvt.pObj, aLogicPos, *this );
     302             : 
     303           0 :                     if ( pIMapObj )
     304             :                     {
     305             :                         //  Bei ImageMaps die Description anzeigen, wenn vorhanden
     306           0 :                         aHelpText = pIMapObj->GetAltText();
     307           0 :                         if (aHelpText.isEmpty())
     308           0 :                             aHelpText = pIMapObj->GetURL();
     309           0 :                         if( bCtrlClickHlink )
     310             :                         {
     311             :                             //prefix STR_CTRLCLICKHYPERLINK to aHelpText
     312           0 :                             aHelpText = aCtrlClickHlinkStr + aHelpText;
     313             :                         }
     314             :                         else
     315             :                         {
     316             :                             //Option not set, so prefix STR_CLICKHYPERLINK
     317           0 :                             aHelpText = aClickHlinkStr + aHelpText;
     318             :                         }
     319           0 :                         aPixRect = LogicToPixel(aVEvt.pObj->GetLogicRect());
     320             :                     }
     321             :                 }
     322             :                 // URL in shape text or at shape itself (URL in text overrides object URL)
     323           0 :                 if ( aHelpText.isEmpty() )
     324             :                 {
     325           0 :                     if( aVEvt.eEvent == SDREVENT_EXECUTEURL )
     326             :                     {
     327           0 :                         aHelpText = aVEvt.pURLField->GetURL();
     328           0 :                         aPixRect = LogicToPixel(aVEvt.pObj->GetLogicRect());
     329             :                     }
     330             :                     else
     331             :                     {
     332           0 :                         SdrObject* pObj = 0;
     333           0 :                         SdrPageView* pPV = 0;
     334           0 :                         Point aMDPos = PixelToLogic( aPosPixel );
     335           0 :                         if ( pDrView->PickObj(aMDPos, pDrView->getHitTolLog(), pObj, pPV, SDRSEARCH_ALSOONMASTER) )
     336             :                         {
     337           0 :                             if ( pObj->IsGroupObject() )
     338             :                             {
     339           0 :                                     SdrObject* pHit = 0;
     340           0 :                                     if ( pDrView->PickObj(aMDPos, pDrView->getHitTolLog(), pHit, pPV, SDRSEARCH_DEEP ) )
     341           0 :                                         pObj = pHit;
     342             :                             }
     343           0 :                             ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( pObj );
     344           0 :                             if ( pInfo && (pInfo->GetHlink().getLength() > 0) )
     345             :                             {
     346           0 :                                 aPixRect = LogicToPixel(aVEvt.pObj->GetLogicRect());
     347           0 :                                 aHelpText = pInfo->GetHlink();
     348           0 :                                 if( bCtrlClickHlink )
     349             :                                 {
     350             :                                     //prefix STR_CTRLCLICKHYPERLINK to aHelpText
     351           0 :                                     aHelpText = aCtrlClickHlinkStr + aHelpText;
     352             :                                 }
     353             :                                 else
     354             :                                 {
     355             :                                     //Option not set, so prefix STR_CLICKHYPERLINK
     356           0 :                                     aHelpText = aClickHlinkStr + aHelpText;
     357             :                                 }
     358             : 
     359             :                             }
     360             :                         }
     361             :                     }
     362             :                 }
     363           0 :             }
     364             :         }
     365             : 
     366           0 :         if ( aHelpText.isEmpty() )                                 // Text-URL
     367             :         {
     368           0 :             OUString aUrl;
     369           0 :             if ( GetEditUrl( aPosPixel, NULL, &aUrl, NULL ) )
     370             :             {
     371           0 :                 aHelpText = INetURLObject::decode( aUrl, '%',
     372           0 :                     INetURLObject::DECODE_UNAMBIGUOUS );
     373             : 
     374           0 :                 if( bCtrlClickHlink )
     375             :                 {
     376             :                     //prefix STR_CTRLCLICKHYPERLINK to aHelpText
     377           0 :                     aHelpText = aCtrlClickHlinkStr + aHelpText;
     378             :                 }
     379             :                 else
     380             :                 {
     381             :                     //Option not set, so prefix STR_CLICKHYPERLINK
     382           0 :                     aHelpText = aClickHlinkStr + aHelpText;
     383             :                 }
     384             : 
     385           0 :                 ScDocument* pDoc = pViewData->GetDocument();
     386             :                 SCsCOL nPosX;
     387             :                 SCsROW nPosY;
     388           0 :                 SCTAB       nTab = pViewData->GetTabNo();
     389           0 :                 pViewData->GetPosFromPixel( aPosPixel.X(), aPosPixel.Y(), eWhich, nPosX, nPosY );
     390           0 :                 const ScPatternAttr* pPattern = pDoc->GetPattern( nPosX, nPosY, nTab );
     391             : 
     392             :                 // bForceToTop = sal_False, use the cell's real position
     393           0 :                 aPixRect = pViewData->GetEditArea( eWhich, nPosX, nPosY, this, pPattern, false );
     394           0 :             }
     395             :         }
     396             : 
     397           0 :         if ( !aHelpText.isEmpty() )
     398             :         {
     399           0 :             Rectangle aScreenRect(OutputToScreenPixel(aPixRect.TopLeft()),
     400           0 :                                     OutputToScreenPixel(aPixRect.BottomRight()));
     401             : 
     402           0 :             if ( rHEvt.GetMode() & HELPMODE_BALLOON )
     403           0 :                 Help::ShowBalloon(this,rHEvt.GetMousePosPixel(), aScreenRect, aHelpText);
     404           0 :             else if ( rHEvt.GetMode() & HELPMODE_QUICK )
     405           0 :                 Help::ShowQuickHelp(this,aScreenRect, aHelpText);
     406             : 
     407           0 :             bDone = true;
     408           0 :         }
     409             :     }
     410             : 
     411             :     //  Basic-Controls
     412             : 
     413           0 :     if ( pDrView && bHelpEnabled && !bDone )
     414             :     {
     415           0 :         SdrPageView* pPV = pDrView->GetSdrPageView();
     416             :         OSL_ENSURE( pPV, "SdrPageView* ist NULL" );
     417           0 :         if (pPV)
     418           0 :             bDone = static_cast<ScDrawPage*>(pPV->GetPage())->RequestHelp( this, pDrView, rHEvt );
     419             :     }
     420             : 
     421             :     //  Wenn QuickHelp fuer AutoFill angezeigt wird, nicht wieder wegnehmen lassen
     422             : 
     423           0 :     if ( nMouseStatus == SC_GM_TABDOWN && pViewData->GetRefType() == SC_REFTYPE_FILL &&
     424           0 :             Help::IsQuickHelpEnabled() )
     425           0 :         bDone = true;
     426             : 
     427           0 :     if (!bDone)
     428           0 :         Window::RequestHelp( rHEvt );
     429           0 : }
     430             : 
     431           0 : bool ScGridWindow::IsMyModel(SdrEditView* pSdrView)
     432             : {
     433           0 :     return pSdrView &&
     434           0 :             pSdrView->GetModel() == pViewData->GetDocument()->GetDrawLayer();
     435             : }
     436             : 
     437       21074 : void ScGridWindow::HideNoteMarker()
     438             : {
     439       21074 :     DELETEZ(pNoteMarker);
     440       21074 : }
     441             : 
     442             : com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
     443           4 :     ScGridWindow::CreateAccessible()
     444             : {
     445           4 :     com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc= GetAccessible(false);
     446           4 :     if (xAcc.is())
     447             :     {
     448           0 :         return xAcc;
     449             :     }
     450             : 
     451             :     ScAccessibleDocument* pAccessibleDocument =
     452             :         new ScAccessibleDocument(GetAccessibleParentWindow()->GetAccessible(),
     453           4 :             pViewData->GetViewShell(), eWhich);
     454             : 
     455           4 :     xAcc = pAccessibleDocument;
     456           4 :     SetAccessible(xAcc);
     457             : 
     458           4 :     pAccessibleDocument->Init();
     459             : 
     460           4 :     return xAcc;
     461             :  }
     462             : 
     463             : // MT: Removed Windows::SwitchView() introduced with IA2 CWS.
     464             : // There are other notifications for this when the active view has chnaged, so
     465             : // please update the code to use that event mechanism
     466           0 : void ScGridWindow::SwitchView()
     467             : {
     468           0 :     ScAccessibleDocumentBase* pAccDoc = static_cast<ScAccessibleDocumentBase*>(GetAccessible(false).get());
     469           0 :     if (pAccDoc)
     470             :     {
     471           0 :         pAccDoc->SwitchViewFireFocus();
     472             :     }
     473         228 : }
     474             : 
     475             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10