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

Generated by: LCOV version 1.11