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

Generated by: LCOV version 1.10