LCOV - code coverage report
Current view: top level - sc/source/ui/inc - tabview.hxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 16 23 69.6 %
Date: 2014-11-03 Functions: 16 23 69.6 %
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             : #ifndef INCLUDED_SC_SOURCE_UI_INC_TABVIEW_HXX
      20             : #define INCLUDED_SC_SOURCE_UI_INC_TABVIEW_HXX
      21             : 
      22             : #include <vcl/scrbar.hxx>
      23             : 
      24             : #include <sfx2/ipclient.hxx>
      25             : 
      26             : #include "hiranges.hxx"
      27             : #include "viewutil.hxx"
      28             : #include "select.hxx"
      29             : #include "gridwin.hxx"
      30             : #include "drawview.hxx"
      31             : 
      32             : #include <boost/noncopyable.hpp>
      33             : #include <boost/scoped_ptr.hpp>
      34             : 
      35             : namespace editeng {
      36             :     struct MisspellRanges;
      37             : }
      38             : 
      39             : class ScEditEngineDefaulter;
      40             : class ScGridWindow;
      41             : class ScOutlineWindow;
      42             : class ScRowBar;
      43             : class ScColBar;
      44             : class ScTabControl;
      45             : class ScTabViewShell;
      46             : struct ScRangeFindData;
      47             : class ScDrawView;
      48             : class SvBorder;
      49             : class FuPoor;
      50             : class Splitter;
      51             : class ScTabSplitter;
      52             : class SdrView;
      53             : class SdrObject;
      54             : class ScHintWindow;
      55             : class ScPageBreakData;
      56             : class SdrHdlList;
      57             : 
      58             : namespace com { namespace sun { namespace star {
      59             : namespace chart2 { namespace data {
      60             :     struct HighlightedRange;
      61             : }}}}}
      62             : 
      63             : #define SC_FORCEMODE_NONE   0xff
      64             : 
      65             : //      Help - Window
      66             : 
      67             : class ScCornerButton : public vcl::Window
      68             : {
      69             : private:
      70             :     ScViewData*     pViewData;
      71             :     bool            bAdd;
      72             : 
      73             : protected:
      74             :     virtual void    Paint( const Rectangle& rRect ) SAL_OVERRIDE;
      75             :     virtual void    Resize() SAL_OVERRIDE;
      76             :     virtual void    MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
      77             : public:
      78             :                     ScCornerButton( vcl::Window* pParent, ScViewData* pData, bool bAdditional );
      79             :                     virtual ~ScCornerButton();
      80             : 
      81             :     virtual void    StateChanged( StateChangedType nType ) SAL_OVERRIDE;
      82             :     virtual void    DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
      83             : };
      84             : 
      85             : class ScTabView : boost::noncopyable
      86             : {
      87             : private:
      88             :     enum BlockMode { None = 0, Normal = 1, Own = 2 };
      89             : 
      90             :     vcl::Window*             pFrameWin;              // First !!!
      91             :     ScViewData          aViewData;              // must be at the front !
      92             : 
      93             :     ScViewSelectionEngine*  pSelEngine;
      94             :     ScViewFunctionSet       aFunctionSet;
      95             : 
      96             :     ScHeaderSelectionEngine* pHdrSelEng;
      97             :     ScHeaderFunctionSet      aHdrFunc;
      98             : 
      99             :     ScDrawView*         pDrawView;
     100             : 
     101             :     Size                aFrameSize;             // passed on as for DoResize
     102             :     Point               aBorderPos;
     103             : 
     104             :     FuPoor*             pDrawActual;
     105             :     FuPoor*             pDrawOld;
     106             : 
     107             :     ScGridWindow*       pGridWin[4];
     108             :     ScColBar*           pColBar[2];
     109             :     ScRowBar*           pRowBar[2];
     110             :     ScOutlineWindow*    pColOutline[2];
     111             :     ScOutlineWindow*    pRowOutline[2];
     112             :     ScTabSplitter*      pHSplitter;
     113             :     ScTabSplitter*      pVSplitter;
     114             :     ScTabControl*       pTabControl;
     115             :     ScrollBar           aVScrollTop;
     116             :     ScrollBar           aVScrollBottom;         // initially visible
     117             :     ScrollBar           aHScrollLeft;           // initially visible
     118             :     ScrollBar           aHScrollRight;
     119             :     ScCornerButton      aCornerButton;
     120             :     ScCornerButton      aTopButton;
     121             :     ScrollBarBox        aScrollBarBox;
     122             : 
     123             :     boost::scoped_ptr<ScHintWindow> mpInputHintWindow; // popup window for data validation
     124             : 
     125             :     ScPageBreakData*    pPageBreakData;
     126             :     std::vector<ScHighlightEntry>   maHighlightRanges;
     127             : 
     128             :     ScDocument*         pBrushDocument;         // cell formats for format paint brush
     129             :     SfxItemSet*         pDrawBrushSet;          // drawing object attributes for paint brush
     130             : 
     131             :     Timer               aScrollTimer;
     132             :     ScGridWindow*       pTimerWindow;
     133             :     MouseEvent          aTimerMEvt;
     134             : 
     135             :     sal_uLong               nTipVisible;
     136             : 
     137             :     long                nPrevDragPos;
     138             : 
     139             :     BlockMode           meBlockMode;           // Marks block
     140             : 
     141             :     SCCOL               nBlockStartX;
     142             :     SCCOL               nBlockStartXOrig;
     143             :     SCCOL               nBlockEndX;
     144             : 
     145             :     SCROW               nBlockStartY;
     146             :     SCROW               nBlockStartYOrig;
     147             :     SCROW               nBlockEndY;
     148             : 
     149             :     SCTAB               nBlockStartZ;
     150             :     SCTAB               nBlockEndZ;
     151             : 
     152             :     SCCOL               nOldCurX;
     153             :     SCROW               nOldCurY;
     154             : 
     155             :     double              mfPendingTabBarWidth;       // Tab bar width relative to frame window width.
     156             : 
     157             :     bool                bMinimized:1;
     158             :     bool                bInUpdateHeader:1;
     159             :     bool                bInActivatePart:1;
     160             :     bool                bInZoomUpdate:1;
     161             :     bool                bMoveIsShift:1;
     162             :     bool                bDrawSelMode:1;           // Only select draw objects ?
     163             :     bool                bLockPaintBrush:1;        // keep for more than one use?
     164             :     bool                bDragging:1;              // for scroll bars
     165             :     bool                bBlockNeg:1;              // is no longer highlighted?
     166             :     bool                bBlockCols:1;             // are whole columns selected?
     167             :     bool                bBlockRows:1;             // are whole rows selected?
     168             : 
     169             :     void            Init();
     170             : 
     171             :     void            DoAddWin( ScGridWindow* pWin );
     172             : 
     173             :     void            InitScrollBar( ScrollBar& rScrollBar, long nMaxVal );
     174             :     DECL_LINK(      ScrollHdl, ScrollBar* );
     175             :     DECL_LINK(      EndScrollHdl, void* );
     176             : 
     177             :     DECL_LINK(      SplitHdl, Splitter* );
     178             :     void            DoHSplit(long nSplitPos);
     179             :     void            DoVSplit(long nSplitPos);
     180             : 
     181             :     DECL_LINK(      TimerHdl, void* );
     182             : 
     183             :     void            UpdateVarZoom();
     184             : 
     185             :     static void     SetScrollBar( ScrollBar& rScroll, long nRangeMax, long nVisible, long nPos, bool bLayoutRTL );
     186             :     static long     GetScrollBarPos( ScrollBar& rScroll );
     187             : 
     188             :     void            GetPageMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, SCsCOL& rPageX, SCsROW& rPageY);
     189             :     void            GetAreaMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode,
     190             :                                            SCsCOL& rAreaX, SCsROW& rAreaY, ScFollowMode& rMode);
     191             : 
     192             :     void            SkipCursorHorizontal(SCsCOL& rCurX, SCsROW& rCurY, SCsCOL nOldX, SCsROW nMovX);
     193             :     void            SkipCursorVertical(SCsCOL& rCurX, SCsROW& rCurY, SCsROW nOldY, SCsROW nMovY);
     194             : 
     195             :     /**
     196             :      *
     197             :      *  @brief Update marks for a selected Range. This is a helper function
     198             :      *  for PaintRangeFinder.
     199             :      *
     200             :      *  @param pData: Range to update for painting.
     201             :      *  @param nTab: Current tab.
     202             :      *
     203             :      **/
     204             : 
     205             :     void            PaintRangeFinderEntry (ScRangeFindData* pData, SCTAB nTab);
     206             : 
     207             : protected:
     208             :     void            UpdateHeaderWidth( const ScVSplitPos* pWhich = NULL,
     209             :                                         const SCROW* pPosY = NULL );
     210             : 
     211             :     void            HideTip();
     212             :     void            ShowRefTip();
     213             : 
     214             :     void            ZoomChanged();
     215             :     void            UpdateShow();
     216             :     bool            UpdateVisibleRange();
     217             :     void            GetBorderSize( SvBorder& rBorder, const Size& rSize );
     218             : 
     219             :     void            ResetDrawDragMode();
     220             :     bool            IsDrawTextEdit() const;
     221             :     void            DrawEnableAnim(bool bSet);
     222             : 
     223             :     void            MakeDrawView( sal_uInt8 nForceDesignMode = SC_FORCEMODE_NONE );
     224             : 
     225             :     void            HideNoteMarker();
     226             : 
     227             :     void            UpdateIMap( SdrObject* pObj );
     228             : 
     229             : public:
     230             :                     ScTabView( vcl::Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell );
     231             :                     ~ScTabView();
     232             : 
     233             :     void            MakeDrawLayer();
     234             : 
     235             :     void            HideListBox();
     236             : 
     237             :     bool            HasHintWindow() const;
     238             :     void            RemoveHintWindow();
     239             :     void            TestHintWindow();
     240             : 
     241             :     DECL_LINK(      TabBarResize, void* );
     242             :     /** Sets an absolute tab bar width (in pixels). */
     243             :     void            SetTabBarWidth( long nNewWidth );
     244             :     /** Sets a relative tab bar width.
     245             :         @param fRelTabBarWidth  Tab bar width relative to frame window width (0.0 ... 1.0). */
     246             :     SC_DLLPUBLIC void            SetRelTabBarWidth( double fRelTabBarWidth );
     247             :     /** Sets a relative tab bar width. Tab bar is resized again in next DoResize().
     248             :         @param fRelTabBarWidth  Tab bar width relative to frame window width (0.0 ... 1.0). */
     249             :     void            SetPendingRelTabBarWidth( double fRelTabBarWidth );
     250             :     /** Returns the current tab bar width in pixels. */
     251             :     long            GetTabBarWidth() const;
     252             :     /** Returns the current tab bar width relative to the frame window width (0.0 ... 1.0). */
     253             :     SC_DLLPUBLIC double          GetRelTabBarWidth() const;
     254             :     /** Returns the pending tab bar width relative to the frame window width (0.0 ... 1.0). */
     255          14 :     double          GetPendingRelTabBarWidth() const { return mfPendingTabBarWidth;}
     256             : 
     257             :     void            DoResize( const Point& rOffset, const Size& rSize, bool bInner = false );
     258             :     void            RepeatResize( bool bUpdateFix = true );
     259             :     void            UpdateFixPos();
     260             :     Point           GetGridOffset() const;
     261             : 
     262        3382 :     bool            IsDrawSelMode() const       { return bDrawSelMode; }
     263         138 :     void            SetDrawSelMode(bool bNew)   { bDrawSelMode = bNew; }
     264             : 
     265         546 :     void            SetDrawFuncPtr(FuPoor* pFuncPtr)    { pDrawActual = pFuncPtr; }
     266           0 :     void            SetDrawFuncOldPtr(FuPoor* pFuncPtr) { pDrawOld = pFuncPtr; }
     267        3036 :     FuPoor*         GetDrawFuncPtr()                    { return pDrawActual; }
     268           0 :     FuPoor*         GetDrawFuncOldPtr()                 { return pDrawOld; }
     269             : 
     270             :     void            DrawDeselectAll();
     271             :     void            DrawMarkListHasChanged();
     272             :     void            UpdateAnchorHandles();
     273             : 
     274           0 :     ScPageBreakData* GetPageBreakData()     { return pPageBreakData; }
     275        1474 :     const std::vector<ScHighlightEntry>& GetHighlightRanges()   { return maHighlightRanges; }
     276             : 
     277             :     void            UpdatePageBreakData( bool bForcePaint = false );
     278             : 
     279             :     void            DrawMarkRect( const Rectangle& rRect );
     280             : 
     281      235602 :     ScViewData&         GetViewData()       { return aViewData; }
     282           0 :     const ScViewData&   GetViewData() const { return aViewData; }
     283             : 
     284         546 :     ScViewFunctionSet&      GetFunctionSet()    { return aFunctionSet; }
     285          62 :     ScViewSelectionEngine*  GetSelEngine()      { return pSelEngine; }
     286             : 
     287             :     bool            SelMouseButtonDown( const MouseEvent& rMEvt );
     288             : 
     289       51200 :     ScDrawView*     GetScDrawView()         { return pDrawView; }
     290             :     // gegen CLOKs
     291       13236 :     SdrView*        GetSdrView()            { return pDrawView; }
     292             : 
     293       16282 :     bool            IsMinimized() const     { return bMinimized; }
     294             : 
     295             :     /**
     296             :      * Called after moving, copying, inserting or deleting a sheet.
     297             :      *
     298             :      * @param bSameTabButMoved true if the same sheet as before is activated.
     299             :      */
     300             :     void            TabChanged( bool bSameTabButMoved = false );
     301             :     void            SetZoom( const Fraction& rNewX, const Fraction& rNewY, bool bAll );
     302             :     SC_DLLPUBLIC void            RefreshZoom();
     303             :     void            SetPagebreakMode( bool bSet );
     304             : 
     305             :     void            UpdateLayerLocks();
     306             : 
     307             :     void            UpdateDrawTextOutliner();
     308             :     void            DigitLanguageChanged();
     309             : 
     310             :     void            UpdateInputLine();
     311             : 
     312             :     void            InitRefMode( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, ScRefType eType,
     313             :                                  bool bPaint = true );
     314             :     void            DoneRefMode( bool bContinue = false );
     315             :     void            UpdateRef( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ );
     316             :     void            StopRefMode();
     317             : 
     318             :     void            StopMarking();
     319             :     void            FakeButtonUp( ScSplitPos eWhich );
     320             : 
     321             :     ScGridWindow*   GetActiveWin();
     322         688 :     vcl::Window*         GetWindowByPos( ScSplitPos ePos ) { return pGridWin[ePos]; }
     323             : 
     324             :     ScSplitPos      FindWindow( vcl::Window* pWindow ) const;
     325             : 
     326             :     void            SetActivePointer( const Pointer& rPointer );
     327             : 
     328             :     void            ActiveGrabFocus();
     329             : 
     330             :     void            ClickCursor( SCCOL nPosX, SCROW nPosY, bool bControl );
     331             : 
     332             :     SC_DLLPUBLIC void SetCursor( SCCOL nPosX, SCROW nPosY, bool bNew = false );
     333             : 
     334             :     SC_DLLPUBLIC void           CellContentChanged();
     335             :     void            SelectionChanged();
     336             :     void            CursorPosChanged();
     337             :     void            UpdateInputContext();
     338             : 
     339             :     void            CheckSelectionTransfer();
     340             : 
     341             :     void            InvertHorizontal( ScVSplitPos eWhich, long nDragPos );
     342             :     void            InvertVertical( ScHSplitPos eWhich, long nDragPos );
     343             : 
     344             :     Point           GetInsertPos();
     345             : 
     346             :     Point           GetChartInsertPos( const Size& rSize, const ScRange& rCellRange );
     347             :     Point           GetChartDialogPos( const Size& rDialogSize, const Rectangle& rLogicChart );
     348             : 
     349             :     void            UpdateAutoFillMark();
     350             : 
     351             :     void            ShowCursor();
     352             :     void            HideAllCursors();
     353             :     void            ShowAllCursors();
     354             : 
     355             :     void            AlignToCursor( SCsCOL nCurX, SCsROW nCurY, ScFollowMode eMode,
     356             :                                     const ScSplitPos* pWhich = NULL );
     357             : 
     358             :     SvxZoomType     GetZoomType() const;
     359             :     void            SetZoomType( SvxZoomType eNew, bool bAll );
     360             :     sal_uInt16          CalcZoom( SvxZoomType eType, sal_uInt16 nOldZoom );
     361             : 
     362             :     bool            HasPageFieldDataAtCursor() const;
     363             :     void            StartDataSelect();
     364             : 
     365             :                     //  MoveCursorAbs       - absolute
     366             :                     //  MoveCursorRel       - single cells
     367             :                     //  MoveCursorPage      - screen
     368             :                     //  MoveCursorArea      - Data block
     369             :                     //  MoveCursorEnd       - top left / user range
     370             : 
     371             :     SC_DLLPUBLIC void MoveCursorAbs( SCsCOL nCurX, SCsROW nCurY, ScFollowMode eMode,
     372             :                                      bool bShift, bool bControl,
     373             :                                      bool bKeepOld = false, bool bKeepSel = false );
     374             :     void            MoveCursorRel( SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode,
     375             :                                    bool bShift, bool bKeepSel = false );
     376             :     void            MoveCursorPage( SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode,
     377             :                                     bool bShift, bool bKeepSel = false );
     378             :     void            MoveCursorArea( SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode,
     379             :                                     bool bShift, bool bKeepSel = false );
     380             :     void            MoveCursorEnd( SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode,
     381             :                                    bool bShift, bool bKeepSel = false );
     382             :     void            MoveCursorScreen( SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode, bool bShift );
     383             : 
     384             :     void            MoveCursorEnter( bool bShift );     // Shift for direction (select nothing)
     385             : 
     386             :     bool            MoveCursorKeyInput( const KeyEvent& rKeyEvent );
     387             : 
     388             :     void            FindNextUnprot( bool bShift, bool bInSelection = true );
     389             : 
     390             :     SC_DLLPUBLIC void SetTabNo( SCTAB nTab, bool bNew = false, bool bExtendSelection = false, bool bSameTabButMoved = false );
     391             :     void            SelectNextTab( short nDir, bool bExtendSelection = false );
     392             : 
     393             :     void            ActivateView( bool bActivate, bool bFirst );
     394             :     void            ActivatePart( ScSplitPos eWhich );
     395           0 :     bool            IsInActivatePart() const    { return bInActivatePart; }
     396             : 
     397             :     void            SetTimer( ScGridWindow* pWin, const MouseEvent& rMEvt );
     398             :     void            ResetTimer();
     399             : 
     400             :     void            ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars = true );
     401             :     void            ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars = true );
     402             :     SC_DLLPUBLIC void           ScrollLines( long nDeltaX, long nDeltaY );              // active
     403             : 
     404             :     bool            ScrollCommand( const CommandEvent& rCEvt, ScSplitPos ePos );
     405             : 
     406             :     void            ScrollToObject( SdrObject* pDrawObj );
     407             :     void            MakeVisible( const Rectangle& rHMMRect );
     408             : 
     409             :                                     // Zeichnen
     410             : 
     411             :     void            PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
     412             :                                         ScUpdateMode eMode = SC_UPDATE_ALL );
     413             : 
     414             :     void            PaintGrid();
     415             : 
     416             :     void            PaintTopArea( SCCOL nStartCol, SCCOL nEndCol );
     417             :     void            PaintTop();
     418             : 
     419             :     void            PaintLeftArea( SCROW nStartRow, SCROW nEndRow );
     420             :     void            PaintLeft();
     421             : 
     422             :     bool            PaintExtras();
     423             : 
     424             :     void            RecalcPPT();
     425             : 
     426             :     void            CreateAnchorHandles(SdrHdlList& rHdl, const ScAddress& rAddress);
     427             : 
     428             :     void            UpdateCopySourceOverlay();
     429             :     void            UpdateSelectionOverlay();
     430             :     void            UpdateShrinkOverlay();
     431             :     void            UpdateAllOverlays();
     432             : 
     433             :     void            UpdateFormulas();
     434             :     void            InterpretVisible();
     435             :     void            CheckNeedsRepaint();
     436             :     bool            NeedsRepaint();
     437             : 
     438             :     void            PaintRangeFinder( long nNumber = -1 );
     439             :     void            AddHighlightRange( const ScRange& rRange, const Color& rColor );
     440             :     void            ClearHighlightRanges();
     441             : 
     442             :     void            DoChartSelection( const ::com::sun::star::uno::Sequence<
     443             :                                       ::com::sun::star::chart2::data::HighlightedRange > & rHilightRanges );
     444             : 
     445             :     long            GetGridWidth( ScHSplitPos eWhich );
     446             :     long            GetGridHeight( ScVSplitPos eWhich );
     447             : 
     448             :     void            UpdateScrollBars();
     449             :     void            SetNewVisArea();
     450             : 
     451             :     void            InvalidateAttribs();
     452             : 
     453             :     void            MakeEditView( ScEditEngineDefaulter* pEngine, SCCOL nCol, SCROW nRow );
     454             :     void            KillEditView( bool bNoPaint );
     455             :     void            UpdateEditView();
     456             : 
     457             :                                     //  Blocks
     458             : 
     459             :     void            SelectAll( bool bContinue = false );
     460             :     void            SelectAllTables();
     461             :     void            DeselectAllTables();
     462             : 
     463             :     void            MarkCursor( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
     464             :                                 bool bCols = false, bool bRows = false, bool bCellSelection = false );
     465             :     void            InitBlockMode( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
     466             :                                    bool bTestNeg = false,
     467             :                                    bool bCols = false, bool bRows = false, bool bForceNeg = false );
     468             :     void            InitOwnBlockMode();
     469             :     void            DoneBlockMode( bool bContinue = false );
     470             : 
     471             :     bool            IsBlockMode() const;
     472             : 
     473             :     void            ExpandBlock(SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode);
     474             :     void            ExpandBlockPage(SCsCOL nMovX, SCsROW nMovY);
     475             :     void            ExpandBlockArea(SCsCOL nMovX, SCsROW nMovY);
     476             : 
     477             :     void            MarkColumns();
     478             :     void            MarkRows();
     479             :     void            MarkDataArea( bool bIncludeCursor = true );
     480             :     void            MarkMatrixFormula();
     481             :     void            Unmark();
     482             : 
     483             :     void            MarkRange( const ScRange& rRange, bool bSetCursor = true, bool bContinue = false );
     484             : 
     485             :     bool            IsMarking( SCCOL nCol, SCROW nRow, SCTAB nTab ) const;
     486             : 
     487             :     void            PaintMarks( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow );
     488             :     void            PaintBlock( bool bReset = false );
     489             : 
     490             :     void            SetMarkData( const ScMarkData& rNew );
     491             :     void            MarkDataChanged();
     492             : 
     493             :     void            LockModifiers( sal_uInt16 nModifiers );
     494             :     sal_uInt16          GetLockedModifiers() const;
     495             :     void            ViewOptionsHasChanged( bool bHScrollChanged,
     496             :                                            bool bGraphicsChanged = false);
     497             : 
     498             :     Point           GetMousePosPixel();
     499             : 
     500             :     void            SnapSplitPos( Point& rScreenPosPixel );
     501             :     void            FreezeSplitters( bool bFreeze );
     502             :     void            RemoveSplit();
     503             :     void            SplitAtCursor();
     504             :     void            SplitAtPixel( const Point& rPixel, bool bHor, bool bVer );
     505             :     void            InvalidateSplit();
     506             : 
     507             :     void            ErrorMessage( sal_uInt16 nGlobStrId );
     508             : 
     509             :     void            EnableRefInput(bool bFlag = true);
     510             : 
     511           0 :     vcl::Window*         GetFrameWin() const { return pFrameWin; }
     512             : 
     513         247 :     bool            HasPaintBrush() const           { return pBrushDocument || pDrawBrushSet; }
     514         564 :     ScDocument*     GetBrushDocument() const        { return pBrushDocument; }
     515         564 :     SfxItemSet*     GetDrawBrushSet() const         { return pDrawBrushSet; }
     516           0 :     bool            IsPaintBrushLocked() const      { return bLockPaintBrush; }
     517             :     void            SetBrushDocument( ScDocument* pNew, bool bLock );
     518             :     void            SetDrawBrushSet( SfxItemSet* pNew, bool bLock );
     519             :     void            ResetBrushDocument();
     520             : 
     521             :     void            SetInRefMode( bool bRefMode );
     522             : 
     523             :     bool ContinueOnlineSpelling();
     524             :     void EnableAutoSpell( bool bEnable );
     525             :     void ResetAutoSpell();
     526             :     void SetAutoSpellData( SCCOL nPosX, SCROW nPosY, const std::vector<editeng::MisspellRanges>* pRanges );
     527             : };
     528             : 
     529             : #endif
     530             : 
     531             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10