35 struct MisspellRanges;
55 namespace tools {
class JsonWriter; }
73 virtual void Resize()
override;
103 template<ModifierTagType ModifierTag>
106 template<ModifierTagType ModifierTag>
257 const SCROW* pPosY =
nullptr );
311 void DoResize(
const Point& rOffset,
const Size& rSize,
bool bInner =
false );
350 void TabChanged(
bool bSameTabButMoved =
false );
421 bool bShift,
bool bControl,
422 bool bKeepOld =
false,
bool bKeepSel =
false );
424 bool bShift,
bool bKeepSel =
false );
426 bool bShift,
bool bKeepSel =
false );
428 bool bShift,
bool bKeepSel =
false );
430 bool bShift,
bool bKeepSel =
false );
441 SC_DLLPUBLIC void SetTabNo(
SCTAB nTab,
bool bNew =
false,
bool bExtendSelection =
false,
bool bSameTabButMoved =
false );
494 void DoChartSelection(
const css::uno::Sequence< css::chart2::data::HighlightedRange > & rHilightRanges );
495 void DoDPFieldPopup(std::u16string_view rPivotTableName, sal_Int32 nDimensionIndex, Point aPoint,
Size aSize);
515 void SelectAll(
bool bContinue =
false );
520 bool bCols =
false,
bool bRows =
false,
bool bCellSelection =
false );
522 bool bTestNeg =
false,
523 bool bCols =
false,
bool bRows =
false,
bool bForceNeg =
false );
556 void MarkRange(
const ScRange& rRange,
bool bSetCursor =
true,
bool bContinue =
false );
569 bool bGraphicsChanged);
601 bool bFiltered,
bool bGroups);
void FindNextUnprot(bool bShift, bool bInSelection)
SvxZoomType GetZoomType() const
SCROW GetLOKStartHeaderRow() const
void DoChartSelection(const css::uno::Sequence< css::chart2::data::HighlightedRange > &rHilightRanges)
void InitRefMode(SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, ScRefType eType)
void SelectAll(bool bContinue=false)
void MarkDataArea(bool bIncludeCursor=true)
void InvertVertical(ScHSplitPos eWhich, tools::Long nDragPos)
DECL_LINK(ScrollHdl, ScrollBar *, void)
const ScViewData & GetViewData() const
void ResetBrushDocument()
bool IsDrawSelMode() const
void DoHSplit(tools::Long nSplitPos)
void FreezeSplitters(bool bFreeze, SplitMethod eSplitMethod=SC_SPLIT_METHOD_CURSOR, SCCOLROW nFreezeIndex=-1)
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
std::array< VclPtr< ScRowBar >, 2 > pRowBar
void RemoveWindowFromForeignEditView(SfxViewShell *pViewShell, ScSplitPos eWhich)
VclPtr< ScrollBar > aHScrollLeft
SC_DLLPUBLIC void RefreshZoom()
static tools::Long GetScrollBarPos(const ScrollBar &rScroll)
ScSplitPos FindWindow(const vcl::Window *pWindow) const
SCCOL mnLOKStartHeaderCol
VclPtr< ScrollBar > aVScrollBottom
void SetBrushDocument(ScDocumentUniquePtr pNew, bool bLock)
void SetTabProtectionSymbol(SCTAB nTab, const bool bProtect)
void UpdateInputContext()
const std::vector< ScHighlightEntry > & GetHighlightRanges() const
VclPtr< ScrollBar > aHScrollRight
void MarkRange(const ScRange &rRange, bool bSetCursor=true, bool bContinue=false)
void DoneRefMode(bool bContinue=false)
void SetPagebreakMode(bool bSet)
void RepeatResize(bool bUpdateFix=true)
Point GetChartInsertPos(const Size &rSize, const ScRange &rCellRange)
ScDocument * GetBrushDocument() const
vcl::Window * GetFrameWin() const
ScFollowMode
Screen behavior related to cursor movements.
double mfPendingTabBarWidth
VclPtr< ScTabSplitter > pHSplitter
void InitScrollBar(ScrollBar &rScrollBar, tools::Long nMaxVal)
sal_uInt16 GetLockedModifiers() const
SCROW mnLOKStartHeaderRow
void ViewOptionsHasChanged(bool bHScrollChanged, bool bGraphicsChanged)
void UpdateIMap(SdrObject *pObj)
tools::Long GetGridWidth(ScHSplitPos eWhich)
void GetBorderSize(SvBorder &rBorder, const Size &rSize)
static void UpdateInputLine()
std::shared_ptr< weld::MessageDialog > m_xMessageBox
OString getSheetGeometryData(bool bColumns, bool bRows, bool bSizes, bool bHidden, bool bFiltered, bool bGroups)
void SetAutoSpellData(SCCOL nPosX, SCROW nPosY, const std::vector< editeng::MisspellRanges > *pRanges)
void AddHighlightRange(const ScRange &rRange, const Color &rColor)
tools::Long GetTabBarWidth() const
Returns the current tab bar width in pixels.
void TabChanged(bool bSameTabButMoved=false)
Called after moving, copying, inserting or deleting a sheet.
void LockModifiers(sal_uInt16 nModifiers)
SC_DLLPUBLIC void SetCursor(SCCOL nPosX, SCROW nPosY, bool bNew=false)
void PaintRangeFinderEntry(const ScRangeFindData *pData, SCTAB nTab)
Update marks for a selected Range.
VclPtr< vcl::Window > sTopParent
SC_DLLPUBLIC void ScrollLines(tools::Long nDeltaX, tools::Long nDeltaY)
void ScrollX(tools::Long nDeltaX, ScHSplitPos eWhich, bool bUpdBars=true)
SC_DLLPUBLIC void MoveCursorAbs(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, bool bShift, bool bControl, bool bKeepOld=false, bool bKeepSel=false)
void UpdateCopySourceOverlay()
void KillEditView(bool bNoPaint)
tools::Long GetGridHeight(ScVSplitPos eWhich)
void MoveCursorScreen(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift)
void UpdateAutoFillMark(bool bFromPaste=false)
SCCOL GetLOKEndHeaderCol() const
void InvertHorizontal(ScVSplitPos eWhich, tools::Long nDragPos)
void PaintLeftArea(SCROW nStartRow, SCROW nEndRow)
ScPageBreakData * GetPageBreakData()
void MoveCursorEnd(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
std::array< VclPtr< ScGridWindow >, 4 > pGridWin
SC_DLLPUBLIC void SetRelTabBarWidth(double fRelTabBarWidth)
Sets a relative tab bar width.
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
Additional class containing cell annotation data.
std::shared_ptr< sc::SpellCheckContext > mpSpellCheckCxt
void SetPendingRelTabBarWidth(double fRelTabBarWidth)
Sets a relative tab bar width.
SCROW GetLOKEndHeaderRow() const
void SetDrawFuncPtr(FuPoor *pFuncPtr)
void OnLibreOfficeKitTabChanged()
void PaintBlock(bool bReset)
divide PaintBlock into two methods: RepaintBlock and RemoveBlock or similar
void PaintRangeFinder(tools::Long nNumber)
std::unique_ptr< SfxItemSet > pDrawBrushSet
void UpdateShrinkOverlay()
bool SelMouseButtonDown(const MouseEvent &rMEvt)
void UpdateFormulas(SCCOL nStartCol=-1, SCROW nStartRow=-1, SCCOL nEndCol=-1, SCROW nEndRow=-1)
bool IsPaintBrushLocked() const
void ActivatePart(ScSplitPos eWhich)
void DrawMarkListHasChanged()
void DoneBlockMode(bool bContinue=false)
void ClearHighlightRanges()
void ActivateView(bool bActivate, bool bFirst)
void SkipCursorVertical(SCCOL &rCurX, SCROW &rCurY, SCROW nOldY, SCROW nMovY)
std::unique_ptr< sdr::overlay::OverlayObjectList > mxInputHintOO
ScViewData & GetViewData()
ScGridWindow * GetActiveWin()
void SelectionChanged(bool bFromPaste=false)
bool HasHintWindow() const
bool IsInActivatePart() const
void ScrollToObject(const SdrObject *pDrawObj)
void PaintArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScUpdateMode eMode=ScUpdateMode::All)
void SelectTabPage(const sal_uInt16 nTab)
std::unique_ptr< ScPageBreakData > pPageBreakData
void ExpandBlock(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode)
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, bool bAll)
vcl::Window * GetWindowByPos(ScSplitPos ePos) const
ScDocumentUniquePtr pBrushDocument
bool ScrollCommand(const CommandEvent &rCEvt, ScSplitPos ePos)
VclPtr< ScTabControl > pTabControl
void DoAddWin(ScGridWindow *pWin)
std::unique_ptr< ScDocument, o3tl::default_delete< ScDocument > > ScDocumentUniquePtr
void CreateAnchorHandles(SdrHdlList &rHdl, const ScAddress &rAddress)
void SetActivePointer(PointerStyle nPointer)
void FakeButtonUp(ScSplitPos eWhich)
void UpdateHeaderWidth(const ScVSplitPos *pWhich=nullptr, const SCROW *pPosY=nullptr)
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
void ExpandBlockArea(SCCOL nMovX, SCROW nMovY)
void DrawEnableAnim(bool bSet)
void DoVSplit(tools::Long nSplitPos)
void MakeVisible(const tools::Rectangle &rHMMRect)
const ScTabView & operator=(const ScTabView &)=delete
VclPtr< ScrollBar > aVScrollTop
bool HasPageFieldDataAtCursor() const
void MakeEditView(ScEditEngineDefaulter *pEngine, SCCOL nCol, SCROW nRow)
sal_uInt16 CalcZoom(SvxZoomType eType, sal_uInt16 nOldZoom)
static SC_DLLPUBLIC double GetRelTabBarWidth()
Returns the current tab bar width relative to the frame window width (0.0 ...
void EnableAutoSpell(bool bEnable)
VclPtr< ScrollBarBox > aScrollBarBox
void DoDPFieldPopup(std::u16string_view rPivotTableName, sal_Int32 nDimensionIndex, Point aPoint, Size aSize)
Base class for all functions.
void UpdateSelectionOverlay()
void UpdateScrollBars(HeaderType eHeaderType=BOTH_HEADERS)
VclPtr< ScCornerButton > aTopButton
void EnableRefInput(bool bFlag)
void extendTiledAreaIfNeeded()
void DigitLanguageChanged()
std::array< VclPtr< ScOutlineWindow >, 2 > pColOutline
void ClickCursor(SCCOL nPosX, SCROW nPosY, bool bControl)
ScViewFunctionSet & GetFunctionSet()
The window left of or above the spreadsheet containing the outline groups and controls to expand/coll...
bool mbInlineWithScrollbar
bool HasPaintBrush() const
void PaintMarks(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
SfxItemSet * GetDrawBrushSet() const
void MoveCursorEnter(bool bShift)
void ResetAutoSpellForContentChange()
std::vector< ScHighlightEntry > maHighlightRanges
tools::Rectangle aTipRectangle
void SetTimer(ScGridWindow *pWin, const MouseEvent &rMEvt)
ScDrawView * GetScDrawView()
void SetDrawFuncOldPtr(FuPoor *pFuncPtr)
std::unique_ptr< ScHeaderSelectionEngine > pHdrSelEng
void ErrorMessage(const char *pGlobStrId)
bool UpdateVisibleRange()
void MoveCursorPage(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
void getRowColumnHeaders(const tools::Rectangle &rRectangle, tools::JsonWriter &rJsonWriter)
void CheckSelectionTransfer()
void AddWindowToForeignEditView(SfxViewShell *pViewShell, ScSplitPos eWhich)
void ScrollY(tools::Long nDeltaY, ScVSplitPos eWhich, bool bUpdBars=true)
ScHeaderFunctionSet aHdrFunc
bool IsDrawTextEdit() const
void MoveCursorArea(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
void MoveCursorRel(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
VclPtr< ScCornerButton > aCornerButton
FuPoor * GetDrawFuncPtr()
VclPtr< ScTabSplitter > pVSplitter
ScRefType
Mouse mode to select areas.
static void OnLOKNoteStateChanged(const ScPostIt *pNote)
void GetPageMoveEndPosition(SCCOL nMovX, SCROW nMovY, SCCOL &rPageX, SCROW &rPageY)
SCCOL GetLOKStartHeaderCol() const
void GetAreaMoveEndPosition(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, SCCOL &rAreaX, SCROW &rAreaY, ScFollowMode &rMode)
ScViewSelectionEngine * GetSelEngine()
std::array< VclPtr< ScColBar >, 2 > pColBar
std::unique_ptr< ScViewSelectionEngine > pSelEngine
void AlignToCursor(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, const ScSplitPos *pWhich=nullptr)
void UpdateAnchorHandles()
void SelectNextTab(short nDir, bool bExtendSelection)
void SetZoomType(SvxZoomType eNew, bool bAll)
VclPtr< vcl::Window > pFrameWin
ScExtraEditViewManager aExtraEditViewManager
Point GetInsertPos() const
std::array< VclPtr< ScOutlineWindow >, 2 > pRowOutline
void SkipCursorHorizontal(SCCOL &rCurX, SCROW &rCurY, SCCOL nOldX, SCCOL nMovX)
Point GetChartDialogPos(const Size &rDialogSize, const tools::Rectangle &rLogicChart)
void UpdateDrawTextOutliner()
void UpdateRef(SCCOL nCurX, SCROW nCurY, SCTAB nCurZ)
std::unique_ptr< ScDrawView > pDrawView
FuPoor * GetDrawFuncOldPtr()
VclPtr< ScGridWindow > pTimerWindow
void PaintTopArea(SCCOL nStartCol, SCCOL nEndCol)
ScTabView(const ScTabView &)=delete
make noncopyable
void MarkCursor(SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, bool bCols=false, bool bRows=false, bool bCellSelection=false)
double GetPendingRelTabBarWidth() const
Returns the pending tab bar width relative to the frame window width (0.0 ...
Point GetGridOffset() const
void SetTabBarWidth(tools::Long nNewWidth)
Sets an absolute tab bar width (in pixels).
void DoResize(const Point &rOffset, const Size &rSize, bool bInner=false)
void ExpandBlockPage(SCCOL nMovX, SCROW nMovY)
SC_DLLPUBLIC void CellContentChanged()
void UpdatePageBreakData(bool bForcePaint=false)
void SetDrawBrushSet(std::unique_ptr< SfxItemSet > pNew, bool bLock)
ScViewFunctionSet aFunctionSet
void SplitAtPixel(const Point &rPixel)
void InitBlockMode(SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, bool bTestNeg=false, bool bCols=false, bool bRows=false, bool bForceNeg=false)
bool IsMarking(SCCOL nCol, SCROW nRow, SCTAB nTab) const
bool MoveCursorKeyInput(const KeyEvent &rKeyEvent)
void MakeDrawView(TriState nForceDesignMode)
void SetDrawSelMode(bool bNew)
void SetMarkData(const ScMarkData &rNew)
static void SetScrollBar(ScrollBar &rScroll, tools::Long nRangeMax, tools::Long nVisible, tools::Long nPos, bool bLayoutRTL)