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