54 struct TablePageBreakData;
58namespace formula {
struct VectorRefArray; }
61struct BroadcasterState;
62class StartListeningContext;
63class EndListeningContext;
64class CopyFromClipContext;
65class CopyToClipContext;
66class CopyToDocContext;
69class RangeColumnSpanSet;
71struct ColumnBlockPosition;
72class TableColumnBlockPositionSet;
73struct RefUpdateContext;
74struct RefUpdateInsertTabContext;
75struct RefUpdateDeleteTabContext;
76struct RefUpdateMoveTabContext;
78class DocumentStreamAccess;
81class RowHeightContext;
82class CompileFormulaContext;
83struct SetFormulaDirtyContext;
150 std::reverse_iterator<Iterator>
rbegin() {
return std::reverse_iterator<Iterator>(
maEnd); }
151 std::reverse_iterator<Iterator>
rend() {
return std::reverse_iterator<Iterator>(
maBegin); }
194 std::unique_ptr<ScCompressedArray<SCCOL, sal_uInt16>>
mpColWidth;
197 std::unique_ptr<ScBitMaskCompressedArray<SCCOL, CRFlags>>
mpColFlags;
198 std::unique_ptr<ScBitMaskCompressedArray< SCROW, CRFlags>>
pRowFlags;
277template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType >
279template< ScQueryCellIteratorAccess accessType >
292 bool bColInfo =
true,
bool bRowInfo =
true );
346 return nScCol >=
static_cast< SCCOL >( 0 ) && nScCol <
aCol.
size();
393 const OUString& rOpt,
const OUString& rTab,
sal_uLong nRefreshDelay );
398 void SetName(
const OUString& rNewName );
427 SCROW nRow2,
bool* pOnlyNotBecauseOfMatrix =
nullptr,
428 bool bNoMatrixAtAll =
false )
const;
430 bool* pOnlyNotBecauseOfMatrix =
nullptr )
const;
433 bool bNoMatrixAtAll =
false )
const;
493 return aCol[rPos.
Col()].GetCellType( rPos.
Row() );
531 bool* pUndoOutline, std::vector<ScAddress>* pGroupPos );
576 const ScMarkData* pMarkData,
bool bAsLink,
bool bColRowFlags,
577 bool bGlobalNamesToLocal,
bool bCopyCaptions );
596 bool bAsLink,
bool bIncludeFiltered);
601 bool bSkipEmpty,
const ScTable* pSrcTab );
628 SCCOL& rEndCol )
const;
630 SCROW& rEndRow,
bool bNotes )
const;
638 bool bIncludeOld,
bool bOnlyDown )
const;
643 SCCOL& rEndCol,
SCROW& rEndRow,
bool bColumnsOnly,
644 bool bStickyTopRow,
bool bStickyLeftCol,
656 bool bMarked,
bool bUnprotected,
const ScMarkData& rMark,
SCCOL nTabStartCol )
const;
659 const bool bUp,
const SCROW nUsedY,
const bool bMarked,
const bool bSheetProtected )
const;
701 bool bIncludeDraw =
true,
bool bUpdateNoteCaptionPos =
true );
728 sal_uInt16 nFormatNo );
732 ScRangeList& rMatchedRanges, OUString& rUndoStr,
ScDocument* pUndoDoc,
bool& bMatchedRangesWereClamped);
739 SCROW* nStartRow =
nullptr,
SCROW* nEndRow =
nullptr )
const;
749 return static_cast<const T*
>(
GetAttr(nCol, nRow, sal_uInt16(nWhich)));
754 return static_cast<const T*
>(
GetAttr(nCol, nRow, sal_uInt16(nWhich), nStartRow, nEndRow));
782 bool*
const pIsChanged =
nullptr );
799 const ::editeng::SvxBorderLine* pLine,
bool bColorOnly );
849 ScProgress* pOuterProgress =
nullptr, sal_uInt64 nProgressStart = 0 );
853 ScProgress* pOuterProgress =
nullptr, sal_uInt64 nProgressStart = 0 );
859 bool bWidth,
bool bTotalSize,
860 bool bInPrintTwips =
false);
865 double nPPTY,
bool bApi );
947 void GetAllRowBreaks(::std::set<SCROW>& rBreaks,
bool bPage,
bool bManual)
const;
948 void GetAllColBreaks(::std::set<SCCOL>& rBreaks,
bool bPage,
bool bManual)
const;
1017 const ScSortParam& rSortParam,
bool bKeepQuery,
bool bUpdateRefs,
1037 SCROW nRowStart,
SCROW nRowEnd, rtl_TextEncoding eCharSet )
const;
1045 void SetDrawPageSize(
bool bResetStreamValid =
true,
bool bUpdateNoteCaptionPos =
true,
1102 SCROW nRowStart,
SCROW nRowEnd,
unsigned nThisThread,
unsigned nThreadsTotal);
1148#if DUMP_COLUMN_STORAGE
1188 ScProgress* pProgress, sal_uInt64& rProgress );
1197 sal_uInt64 nActFormCnt, sal_uInt64 nMaxFormCnt,
1198 bool bHasFiltered,
bool bVertical,
bool bPositive,
1199 ScProgress* pProgress, sal_uInt64& rProgress );
1205 double nMaxValue, sal_uInt16 nMinDigits,
1207 bool bSkipOverlappedCells =
false,
1208 std::vector<sal_Int32>* pNonOverlappedCellIdx =
nullptr);
1213 bool bHasFiltered,
bool& rSkipOverlappedCells,
1214 std::vector<sal_Int32>& rNonOverlappedCellIdx );
1219 bool bMarked,
bool bUnprotected )
const;
1232 std::vector< sc::ColumnBlockConstPosition >& blockPos);
1239 OUString& rUndoStr,
ScDocument* pUndoDoc,
bool& bMatchedRangesWereClamped);
1256 OUString& rUndoStr);
1273 bool bKeepQuery,
bool bUpdateRefs );
1281 ScProgress* pProgress,
bool bOnlyDataAreaExtras );
1323 bool bNumFormatChanged,
bool bBroadcast );
1348 SCROW nRow2,
SCROW nCombinedStartRow,
bool bIncludeFiltered,
1349 const std::vector<SCROW>& rFilteredRows,
SCROW nRowDestOffset);
1360 SCROW nCombinedStartRow,
bool bIncludeFiltered,
SCROW nRowDestOffset);
1370 std::vector<ScAddress>* pGroupPos );
bool ValidTab(SCTAB nTab)
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
The data type represents bits, manageable by bitwise operations.
Walk through all cells in an area.
BroadcastMode
Broadcast mode for SetDirty(SCROW,SCROW,BroadcastMode).
std::bidirectional_iterator_tag iterator_category
bool operator==(const Iterator &rOther) const
bool operator!=(const Iterator &rOther) const
std::reverse_iterator< Iterator > rbegin()
std::reverse_iterator< Iterator > rend()
ScColumnsRange(SCCOL nBegin, SCCOL nEnd)
Compressed array of row (or column) entries, e.g.
Accessor class to ScDocument.
bool ValidRow(SCROW nRow) const
bool ValidCol(SCCOL nCol) const
bool ValidColRow(SCCOL nCol, SCROW nRow) const
To calculate a single subtotal function.
static SC_DLLPUBLIC sal_uInt16 nStdRowHeight
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
Matrix data type that can store values of mixed types.
Additional class containing cell annotation data.
sheet protection state container
Use this to iterate through non-empty visible cells in a single column.
static constexpr SCROW ROW_NOT_FOUND
VisibleDataCellIterator(const ScDocument &rDoc, ScFlatBoolRowSegments &rRowSegs, ScColumn &rColumn)
ScFlatBoolRowSegments & mrRowSegs
ScRefCellValue next()
Find the next visible data cell position.
const ScDocument & mrDocument
SCROW getRow() const
Get the current row position.
ScRefCellValue reset(SCROW nRow)
Set the start row position.
std::unique_ptr< ScFlatBoolColSegments > mpHiddenCols
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich, SCROW &nStartRow, SCROW &nEndRow) const
void CopyScenarioFrom(const ScTable *pSrcTab)
bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
const ScStyleSheet * GetSelectionStyle(const ScMarkData &rMark, bool &rFound) const
std::unique_ptr< ScSortInfoArray > CreateSortInfoArray(const sc::ReorderParam &rParam)
SCCOL GetLOKFreezeCol() const
void ApplySelectionCache(SfxItemPoolCache *pCache, const ScMarkData &rMark, ScEditDataArray *pDataArray=nullptr, bool *const pIsChanged=nullptr)
void Sort(const ScSortParam &rSortParam, bool bKeepQuery, bool bUpdateRefs, ScProgress *pProgress, sc::ReorderParam *pUndo)
Sort a range of data.
SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const
ScRangeName * GetRangeName() const
bool bTableAreaVisibleValid
bool ValidCol(SCCOL nCol) const
void UpdateInsertTab(sc::RefUpdateInsertTabContext &rCxt)
void ApplyStyleArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScStyleSheet &rStyle)
SCCOL FindNextVisibleCol(SCCOL nCol, bool bRight) const
sal_uInt16 GetOriginalHeight(SCROW nRow) const
bool UpdateOutlineCol(SCCOL nStartCol, SCCOL nEndCol, bool bShow)
bool IsBlockEditable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool *pOnlyNotBecauseOfMatrix=nullptr, bool bNoMatrixAtAll=false) const
SCCOL CountVisibleCols(SCCOL nStartCol, SCCOL nEndCol) const
ScRefCellValue GetCellValue(SCCOL nCol, sc::ColumnBlockPosition &rBlockPos, SCROW nRow)
static void DecoladeRow(ScSortInfoArray *, SCROW nRow1, SCROW nRow2)
void ApplySelectionLineStyle(const ScMarkData &rMark, const ::editeng::SvxBorderLine *pLine, bool bColorOnly)
void AddCondFormatData(const ScRangeList &rRange, sal_uInt32 nIndex)
void UpdateDrawRef(UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCCOL nDx, SCROW nDy, SCTAB nDz, bool bUpdateNoteCaptionPos=true)
void Fill(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, double nStepValue, const tools::Duration &rDurationStep, double nMaxValue, ScProgress *pProgress)
bool SearchRangeForAllEmptyCells(const ScRange &rRange, const SvxSearchItem &rSearchItem, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
bool SkipRow(const SCCOL rCol, SCROW &rRow, const SCROW nMovY, const ScMarkData &rMark, const bool bUp, const SCROW nUsedY, const bool bMarked, const bool bSheetProtected) const
void FillMatrix(ScMatrix &rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool *pPool) const
bool HasBlockMatrixFragment(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bNoMatrixAtAll=false) const
sal_uInt32 GetNumberFormat(const ScInterpreterContext &rContext, const ScAddress &rPos) const
void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden)
void CompileDBFormula(sc::CompileFormulaContext &rCxt)
void AssertNoInterpretNeeded(SCCOL nCol, SCROW nRow1, SCROW nRow2)
bool IsActiveScenario() const
void SetAllFormulasDirty(const sc::SetFormulaDirtyContext &rCxt)
void PrepareQuery(ScQueryParam &rQueryParam)
std::unique_ptr< ScFlatBoolRowSegments > mpFilteredRows
ScRefCellValue GetRefCellValue(SCCOL nCol, SCROW nRow)
ScColumnsRange GetAllocatedColumnsRange(SCCOL begin, SCCOL end) const
SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const
bool ReplaceStyle(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, bool bIsUndo)
const OUString & GetUpperName() const
void SortReorderByColumn(const ScSortInfoArray *pArray, SCROW nRow1, SCROW nRow2, bool bPattern, ScProgress *pProgress)
void ShowRow(SCROW nRow, bool bShow)
void SetAttrEntries(SCCOL nStartCol, SCCOL nEndCol, std::vector< ScAttrEntry > &&vNewData)
void StyleSheetChanged(const SfxStyleSheetBase *pStyleSheet, bool bRemoved, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY)
void CopyStaticToDocument(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const SvNumberFormatterMergeMap &rMap, ScTable *pDestTab)
void UpdateDeleteTab(sc::RefUpdateDeleteTabContext &rCxt)
void UpdateGrow(const ScRange &rArea, SCCOL nGrowX, SCROW nGrowY)
void ApplyAttr(SCCOL nCol, SCROW nRow, const SfxPoolItem &rAttr)
ScColumnsRange GetColumnsRange(SCCOL begin, SCCOL end) const
ScColumn * FetchColumn(SCCOL nCol)
bool HasFormulaCell(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2) const
bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, HasAttrFlags nMask) const
void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData &rData)
bool GetPrintAreaHor(SCROW nStartRow, SCROW nEndRow, SCCOL &rEndCol) const
FormulaError GetErrCode(const ScAddress &rPos) const
bool GetCellArea(SCCOL &rEndCol, SCROW &rEndRow)
void DeleteSelection(InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
void CopyCellToDocument(SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable &rDestTab)
bool ColFiltered(SCCOL nCol, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
void InvalidateTableArea()
void CopyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab)
bool HasRowHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
void ShowCol(SCCOL nCol, bool bShow)
void EndListeningGroup(sc::EndListeningContext &rCxt, const SCCOL nCol, SCROW nRow)
void SetLink(ScLinkMode nMode, const OUString &rDoc, const OUString &rFlt, const OUString &rOpt, const OUString &rTab, sal_uLong nRefreshDelay)
void SetDrawPageSize(bool bResetStreamValid=true, bool bUpdateNoteCaptionPos=true, const ScObjectHandling eObjectHandling=ScObjectHandling::RecalcPosMode)
std::unique_ptr< ScDBData > pDBDataNoName
OString dumpColumnRowSizes(bool bColumns)
Returns list-of-spans representation of the column-widths/row-heights in twips encoded as an OString.
void SetDirty(const ScRange &, ScColumn::BroadcastMode)
std::unique_ptr< ScConditionalFormatList > mpCondFormatList
void SetTabBgColor(const Color &rColor)
bool TestCopyScenarioTo(const ScTable *pDestTab) const
void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered)
void DoAutoOutline(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
bool HasSelectionMatrixFragment(const ScMarkData &rMark) const
CollatorWrapper * pSortCollator
void SetNote(SCCOL nCol, SCROW nRow, std::unique_ptr< ScPostIt > pNote)
void UpdateSelectionFunction(ScFunctionData &rData, const ScMarkData &rMark)
bool GetCalcNotification() const
void AutoFormat(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_uInt16 nFormatNo)
SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const
const ScStyleSheet * GetAreaStyle(bool &rFound, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
void DeleteRow(const sc::ColumnSet &rRegroupCols, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize, bool *pUndoOutline, std::vector< ScAddress > *pGroupPos)
sal_uLong GetLinkRefreshDelay() const
bool IsDataFiltered(SCCOL nColStart, SCROW nRowStart, SCCOL nColEnd, SCROW nRowEnd) const
void DetachFormulaCells(sc::EndListeningContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
const OUString & GetLinkTab() const
void InvalidatePageBreaks()
void FillAuto(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, ScProgress *pProgress)
bool HasScenarioRange(const ScRange &rRange) const
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich) const
const std::optional< ScRange > & GetRepeatRowRange() const
void FillAnalyse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, FillCmd &rCmd, FillDateCmd &rDateCmd, double &rInc, tools::Duration &rDuration, sal_uInt16 &rMinDigits, ScUserListData *&rListData, sal_uInt16 &rListIndex, bool bHasFiltered, bool &rSkipOverlappedCells, std::vector< sal_Int32 > &rNonOverlappedCellIdx)
void GetAllRowBreaks(::std::set< SCROW > &rBreaks, bool bPage, bool bManual) const
void EndListening(const ScAddress &rAddress, SvtListener *pListener)
bool InterpretCellsIfNeeded(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
bool RowHiddenLeaf(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
bool SearchAllStyle(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges)
void FillSeriesSimple(const ScCellValue &rSrcCell, SCCOLROW &rInner, SCCOLROW nIMin, SCCOLROW nIMax, const SCCOLROW &rCol, const SCCOLROW &rRow, bool bVertical, ScProgress *pProgress, sal_uInt64 &rProgress)
bool SearchAll(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
~ScTable() COVERITY_NOEXCEPT_FALSE
void TransposeColPatterns(ScTable *pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered, const std::vector< SCROW > &rFilteredRows, SCROW nRowDestOffset)
Transpose clipboard patterns.
SCSIZE GetPatternCount(SCCOL nCol) const
void CompileXML(sc::CompileFormulaContext &rCxt, ScProgress &rProgress)
bool IsBlockEmpty(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
::std::set< SCCOL > maColManualBreaks
bool SearchAndReplaceEmptyCells(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
sal_uInt16 GetColWidth(SCCOL nCol, bool bHiddenAsZero=true) const
void CopyRowFiltered(const ScTable &rTable, SCROW nStartRow, SCROW nEndRow)
const OUString & GetPageStyle() const
sal_uInt16 GetRowHeight(SCROW nRow, SCROW *pStartRow, SCROW *pEndRow, bool bHiddenAsZero=true) const
ScFormulaCell * SetFormulaCell(SCCOL nCol, SCROW nRow, ScFormulaCell *pCell)
Takes ownership of pCell.
sal_uInt16 mnOptimalMinRowHeight
void GetAllColBreaks(::std::set< SCCOL > &rBreaks, bool bPage, bool bManual) const
void SetColWidthOnly(SCCOL nCol, sal_uInt16 nNewWidth)
bool CreateStarQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
void UndoToTable(sc::CopyToDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScTable *pDestTab)
void MixData(sc::MixDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScPasteFunc nFunction, bool bSkipEmpty, const ScTable *pSrcTab)
bool ValidColRow(SCCOL nCol, SCROW nRow) const
std::unique_ptr< ScBitMaskCompressedArray< SCROW, CRFlags > > pRowFlags
void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData &rData)
sal_uInt16 GetOriginalWidth(SCCOL nCol) const
CommentCaptionState GetAllNoteCaptionsState(const ScRange &rRange, std::vector< sc::NoteEntry > &rNotes)
void FillSeries(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, double nStepValue, const tools::Duration &rDurationStep, double nMaxValue, sal_uInt16 nMinDigits, bool bAttribs, ScProgress *pProgress, bool bSkipOverlappedCells=false, std::vector< sal_Int32 > *pNonOverlappedCellIdx=nullptr)
void SetLoadingRTL(bool bSet)
bool HandleRefArrayForParallelism(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScFormulaCellGroupRef &mxGroup)
void RemoveEditTextCharAttribs(SCCOL nCol, SCROW nRow, const ScPatternAttr &rAttr)
void FindMaxRotCol(RowInfo *pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2)
bool IsColRowTabValid(const SCCOL nScCol, const SCROW nScRow, const SCTAB nScTab) const
void UpdateInsertTabAbs(SCTAB nNewPos)
bool SetOutlineTable(const ScOutlineTable *pNewOutline)
OUString GetString(SCCOL nCol, SCROW nRow, const ScInterpreterContext *pContext=nullptr) const
bool HasData(SCCOL nCol, SCROW nRow) const
void RemoveCondFormatData(const ScRangeList &rRange, sal_uInt32 nIndex)
void SetRangeName(std::unique_ptr< ScRangeName > pNew)
bool IsEditActionAllowed(sc::ColRowEditAction eAction, SCCOLROW nStart, SCCOLROW nEnd) const
sal_uInt16 GetCommonWidth(SCCOL nEndCol) const
ScLinkMode GetLinkMode() const
void UpdateScriptTypes(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2)
void PageStyleModified(const OUString &rNewName)
void FillPrintSaver(ScPrintSaverTab &rSaveTab) const
void SetRowFlags(SCROW nRow, CRFlags nNewFlags)
void MergeSelectionPattern(ScMergePatternState &rState, const ScMarkData &rMark, bool bDeep) const
const EditTextObject * GetEditText(SCCOL nCol, SCROW nRow) const
const ScPatternAttr * GetMostUsedPattern(SCCOL nCol, SCROW nStartRow, SCROW nEndRow) const
ScColumn & CreateColumnIfNotExists(const SCCOL nScCol)
const ScColumnData & ColumnData(SCCOL nCol) const
void FillAutoSimple(SCCOLROW nISrcStart, SCCOLROW nISrcEnd, SCCOLROW nIStart, SCCOLROW nIEnd, SCCOLROW &rInner, const SCCOLROW &rCol, const SCCOLROW &rRow, sal_uInt64 nActFormCnt, sal_uInt64 nMaxFormCnt, bool bHasFiltered, bool bVertical, bool bPositive, ScProgress *pProgress, sal_uInt64 &rProgress)
bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol) const
bool GetDataStart(SCCOL &rStartCol, SCROW &rStartRow) const
::std::set< SCROW > maRowPageBreaks
void GetAllNoteEntries(std::vector< sc::NoteEntry > &rNotes) const
const ScFormulaCell * GetFormulaCell(SCCOL nCol, SCROW nRow) const
bool SetEditText(SCCOL nCol, SCROW nRow, std::unique_ptr< EditTextObject > pEditText)
void QuickSort(ScSortInfoArray *, SCCOLROW nLo, SCCOLROW nHi)
void TransposeColNotes(ScTable *pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered, SCROW nRowDestOffset)
Transpose clipboard notes.
void SetCodeName(const OUString &rNewName)
bool IsColValid(const SCCOL nScCol) const
void CopyUpdated(const ScTable *pPosTab, ScTable *pDestTab) const
std::unique_ptr< ScBitMaskCompressedArray< SCCOL, CRFlags > > mpColFlags
void SetStreamValid(bool bSet, bool bIgnoreLock=false)
const ScSheetEvents * GetSheetEvents() const
void CopyRowHeight(const ScTable &rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset)
std::shared_ptr< sc::SolverSettings > m_pSolverSettings
void GetDataArea(SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bIncludeOld, bool bOnlyDown) const
SCCOL GetLastChangedColFlagsWidth() const
void SortReorderAreaExtrasByColumn(const ScSortInfoArray *pArray, SCROW nDataRow1, SCROW nDataRow2, const ScDataAreaExtras &rDataAreaExtras, ScProgress *pProgress)
size_t GetNoteCount(SCCOL nCol) const
bool DeleteSparkline(SCCOL nCol, SCROW nRow)
bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set< ScTypedStrData > &rStrings)
void CopyScenarioTo(ScTable *pDestTab) const
tools::Long GetScaledRowHeight(SCROW nStartRow, SCROW nEndRow, double fScale) const
void SetTableOpDirty(const ScRange &)
bool SearchStyle(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark)
void CheckIntegrity() const
sal_uInt64 GetWeightedCount() const
bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
sal_uLong nLinkRefreshDelay
void CalculateInColumnInThread(ScInterpreterContext &rContext, SCCOL nColStart, SCCOL nColEnd, SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal)
void DeleteCol(const sc::ColumnSet &rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, bool *pUndoOutline)
void ApplyStyle(SCCOL nCol, SCROW nRow, const ScStyleSheet *rStyle)
std::optional< ScRange > moRepeatRowRange
void SetPageSize(const Size &rSize)
bool SearchAndReplace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc, bool &bMatchedRangesWereClamped)
std::unique_ptr< ScFlatBoolColSegments > mpFilteredCols
void FindAreaPos(SCCOL &rCol, SCROW &rRow, ScMoveDirection eDirection) const
void SetCondFormList(ScConditionalFormatList *pList)
tools::Long GetRowOffset(SCROW nRow, bool bHiddenAsZero=true) const
const std::optional< ScRange > & GetRepeatColRange() const
css::uno::Sequence< css::sheet::TablePageBreakData > GetRowBreakData() const
void SetDirtyIfPostponed()
Mark formula cells dirty that have the mbPostponedDirty flag set or contain named ranges with relativ...
void GetUnprotectedCells(ScRangeList &rRangeList) const
bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bRefresh)
void SetColBreak(SCCOL nCol, bool bPage, bool bManual)
void RestorePrintRanges(const ScPrintSaverTab &rSaveTab)
void CheckVectorizationState()
void CreateColumnIfNotExistsImpl(const SCCOL nScCol)
std::optional< sc::ColumnIterator > GetColumnIterator(SCCOL nCol, SCROW nRow1, SCROW nRow2) const
bool IsPendingRowHeights() const
const ScStyleSheet * GetStyle(SCCOL nCol, SCROW nRow) const
void SetScriptType(SCCOL nCol, SCROW nRow, SvtScriptType nType)
void SetColWidth(SCCOL nCol, sal_uInt16 nNewWidth)
void SetMergedCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
bool SetFormulaCells(SCCOL nCol, SCROW nRow, std::vector< ScFormulaCell * > &rCells)
ScPostIt * GetNote(SCCOL nCol, SCROW nRow)
void CopyToTable(sc::CopyToDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScTable *pDestTab, const ScMarkData *pMarkData, bool bAsLink, bool bColRowFlags, bool bGlobalNamesToLocal, bool bCopyCaptions)
void MergeBlockFrame(SvxBoxItem *pLineOuter, SvxBoxInfoItem *pLineInner, ScLineFlags &rFlags, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
void CopyConditionalFormat(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOL nDx, SCROW nDy, const ScTable *pTable)
bool HasRowPageBreak(SCROW nRow) const
SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const
void AddPrintRange(const ScRange &rNew)
Adds a new print ranges.
bool GetPrintArea(SCCOL &rEndCol, SCROW &rEndRow, bool bNotes, bool bCalcHiddens=false) const
void SetRowHeight(SCROW nRow, sal_uInt16 nNewHeight)
void UpdateTranspose(const ScRange &rSource, const ScAddress &rDest, ScDocument *pUndoDoc)
void SetPatternAreaCondFormat(SCCOL nCol, SCROW nStartRow, SCROW nEndRow, const ScPatternAttr &rAttr, const ScCondFormatIndexes &rCondFormatIndexes)
void RemoveRowPageBreaks(SCROW nStartRow, SCROW nEndRow)
bool TestInsertRow(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize) const
CRFlags GetColFlags(SCCOL nCol) const
void DeleteConditionalFormat(sal_uLong nOldIndex)
void SortReorderAreaExtrasByRow(ScSortInfoArray *pArray, SCCOL nDataCol1, SCCOL nDataCol2, const ScDataAreaExtras &rDataAreaExtras, ScProgress *pProgress)
bool HasColPageBreak(SCCOL nCol) const
bool CompileErrorCells(sc::CompileFormulaContext &rCxt, FormulaError nErrCode)
bool ColHidden(SCCOL nCol, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
void UpdateReference(sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc=nullptr, bool bIncludeDraw=true, bool bUpdateNoteCaptionPos=true)
bool HasColHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
bool HasUniformRowHeight(SCROW nRow1, SCROW nRow2) const
std::unique_ptr< ScRangeList > pScenarioRanges
void SetRepeatArea(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow)
bool GetPrintAreaVer(SCCOL nStartCol, SCCOL nEndCol, SCROW &rEndRow, bool bNotes) const
sal_uInt64 GetCodeCount() const
std::unique_ptr< ScOutlineTable > pOutlineTable
void SetValue(SCCOL nCol, SCROW nRow, const double &rVal)
void MergePatternArea(ScMergePatternState &rState, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bDeep) const
bool RemoveFlags(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags)
tools::Long GetTotalRowHeight(SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero=true) const
void StartListening(const ScAddress &rAddress, SvtListener *pListener)
sal_uInt16 GetPrintRangeCount() const
SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const
std::unique_ptr< ScPostIt > ReleaseNote(SCCOL nCol, SCROW nRow)
formula::VectorRefArray FetchVectorRefArray(SCCOL nCol, SCROW nRow1, SCROW nRow2)
void DumpColumnStorage(SCCOL nCol) const
SCROW GetLOKFreezeRow() const
SCROW GetHiddenRowCount(SCROW nRow) const
sc::MultiDataCellState HasMultipleDataCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
void StartListeners(sc::StartListeningContext &rCxt, bool bAll)
Either start all formula cells as listeners unconditionally, or start those that are marked "needs li...
void InterpretDirtyCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
void SetNumberFormat(SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat)
bool ReservePatternCount(SCCOL nCol, SCSIZE nReserve)
sal_uInt16 GetTextWidth(SCCOL nCol, SCROW nRow) const
short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2) const
void UpdateMoveTab(sc::RefUpdateMoveTabContext &rCxt, SCTAB nTabNo, ScProgress *pProgress)
void InvalidateTextWidth(const ScAddress *pAdrFrom, const ScAddress *pAdrTo, bool bNumFormatChanged, bool bBroadcast)
void DestroySortCollator()
void AttachFormulaCells(sc::StartListeningContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
void PreprocessRangeNameUpdate(sc::EndListeningContext &rEndListenCxt, sc::CompileFormulaContext &rCompileCxt)
void SetNeedsListeningGroup(SCCOL nCol, SCROW nRow)
bool HasStringData(SCCOL nCol, SCROW nRow) const
SCROW GetLastFlaggedRow() const
void SetManualHeight(SCROW nStartRow, SCROW nEndRow, bool bManual)
void CopyOneCellFromClip(sc::CopyFromClipContext &rCxt, const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2, const SCROW nSrcRow, const ScTable *pSrcTab)
bool IsColRowValid(const SCCOL nScCol, const SCROW nScRow) const
ScAddress maLOKFreezeCell
bool IsStreamValid() const
void SetRawString(SCCOL nCol, SCROW nRow, const svl::SharedString &rStr)
void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam &rParam, ScFilterEntries &rFilterEntries, bool bFiltering)
void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered)
bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd) const
void SetValues(const SCCOL nCol, const SCROW nRow, const std::vector< double > &rVals)
void DeleteBeforeCopyFromClip(sc::CopyFromClipContext &rCxt, const ScTable &rClipTab, sc::ColumnSpanSet &rBroadcastSpans)
void SetRepeatColRange(std::optional< ScRange > oNew)
void SetFormulaResults(SCCOL nCol, SCROW nRow, const double *pResults, size_t nLen)
ScDBData * GetAnonymousDBData()
void CompileAll(sc::CompileFormulaContext &rCxt)
const Color & GetTabBgColor() const
SC_DLLPUBLIC std::shared_ptr< sc::SolverSettings > GetSolverSettings()
OUString GetAutoFillPreview(const ScRange &rSource, SCCOL nEndX, SCROW nEndY)
bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const
void LimitChartArea(SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow) const
void FillFormulaVertical(const ScFormulaCell &rSrcCell, SCCOLROW &rInner, SCCOL nCol, SCROW nRow1, SCROW nRow2, ScProgress *pProgress, sal_uInt64 &rProgress)
OUString GetInputString(SCCOL nCol, SCROW nRow, bool bForceSystemLocale=false) const
void SetError(SCCOL nCol, SCROW nRow, FormulaError nError)
bool GetNextSpellingCell(SCCOL &rCol, SCROW &rRow, bool bInSel, const ScMarkData &rMark) const
OString dumpSheetGeomData(bool bColumns, SheetGeomType eGeomType)
Serializes the sheet's geometry data.
void FillSparkline(bool bVertical, SCCOLROW nFixed, SCCOLROW nIteratingStart, SCCOLROW nIteratingEnd, SCCOLROW nFillStart, SCCOLROW nFillEnd)
bool ContainsNotesInRange(const ScRange &rRange) const
void SetFormula(SCCOL nCol, SCROW nRow, const ScTokenArray &rArray, formula::FormulaGrammar::Grammar eGram)
void MaybeAddExtraColumn(SCCOL &rCol, SCROW nRow, OutputDevice *pDev, double nPPTX, double nPPTY)
In case the cell text goes beyond the column width, move the max column position to the right.
void GetLastDataPos(SCCOL &rCol, SCROW &rRow) const
sal_uInt16 GetOptimalColWidth(SCCOL nCol, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bFormula, const ScMarkData *pMarkData, const ScColWidthParam *pParam)
void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCROW nCombinedStartRow, SCROW nRowDestOffset, ScTable *pTransClip, InsertDeleteFlags nFlags, bool bAsLink, bool bIncludeFiltered)
void SkipFilteredRows(SCROW &rRow, SCROW &rLastNonFilteredRow, bool bForward)
bool ReplaceAll(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc, bool &bMatchedRangesWereClamped)
bool GetTableArea(SCCOL &rEndCol, SCROW &rEndRow, bool bCalcHiddens=false) const
void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual)
void BroadcastRecalcOnRefMove()
Broadcast dirty formula cells that contain functions such as CELL(), COLUMN() or ROW() which may chan...
const Color & GetScenarioColor() const
bool HasAttribSelection(const ScMarkData &rMark, HasAttrFlags nMask) const
tools::Long GetNeededSize(SCCOL nCol, SCROW nRow, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bWidth, bool bTotalSize, bool bInPrintTwips=false)
void HandleStuffAfterParallelCalculation(SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter *pInterpreter)
bool IsSortCollatorGlobal() const
std::shared_ptr< sc::Sparkline > GetSparkline(SCCOL nCol, SCROW nRow)
ScTable(ScDocument &rDoc, SCTAB nNewTab, const OUString &rNewName, bool bColInfo=true, bool bRowInfo=true)
bool TestInsertCol(SCROW nStartRow, SCROW nEndRow, SCSIZE nSize) const
bool HasValueData(SCCOL nCol, SCROW nRow) const
void UpdateCompile(bool bForceIfNameInUse=false)
bool DoSubTotals(ScSubTotalParam &rParam)
ScColumnData aDefaultColData
void UnshareFormulaCells(SCCOL nCol, std::vector< SCROW > &rRows)
ScColumnData & GetColumnData(SCCOL nCol)
ScColumnsRange GetWritableColumnsRange(SCCOL begin, SCCOL end)
ScConditionalFormatList * GetCondFormList()
OString dumpColumnRowGroups(bool bColumns) const
Returns list-of-spans representation of the column/row groupings encoded as an OString.
void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
void CreateAllNoteCaptions()
bool SetRowHeightRange(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight, double nPPTY, bool bApi)
void CollectBroadcasterState(sc::BroadcasterState &rState) const
bool BroadcastBroadcasters(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SfxHintId nHint)
Broadcast single broadcasters in range, without explicitly setting anything dirty,...
void SetProtection(const ScTableProtection *pProtect)
void InsertRow(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize)
void EndListeningIntersectedGroups(sc::EndListeningContext &rCxt, const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, std::vector< ScAddress > *pGroupPos)
bool IsLoadingRTL() const
bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const
formula::FormulaTokenRef ResolveStaticReference(SCCOL nCol, SCROW nRow)
void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
void ApplyBlockFrame(const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
void SetLoadingMedium(bool bLoading)
bool RowHidden(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
void SortReorderByRow(ScSortInfoArray *pArray, SCCOL nCol1, SCCOL nCol2, ScProgress *pProgress, bool bOnlyDataAreaExtras)
ScOutlineTable * GetOutlineTable()
bool HasColManualBreak(SCCOL nCol) const
void SetRowBreak(SCROW nRow, bool bPage, bool bManual)
void DBShowRow(SCROW nRow, bool bShow)
const ScBitMaskCompressedArray< SCROW, CRFlags > * GetRowFlagsArray() const
void RemoveManualBreaks()
bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
::std::set< SCROW > maRowManualBreaks
SCSIZE GetEmptyLinesInBlock(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScDirection eDir) const
SCROW GetNextManualBreak(SCROW nRow) const
Get the row position of the next manual break that occurs at or below specified row.
void FillFormula(const ScFormulaCell *pSrcCell, SCCOL nDestCol, SCROW nDestRow, bool bLast)
sal_uInt16 GetOptimalMinRowHeight() const
void SetAnonymousDBData(std::unique_ptr< ScDBData > pDBData)
SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const
void SetPendingRowHeights(bool bSet)
std::unique_ptr< ScCompressedArray< SCCOL, sal_uInt16 > > mpColWidth
void RestoreFromCache(SvStream &rStrm)
const OUString & GetLinkFlt() const
bool ShrinkToUsedDataArea(bool &o_bShrunk, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bColumnsOnly, bool bStickyTopRow, bool bStickyLeftCol, ScDataAreaExtras *pDataAreaExtras) const
sc::Sparkline * CreateSparkline(SCCOL nCol, SCROW nRow, std::shared_ptr< sc::SparklineGroup > const &pSparklineGroup)
void CopyFromClip(sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOL nDx, SCROW nDy, ScTable *pTable)
SCCOL GetAllocatedColumnsCount() const
void CopyColFiltered(const ScTable &rTable, SCCOL nStartCol, SCCOL nEndCol)
const OUString & GetLinkOpt() const
void CopyToClip(sc::CopyToClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pTable)
void SetVisible(bool bVis)
const ScDocument & GetDoc() const
bool InitColumnBlockPosition(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol)
OUString GetFormula(SCCOL nCol, SCROW nRow) const
sal_Int64 GetHashCode() const
bool GetDataAreaSubrange(ScRange &rRange) const
void SetOptimalHeightOnly(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, ScProgress *pOuterProgress=nullptr, sal_uInt64 nProgressStart=0)
void ConvertFormulaToValue(sc::EndListeningContext &rCxt, const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2, sc::TableValues *pUndo)
void SetDirtyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::ColumnSpanSet &rBroadcastSpans)
void ExtendPrintArea(OutputDevice *pDev, SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW nEndRow)
void ResetChanged(const ScRange &rRange)
void SplitFormulaGroups(SCCOL nCol, std::vector< SCROW > &rRows)
void SetLayoutRTL(bool bSet)
sal_uLong AddCondFormat(std::unique_ptr< ScConditionalFormat > pNew)
bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
void SetRowHeightOnly(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight)
Set specified row height to specified ranges.
void UpdatePageBreaks(const ScRange *pUserArea)
bool EnsureFormulaCellResults(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bSkipRunning=false)
void InvalidateScenarioRanges()
void SwapNonEmpty(sc::TableValues &rValues, sc::StartListeningContext &rStartCxt, sc::EndListeningContext &rEndCxt)
CRFlags GetRowFlags(SCROW nRow) const
void CompileColRowNameFormula(sc::CompileFormulaContext &rCxt)
std::unique_ptr< ScFlatBoolRowSegments > mpHiddenRows
void finalizeOutlineImport()
static void UpdateSearchItemAddressForReplace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow)
Replace behaves differently to the Search; adjust the rCol and rRow accordingly.
sc::SparklineList maSparklineList
ScScenarioFlags GetScenarioFlags() const
void SortReorderByRowRefUpdate(ScSortInfoArray *pArray, SCCOL nCol1, SCCOL nCol2, ScProgress *pProgress)
bool RowFiltered(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
std::set< SCCOL > QueryColumnsWithFormulaCells() const
svl::SharedString GetSharedString(SCCOL nCol, SCROW nRow) const
void PreprocessDBDataUpdate(sc::EndListeningContext &rEndListenCxt, sc::CompileFormulaContext &rCompileCxt)
bool HasStringCells(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
std::unique_ptr< ScFlatUInt16RowSegments > mpRowHeights
SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const
Color GetCellBackgroundColor(ScAddress aPos) const
CellType GetCellType(const ScAddress &rPos) const
void SetScenarioComment(const OUString &rComment)
void TransferCellValuesTo(const SCCOL nCol, SCROW nRow, size_t nLen, sc::CellValues &rDest)
bool IsSelectionEditable(const ScMarkData &rMark, bool *pOnlyNotBecauseOfMatrix=nullptr) const
void MixMarked(sc::MixDocContext &rCxt, const ScMarkData &rMark, ScPasteFunc nFunction, bool bSkipEmpty, const ScTable *pSrcTab)
void ForgetNoteCaptions(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bPreserveData)
SCSIZE FillMaxRot(RowInfo *pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2, SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, SCSIZE nArrY, const ScPatternAttr *pPattern, const SfxItemSet *pCondSet)
bool GetNextMarkedCell(SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark) const
sc::SparklineList & GetSparklineList()
std::unique_ptr< ScRangeName > mpRangeName
void RemoveSubTotals(ScSubTotalParam &rParam)
SvtScriptType GetRangeScriptType(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2)
void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual)
void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScPatternAttr &rAttr, sal_uInt16 nFormatNo)
bool Replace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
sal_Int32 GetMaxStringLen(SCCOL nCol, SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet) const
ScScenarioFlags nScenarioFlags
SvtBroadcaster * GetBroadcaster(SCCOL nCol, SCROW nRow)
void InvalidateCellArea()
const ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow) const
bool SetOptimalHeight(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, bool bApi, ScProgress *pOuterProgress=nullptr, sal_uInt64 nProgressStart=0)
::std::vector< ScRange > ScRangeVec
void CopyCellValuesFrom(const SCCOL nCol, SCROW nRow, const sc::CellValues &rSrc)
void ExtendHidden(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2)
void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::UpdatedRangeNames &rIndexes) const
void SetCalcNotification(bool bSet)
const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nWhich) const
sal_Int32 GetMaxNumberStringLen(sal_uInt16 &nPrecision, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd) const
void CompileHybridFormula(sc::StartListeningContext &rStartListenCxt, sc::CompileFormulaContext &rCompileCxt)
tools::Long GetColOffset(SCCOL nCol, bool bHiddenAsZero=true) const
void SetScenario(bool bFlag)
bool IsPrintEntireSheet() const
Returns true, if the sheet is always printed.
void CopyPrintRange(const ScTable &rTable)
void SetPrintEntireSheet()
Marks the specified sheet to be printed completely.
SCCOL ClampToAllocatedColumns(SCCOL nCol) const
const ScTableProtection * GetProtection() const
sal_uInt64 GetCellCount() const
void EndListeningIntersectedGroup(sc::EndListeningContext &rCxt, SCCOL nCol, SCROW nRow, std::vector< ScAddress > *pGroupPos)
void RegroupFormulaCells(SCCOL nCol)
void SetPattern(const ScAddress &rPos, const ScPatternAttr &rAttr)
void SetColManualBreaks(::std::set< SCCOL > &&rBreaks)
void SetActiveScenario(bool bSet)
void StripHidden(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2)
SCCOL FindNextVisibleColWithContent(SCCOL nCol, bool bRight, SCROW nRow) const
bool ApplyFlags(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags)
void CopyColHidden(const ScTable &rTable, SCCOL nStartCol, SCCOL nEndCol)
SCROW GetFirstEditTextRow(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
const ScRangeList * GetScenarioRanges() const
void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries &rFilterEntries, bool bFiltering=false)
void SetScenarioColor(const Color &rNew)
void MarkScenarioIn(ScMarkData &rMark, ScScenarioFlags nNeededBits) const
void GetScenarioComment(OUString &rComment) const
void Reorder(const sc::ReorderParam &rParam)
SvtScriptType GetScriptType(SCCOL nCol, SCROW nRow) const
bool ValidNextPos(SCCOL nCol, SCROW nRow, const ScMarkData &rMark, bool bMarked, bool bUnprotected) const
bool HasManualBreaks() const
bool IsManualRowHeight(SCROW nRow) const
bool ReplaceAllStyle(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, ScDocument *pUndoDoc)
void StoreToCache(SvStream &rStrm) const
Color GetCellTextColor(ScAddress aPos) const
void GetNextPos(SCCOL &rCol, SCROW &rRow, SCCOL nMovX, SCROW nMovY, bool bMarked, bool bUnprotected, const ScMarkData &rMark, SCCOL nTabStartCol) const
SCROW GetLastDataRow(SCCOL nCol1, SCCOL nCol2, SCROW nLastRow, ScDataAreaExtras *pDataAreaExtras=nullptr) const
OString dumpHiddenFiltered(bool bColumns, bool bHidden)
Returns list-of-spans representation of hidden/filtered states of columns/rows encoded as an OString.
OUString GetUpperCellString(SCCOL nCol, SCROW nRow)
void ApplySelectionStyle(const ScStyleSheet &rStyle, const ScMarkData &rMark)
double GetValue(SCCOL nCol, SCROW nRow) const
const OUString & GetCodeName() const
const ScRange * GetPrintRange(sal_uInt16 nPos) const
void SetSheetEvents(std::unique_ptr< ScSheetEvents > pNew)
void SetName(const OUString &rNewName)
void CopyCaptionsToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pDestTab, bool bCloneCaption)
void DeleteBroadcasters(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2)
bool RefVisible(const ScFormulaCell *pCell)
SCROW GetRowForHeight(tools::Long nHeight) const
Get the last row such that the height of row 0 to the end row is as high as possible without exceedin...
void ApplyPatternIfNumberformatIncompatible(const ScRange &rRange, const ScPatternAttr &rPattern, SvNumFormatType nNewType)
void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag, bool bBroadcast=true, sc::ColumnSpanSet *pBroadcastSpans=nullptr)
bool SetLOKFreezeCol(SCCOL nFreezeCol)
void StartListeningFormulaCells(sc::StartListeningContext &rStartCxt, sc::EndListeningContext &rEndCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
bool SetLOKFreezeRow(SCROW nFreezeRow)
void CopySparklinesToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pDestTab)
void TestTabRefAbs(SCTAB nTable) const
void SetScenarioFlags(ScScenarioFlags nNew)
SCROW GetLastChangedRowFlagsWidth() const
std::unique_ptr< ScTableProtection > pTabProtection
void IncDate(double &rVal, sal_uInt16 &nDayOfMonth, double nStep, FillDateCmd eCmd)
void ClearSelectionItems(const sal_uInt16 *pWhich, const ScMarkData &rMark)
bool UpdateOutlineRow(SCROW nStartRow, SCROW nEndRow, bool bShow)
const OUString & GetName() const
void CopyRowHidden(const ScTable &rTable, SCROW nStartRow, SCROW nEndRow)
void InitSortCollator(const ScSortParam &rPar)
::std::set< SCCOL > maColPageBreaks
bool IsStyleSheetUsed(const ScStyleSheet &rStyle) const
void GetFirstDataPos(SCCOL &rCol, SCROW &rRow) const
std::optional< ScRange > moRepeatColRange
short CompareCell(sal_uInt16 nSort, ScRefCellValue &rCell1, SCCOL nCell1Col, SCROW nCell1Row, ScRefCellValue &rCell2, SCCOL nCell2Col, SCROW nCell2Row) const
void SetTabNo(SCTAB nNewTab)
void TopTenQuery(ScQueryParam &)
bool HasRowManualBreak(SCROW nRow) const
bool Search(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
void CalcAfterLoad(sc::CompileFormulaContext &rCxt, bool bStartListening)
void SetPageStyle(const OUString &rName)
std::atomic< bool > bStreamValid
this is touched from formula group threading context
void SetRowManualBreaks(::std::set< SCROW > &&rBreaks)
void ChangeSelectionIndent(bool bIncrement, const ScMarkData &rMark)
SCROW GetNotePosition(SCCOL nCol, size_t nIndex) const
void DeleteEmptyBroadcasters()
double * GetValueCell(SCCOL nCol, SCROW nRow)
bool IsMerged(SCCOL nCol, SCROW nRow) const
void GetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData &rData)
void SetEmptyCell(SCCOL nCol, SCROW nRow)
std::unique_ptr< utl::TextSearch > pSearchText
void InsertCol(const sc::ColumnSet &rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize)
void ClearPrintRanges()
Removes all print ranges.
std::unique_ptr< ScSheetEvents > pSheetEvents
bool ValidRow(SCROW nRow) const
bool SearchRangeForEmptyCell(const ScRange &rRange, const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, OUString &rUndoStr)
void ApplyPatternArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScPatternAttr &rAttr, ScEditDataArray *pDataArray=nullptr, bool *const pIsChanged=nullptr)
SCSIZE Query(const ScQueryParam &rQueryParam, bool bKeepSub)
void ApplyPattern(SCCOL nCol, SCROW nRow, const ScPatternAttr &rAttr)
void SetRepeatRowRange(std::optional< ScRange > oNew)
const OUString & GetLinkDoc() const
bool SearchCell(const SvxSearchItem &rSearchItem, SCCOL nCol, sc::ColumnBlockConstPosition &rBlockPos, SCROW nRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
void SetOptimalMinRowHeight(sal_uInt16 nSet)
bool TestRemoveSubTotals(const ScSubTotalParam &rParam)
void GetNotesInRange(const ScRange &rRange, std::vector< sc::NoteEntry > &rNotes) const
Stores individual user-defined sort list.
Think of this as a mini-ScColumn like storage that only stores cell values in a column.
Simple container to keep track of sheet - column pair.
Structure that stores segments of boolean flags per column, and perform custom action on those segmen...
Provides methods to allow direct shifting of document content without broadcasting or shifting of bro...
Iterate through all edit text cells in a given sheet.
Optimized ColumnSpanSet version that operates on a single ScRange.
Tracks and gathers all created sparklines and sparkline groups.
Sparkline data, used for rendering the content of a cell.
Stores cell values for multiple tables.
Keep track of all named expressions that have been updated during reference update.
SheetGeomType
Represents the type of sheet geometry data.
CAUTION! The following defines must be in the same namespace as the respective type.
Store arbitrary cell value of any kind.
This is very similar to ScCellValue, except that it references the original value instead of copying ...
Store parameters used in the ScDocument::SetString() method.
Store position data for column array storage.
Context for reference update during shifting, moving or copying of cell ranges.
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
::boost::intrusive_ptr< ScFormulaCellGroup > ScFormulaCellGroupRef
std::unordered_map< sal_uInt32, sal_uInt32 > SvNumberFormatterMergeMap