24#include <com/sun/star/uno/Reference.hxx>
51#include <shared_mutex>
54#include <unordered_map>
69namespace editeng {
class SvxBorderLine; }
70namespace formula {
struct VectorRefArray; }
73class SharedStringPool;
76namespace tools {
class Guid; }
80struct BroadcasterState;
81struct FormulaGroupContext;
82class StartListeningContext;
83class EndListeningContext;
84class CopyFromClipContext;
86class RangeColumnSpanSet;
87struct ColumnBlockPosition;
88struct RefUpdateContext;
89class EditTextIterator;
91class DocumentStreamAccess;
92class DocumentLinkManager;
95class RowHeightContext;
96struct SetFormulaDirtyContext;
99class FormulaGroupAreaListener;
101class UpdatedRangeNames;
102class TableColumnBlockPositionSet;
104class ExternalDataMapper;
226 class XBreakIterator;
229 class XModifyListener;
232 class XEmbeddedObject;
234 namespace script::vba {
235 class XVBAEventProcessor;
238 struct TablePageBreakData;
248#define SC_DOC_NEW 0xFFFF
250#define SC_MACROCALL_ALLOWED 0
252#define SC_ASIANKERNING_INVALID 0xff
328template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType >
330template< ScQueryCellIteratorAccess accessType >
390 std::unique_ptr<ScBroadcastAreaSlotMachine>
pBASM;
414 mutable std::unique_ptr< ScFormulaParserPool >
443 css::uno::Reference< css::script::vba::XVBAEventProcessor >
656 void Clear(
bool bFromDestructor =
false );
671 void SetRangeName( std::unique_ptr<ScRangeName> pNewRangeName );
727 SCTAB nTokenTab,
const sal_uInt16 nTokenIndex,
729 bool bSameDoc,
int nRecursion )
const;
773 const bool bUsedByFormula )
const;
828 void SetDBCollection( std::unique_ptr<ScDBCollection> pNewDBCollection,
829 bool bRemoveAutoFilter =
false );
838 bool* pSheetLocal =
nullptr )
const;
861 css::uno::Reference< css::chart2::XChartDocument >
GetChartByName( std::u16string_view rChartName );
864 void SetChartRanges( std::u16string_view rChartName,
const std::vector< ScRangeList >& rRanges );
867 bool bColHeaders,
bool bRowHeaders,
bool bAdd );
870 bool bColHeaders,
bool bRowHeaders,
bool bAdd );
872 ScRangeList& rRanges,
bool& rColHeaders,
bool& rRowHeaders );
874 css::embed::XEmbeddedObject >
939 bool* pOnlyNotBecauseOfMatrix =
nullptr,
940 bool bNoMatrixAtAll =
false )
const;
942 bool* pOnlyNotBecauseOfMatrix =
nullptr )
const;
970 bool bExternalDocument =
false,
bool bUndoDeleteTab =
false );
973 bool bNamesValid =
false );
977 bool bExternalDocument =
false );
982 bool bInsertNew =
true,
983 bool bResultsOnly =
false );
1020 const OUString& rFilter,
const OUString& rOptions,
1021 const OUString& rTabName,
sal_uLong nRefreshDelay );
1022 bool HasLink( std::u16string_view rDoc,
1023 std::u16string_view rFilter, std::u16string_view rOptions )
const;
1025 const OUString& aFileName,
1026 const OUString& aTabName );
1053 std::u16string_view rItem,
sal_uInt8 nMode,
size_t& rnDdePos );
1061 bool GetDdeLinkData(
size_t nDdePos, OUString& rAppl, OUString& rTopic, OUString& rItem )
const;
1186 const OUString& rFormula,
1312 bool bRefresh =
false );
1315 bool bRefresh =
false );
1331 SCCOL nEndCol,
SCROW nEndRow,
SCTAB nTab,
bool bDeleteCaptions =
true );
1339 bool bLeftIsEmpty =
false,
1340 ScRange* pLastRange =
nullptr,
1346 SCROW* nStartRow =
nullptr,
SCROW* nEndRow =
nullptr )
const;
1352 SCROW* nStartRow =
nullptr,
SCROW* nEndRow =
nullptr )
const;
1355 const ::editeng::SvxBorderLine** ppLeft,
1356 const ::editeng::SvxBorderLine** ppTop,
1357 const ::editeng::SvxBorderLine** ppRight,
1358 const ::editeng::SvxBorderLine** ppBottom )
const;
1478 SCCOL& rEndCol,
SCROW& rEndRow,
bool bColumnsOnly,
1479 bool bStickyTopRow =
false,
bool bStickyLeftCol =
false,
1509 bool bIncludeOld,
bool bOnlyDown )
const;
1522 bool bCalcHiddens =
false)
const;
1524 bool bNotes =
true)
const;
1526 SCCOL& rEndCol )
const;
1528 SCROW& rEndRow,
bool bNotes )
const;
1553 bool bMarked,
bool bUnprotected,
const ScMarkData& rMark,
1571 ScDocument* pRefUndoDoc =
nullptr,
bool* pUndoOutline =
nullptr,
1582 ScDocument* pRefUndoDoc =
nullptr,
bool* pUndoOutline =
nullptr,
1622 const ScMarkData& rMark,
bool bAnchored =
false );
1634 const ScMarkData* pMarks,
bool bKeepScenarioFlags,
1635 bool bIncludeObjects );
1702 bool bResetCut =
true,
bool bAsLink =
false,
1703 bool bIncludeFiltered =
true,
bool bSkipEmptyCells =
false,
1708 bool bResetCut =
true,
bool bAsLink =
false,
1709 bool bIncludeFiltered =
true,
1710 bool bSkipAttrForEmpty =
false);
1720 bool bIncludeFiltered);
1737 bool bSkipEmpty,
bool bAsLink );
1740 bool bSkipEmpty,
bool bAsLink );
1745 bool bColInfo =
false,
bool bRowInfo =
false );
1747 bool bColInfo =
false,
bool bRowInfo =
false );
1749 bool bColInfo =
false,
bool bRowInfo =
false );
1755 const ScMarkData* pMarks =
nullptr,
bool bColRowFlags =
true);
1762 const ScMarkData* pMarks =
nullptr,
bool bColRowFlags =
true);
1769 ScMarkData& rDestMark,
bool bResetMark =
true,
1777 pUndoDoc =
nullptr,
bool bIncludeDraw =
true,
1778 bool bUpdateNoteCaptionPos =
true );
1792 double nStepValue = 1.0,
double nMaxValue = 1E307 );
1802 return static_cast<const T*
>(
GetAttr(nCol, nRow, nTab, sal_uInt16(nWhich)));
1809 return static_cast<const T*
>(
GetAttr(nCol, nRow, nTab, sal_uInt16(nWhich), nStartRow, nEndRow));
1814 return static_cast<const T*
>(
GetAttr(rPos, sal_uInt16(nWhich)));
1834 return static_cast<const T*
>(
GetEffItem(nCol, nRow, nTab, sal_uInt16(nWhich)));
1890 bool*
const pIsChanged =
nullptr );
1911 const ::editeng::SvxBorderLine* pLine,
bool bColorOnly );
1936 sal_uInt16 nFormatNo,
const ScMarkData& rMark );
1942 OUString& rUndoStr,
ScDocument* pUndoDoc,
bool& bMatchedRangesWereClamped );
1953 const OUString& sValStr,
double& nX);
1964 sal_uInt16 nNewHeight );
1967 sal_uInt16 nNewHeight );
2009 bool bWidth,
bool bTotalSize =
false,
2010 bool bInPrintTwips =
false );
2129 SCCOL nEndCol,
SCROW nEndRow,
SCTAB nTab,
bool bHiddenAsZero =
true )
const;
2144 double fRowScale,
bool bPageMode,
bool bFormulaMode,
2151 bool bKeepQuery,
bool bUpdateRefs,
2171 SCTAB nTab,
bool bCaseSens,
2175 std::vector<ScTypedStrData>& rStrings,
bool bValidation =
false );
2235 bool bSetChartRangeLists );
2341 bool& o_bEntirelyOutOfBounds )
const;
2484 rtl_TextEncoding eCharSet )
const;
2509 css::util::XModifyListener >& rListener,
2510 const css::lang::EventObject& rEvent );
2614#if DUMP_COLUMN_STORAGE
2746 (void)rDocument; (void)nFlags;
2764 :
mnFlags(static_cast<size_t>(nFlags))
2779 (void)rDocument; (void)nFlags;
bool ValidColRow(SCCOL nCol, SCROW nRow, SCCOL nMaxCol, SCROW nMaxRow)
SCROW SanitizeRow(SCROW nRow, SCROW nMaxRow)
bool ValidAddress(const ScAddress &rAddress, SCCOL nMaxCol, SCROW nMaxRow)
bool ValidRange(const ScRange &rRange, SCCOL nMaxCol, SCROW nMaxRow)
const SCCOL SC_TABSTART_NONE
SCCOL SanitizeCol(SCCOL nCol, SCCOL nMaxCol)
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 ...
bool ValidColRowTab(SCCOL nCol, SCROW nRow, SCTAB nTab, SCCOL nMaxCol, SCROW nMaxRow)
bool ValidRow(SCROW nRow, SCROW nMaxRow)
bool ValidCol(SCCOL nCol, SCCOL nMaxCol)
Cache for faster lookup of automatic names during CompileXML (during CompileXML, no document content ...
BroadcastAreaSlots and their management, once per document.
Walk through all cells in an area.
Stores options which are only relevant for clipboard documents.
ScDocShellRecalcGuard(ScDocument &rDoc)
Accessor class to ScDocument.
Use this class as a locale variable to merge number formatter from another document,...
NumFmtMergeHandler(ScDocument &rDoc, const ScDocument &rSrcDoc)
SC_DLLPUBLIC bool InsertTab(SCTAB nPos, const OUString &rName, bool bExternalDocument=false, bool bUndoDeleteTab=false)
bool IsInFormulaTree(const ScFormulaCell *pCell) const
void ResetChanged(const ScRange &rRange)
SC_DLLPUBLIC bool IsScenario(SCTAB nTab) const
SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
void SetEmptyCell(const ScAddress &rPos)
SC_DLLPUBLIC SCCOL GetAllocatedColumnsCount(SCTAB nTab) const
sal_Int32 GetMaxNumberStringLen(sal_uInt16 &nPrecision, SCTAB nTab, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd) const
Maximum string length of numerical cells of a column, e.g.
bool IsValidAsianKerning() const
std::unique_ptr< sc::ExternalDataMapper > mpDataMapper
void TrackFormulas(SfxHintId nHintId=SfxHintId::ScDataChanged)
SC_DLLPUBLIC SfxItemPool * GetEnginePool() const
void FinalTrackFormulas(SfxHintId nHintId)
SCROW SanitizeRow(SCROW nRow) const
SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
void SetThreadedGroupCalcInProgress(bool set)
SC_DLLPUBLIC bool SetEditText(const ScAddress &rPos, std::unique_ptr< EditTextObject > pEditText)
This method manages the lifecycle of the passed edit text object.
bool IsCalculatingFormulaTree() const
SC_DLLPUBLIC bool RemoveFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
ScSheetLimits & GetSheetLimits() const
const ScStyleSheet * GetSelectionStyle(const ScMarkData &rMark) const
SC_DLLPUBLIC ScColumnsRange GetWritableColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd)
SCTAB GetVisibleTab() const
bool SetDdeLinkResultMatrix(size_t nDdePos, const ScMatrixRef &pResults)
Sets a result matrix for the specified DDE link.
std::shared_ptr< svl::SharedStringPool > mpCellStringPool
SC_DLLPUBLIC sal_uInt16 GetRowHeight(SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
void UpdateGrow(const ScRange &rArea, SCCOL nGrowX, SCROW nGrowY)
SC_DLLPUBLIC std::shared_ptr< sc::Sparkline > GetSparkline(ScAddress const &rPosition)
Returns sparkline at the address if it exists.
bool IsAddressInRangeName(RangeNameScope eScope, const ScAddress &rAddress)
void SetTrackFormulasPending()
bool IsEmbedUsedFontsOnly() const
SC_DLLPUBLIC void CopyFromClip(const ScRange &rDestRange, const ScMarkData &rMark, InsertDeleteFlags nInsFlag, ScDocument *pRefUndoDoc, ScDocument *pClipDoc, bool bResetCut=true, bool bAsLink=false, bool bIncludeFiltered=true, bool bSkipEmptyCells=false, const ScRangeList *pDestRanges=nullptr)
Paste data from a clipboard document into this document.
bool bDelayedDeletingBroadcasters
rtl::Reference< ScSheetLimits > mxSheetLimits
void ModifyStyleSheet(SfxStyleSheetBase &rPageStyle, const SfxItemSet &rChanges)
SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
SC_DLLPUBLIC ~ScDocument()
SC_DLLPUBLIC sal_uInt32 GetNumberFormat(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC void GetRangeNameMap(std::map< OUString, ScRangeName * > &rRangeName)
bool UpdateOutlineCol(SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab, bool bShow)
Adapt Outline.
std::set< SCCOL > QueryColumnsWithFormulaCells(SCTAB nTab) const
css::uno::Reference< css::chart2::XChartDocument > GetChartByName(std::u16string_view rChartName)
bool IsPrintEmpty(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bLeftIsEmpty=false, ScRange *pLastRange=nullptr, tools::Rectangle *pLastMM=nullptr) const
sc::MultiDataCellState HasMultipleDataCells(const ScRange &rRange) const
Check if the specified range contains either: 1) one non-empty cell, 2) more than one non-empty cells...
SC_DLLPUBLIC void DumpColumnStorage(SCTAB nTab, SCCOL nCol) const
std::unique_ptr< ScFieldEditEngine > pCacheFieldEditEngine
void GetAutoFormatData(SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData &rData)
bool GetAsianKerning() const
bool BroadcastHintInternal(const ScHint &rHint)
void EnableDelayStartListeningFormulaCells(ScColumn *column, bool delay)
If set, ScColumn::StartListeningFormulaCells() calls may be delayed using CanDelayStartListeningFormu...
bool IsCellInChangeTrack(const ScAddress &cell, Color *pColCellBorder)
bool IsInFormulaTrack(const ScFormulaCell *pCell) const
void IncInterpreterTableOpLevel()
ScFormulaCell * pFormulaTree
void InvalidateTextWidth(std::u16string_view rStyleName)
void AddOLEObjectToCollection(const OUString &rName)
bool IsHorOverlapped(SCCOL nCol, SCROW nRow, SCTAB nTab) const
ScInterpreterContext & GetThreadedContext() const
SC_DLLPUBLIC bool GetMatrixFormulaRange(const ScAddress &rCellPos, ScRange &rMatrix)
void SC_DLLPUBLIC SetFormulaResults(const ScAddress &rTopPos, const double *pResults, size_t nLen)
Set an array of numerical formula results to a group of contiguous formula cells.
void UndoToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, InsertDeleteFlags nFlags, bool bMarked, ScDocument &rDestDoc)
std::unique_ptr< SvMemoryStream > pClipData
std::unique_ptr< ScConsolidateParam > pConsolidateDlgData
SC_DLLPUBLIC ScRange GetRange(SCTAB nTab, const tools::Rectangle &rMMRect, bool bHiddenAsZero=true) const
const OUString & GetFileURL() const
bool RefreshAutoFilter(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
bool IsStreamValidLocked() const
SC_DLLPUBLIC void SetChangeTrack(std::unique_ptr< ScChangeTrack > pTrack)
only for import filter, deletes any existing ChangeTrack via EndChangeTracking() and takes ownership ...
tools::Rectangle GetEmbeddedRect() const
SC_DLLPUBLIC ScFormulaCell * SetFormulaCell(const ScAddress &rPos, ScFormulaCell *pCell)
Set formula cell, and transfer its ownership to the document.
bool bForcedFormulaPending
void IncMacroInterpretLevel()
SC_DLLPUBLIC void CreateValidTabNames(std::vector< OUString > &aNames, SCTAB nCount) const
SC_DLLPUBLIC bool LinkExternalTab(SCTAB &nTab, const OUString &aDocTab, const OUString &aFileName, const OUString &aTabName)
SvtBroadcaster * GetBroadcaster(const ScAddress &rPos)
bool IsCalcingAfterLoad() const
SC_DLLPUBLIC sal_uInt16 GetColWidth(SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
SC_DLLPUBLIC sal_uInt64 GetCellCount() const
void ClosingClipboardSource()
To be called at the clipboard document when closing a document that is the current clipboard source t...
void LoadDdeLinks(SvStream &rStream)
bool bPastingDrawFromOtherDoc
SC_DLLPUBLIC ScPatternAttr * GetDefPattern() const
bool IsInInterpreterTableOp() const
void SetValues(const ScAddress &rPos, const std::vector< double > &rVals)
static sal_uInt16 GetSrcVersion()
SC_DLLPUBLIC double * GetValueCell(const ScAddress &rPos)
Return a pointer to the double value stored in value cell.
bool IsInDocShellRecalc() const
void SC_DLLPUBLIC GetSortParam(ScSortParam &rParam, SCTAB nTab)
std::unique_ptr< ScFieldEditEngine > mpEditEngine
SC_DLLPUBLIC void SetAllRangeNames(const std::map< OUString, ScRangeName > &rRangeMap)
SC_DLLPUBLIC OUString GetLinkTab(SCTAB nTab) const
void DeleteBroadcasters(sc::ColumnBlockPosition &rBlockPos, const ScAddress &rTopPos, SCROW nLength)
bool ValidRow(SCROW nRow) const
SC_DLLPUBLIC const ScTableProtection * GetTabProtection(SCTAB nTab) const
void UpdateRefAreaLinks(UpdateRefMode eUpdateRefMode, const ScRange &r, SCCOL nDx, SCROW nDy, SCTAB nDz)
void Clear(bool bFromDestructor=false)
CommentCaptionState GetAllNoteCaptionsState(const ScRangeList &rRanges)
SC_DLLPUBLIC void EnableUserInteraction(bool bVal)
sc::BroadcasterState GetBroadcasterState() const
SC_DLLPUBLIC void SetLayoutRTL(SCTAB nTab, bool bRTL, ScObjectHandling eObjectHandling=ScObjectHandling::RecalcPosMode)
bool HasPartOfMerged(const ScRange &rRange)
bool RemovePageStyleInUse(std::u16string_view rStrPageStyle)
void UpdatePageBreaks(SCTAB nTab, const ScRange *pUserArea=nullptr)
void ApplyFrameAreaTab(const ScRange &rRange, const SvxBoxItem &rLineOuter, const SvxBoxInfoItem &rLineInner)
SC_DLLPUBLIC void CopyUpdated(ScDocument *pPosDoc, ScDocument *pDestDoc)
From this document this method copies the cells of positions at which there are also cells in pPosDoc...
bool FindRangeNamesReferencingSheet(sc::UpdatedRangeNames &rIndexes, SCTAB nTokenTab, const sal_uInt16 nTokenIndex, SCTAB nGlobalRefTab, SCTAB nLocalRefTab, SCTAB nOldTokenTab, SCTAB nOldTokenTabReplacement, bool bSameDoc, int nRecursion) const
Recursively find all named expressions that directly or indirectly (nested) reference a given sheet,...
void GetColDefault(SCTAB nTab, SCCOL nCol, SCROW nLastRow, SCROW &nDefault)
bool SetOutlineTable(SCTAB nTab, const ScOutlineTable *pNewOutline)
bool CanInsertCol(const ScRange &rRange) const
SC_DLLPUBLIC ScRangeName * GetRangeName() const
SC_DLLPUBLIC sal_uLong TransferTab(ScDocument &rSrcDoc, SCTAB nSrcPos, SCTAB nDestPos, bool bInsertNew=true, bool bResultsOnly=false)
SC_DLLPUBLIC ScTable * FetchTable(SCTAB nTab)
ScFormulaParserPool & GetFormulaParserPool() const
Returns the pool containing external formula parsers.
SC_DLLPUBLIC bool IsDocProtected() const
bool IsFinalTrackFormulas() const
void SetRangeName(SCTAB nTab, std::unique_ptr< ScRangeName > pNew)
std::unique_ptr< ScUnoListenerCalls > pUnoListenerCalls
bool HasSelectionData(SCCOL nCol, SCROW nRow, SCTAB nTab) const
Returns true, if there is any data to create a selection list for rPos.
SC_DLLPUBLIC void Fill(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScProgress *pProgress, const ScMarkData &rMark, sal_uInt64 nFillCount, FillDir eFillDir=FILL_TO_BOTTOM, FillCmd eFillCmd=FILL_LINEAR, FillDateCmd eFillDateCmd=FILL_DAY, double nStepValue=1.0, double nMaxValue=1E307)
svl::SharedString GetSharedString(const ScAddress &rPos) const
SC_DLLPUBLIC bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, SCTAB nTab, bool bRefresh=false)
bool IsDetectiveDirty() const
SC_DLLPUBLIC void SetFormula(const ScAddress &rPos, const ScTokenArray &rArray)
void SetNote(const ScAddress &rPos, std::unique_ptr< ScPostIt > pNote)
bool SetLOKFreezeCol(SCCOL nFreezeCol, SCTAB nTab)
SC_DLLPUBLIC void InsertMatrixFormula(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, const OUString &rFormula, const ScTokenArray *p=nullptr, const formula::FormulaGrammar::Grammar=formula::FormulaGrammar::GRAM_DEFAULT)
void CopyBlockFromClip(sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, SCCOL nDx, SCROW nDy)
void TransliterateText(const ScMarkData &rMultiMark, TransliterationFlags nType)
ScClipParam & GetClipParam()
SC_DLLPUBLIC void UpdateChartListenerCollection()
SC_DLLPUBLIC tools::Long GetColOffset(SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
SCROW CopyNonFilteredFromClip(sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, SCCOL nDx, SCROW &rClipStartRow, SCROW nClipEndRow)
SC_DLLPUBLIC bool InsertTabs(SCTAB nPos, const std::vector< OUString > &rNames, bool bNamesValid=false)
std::unique_ptr< ScClipOptions > mpClipOptions
SC_DLLPUBLIC Color GetTabBgColor(SCTAB nTab) const
const ScCalcConfig & GetCalcConfig() const
bool bLinkFormulaNeedingCheck
void PrepareQuery(SCTAB nTab, ScQueryParam &rQueryParam)
SC_DLLPUBLIC bool GetTable(const OUString &rName, SCTAB &rTab) const
ScAddress aCurTextWidthCalcPos
SC_DLLPUBLIC ScDPObject * GetDPAtCursor(ScAddress const &rAddress) const
std::unique_ptr< ScDocOptions > pDocOptions
VclPtr< SfxPrinter > mpPrinter
EEHorizontalTextDirection GetEditTextDirection(SCTAB nTab) const
SC_DLLPUBLIC ScColumnsRange GetAllocatedColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const
bool HasStringWeakCharacters(const OUString &rString)
SC_DLLPUBLIC void InsertTableOp(const ScTabOpParam &rParam, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark)
tools::Long GetScaledRowHeight(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, double fScale) const
std::unique_ptr< ScDBData > mpAnonymousDBData
void InvalidateTableArea()
SC_DLLPUBLIC void CompileHybridFormula()
Call this immediately after updating named ranges.
bool CompileErrorCells(FormulaError nErrCode)
Re-compile formula cells with error.
SC_DLLPUBLIC bool IsTabProtected(SCTAB nTab) const
SC_DLLPUBLIC void InitDrawLayer(SfxObjectShell *pDocShell=nullptr)
sal_uInt64 GetFormulaCodeInTree() const
SC_DLLPUBLIC bool HasColNotes(SCCOL nCol, SCTAB nTab) const
void SetDetectiveDirty(bool bSet)
bool IsIdleEnabled() const
LanguageType eCtlLanguage
void GetUnprotectedCells(ScRangeList &rRange, SCTAB nTab) const
SC_DLLPUBLIC bool ValidNewTabName(const OUString &rName) const
ScRangePairList * GetRowNameRanges()
void EndListeningArea(const ScRange &rRange, bool bGroupListening, SvtListener *pListener)
ScStyleSheet * pPreviewCellStyle
SC_DLLPUBLIC void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab, bool bHidden)
void MarkScenario(SCTAB nSrcTab, SCTAB nDestTab, ScMarkData &rDestMark, bool bResetMark=true, ScScenarioFlags nNeededBits=ScScenarioFlags::NONE) const
void RemoveSubTotals(SCTAB nTab, ScSubTotalParam &rParam)
bool IsEditActionAllowed(sc::ColRowEditAction eAction, SCTAB nTab, SCCOLROW nStart, SCCOLROW nEnd) const
bool ShrinkToDataArea(SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow) const
Shrink a range to only include data area.
void DecInterpreterTableOpLevel()
bool bChartListenerCollectionNeedsUpdate
void EnableDelayDeletingBroadcasters(bool set)
If set, cells will not delete their empty broadcasters, avoiding possible extensive mdds vector chang...
void InvalidatePageBreaks(SCTAB nTab)
bool SetFormulaCells(const ScAddress &rPos, std::vector< ScFormulaCell * > &rCells)
bool IsSelectionEditable(const ScMarkData &rMark, bool *pOnlyNotBecauseOfMatrix=nullptr) const
ScDocumentThreadSpecific maNonThreaded
SC_DLLPUBLIC SCCOL MaxCol() const
void SetVbaEventProcessor(const css::uno::Reference< css::script::vba::XVBAEventProcessor > &rxVbaEvents)
void IncInDdeLinkUpdate()
bool mbFinalTrackFormulas
std::unique_ptr< SfxItemSet > pPreviewFont
SC_DLLPUBLIC void SetVisibleTab(SCTAB nTab)
ScDPObject * GetDPAtBlock(const ScRange &rBlock) const
std::unique_ptr< ScDPCollection > pDPCollection
void finalizeOutlineImport()
void SetNeedsListeningGroups(const std::vector< ScAddress > &rPosArray)
sal_uInt16 nInterpreterTableOpLevel
SC_DLLPUBLIC void SetScenarioData(SCTAB nTab, const OUString &rComment, const Color &rColor, ScScenarioFlags nFlags)
SC_DLLPUBLIC const ScValidationData * GetValidationEntry(sal_uInt32 nIndex) const
std::vector< ScTableUniquePtr > TableContainer
SC_DLLPUBLIC bool GetPrintAreaVer(SCTAB nTab, SCCOL nStartCol, SCCOL nEndCol, SCROW &rEndRow, bool bNotes) const
size_t GetNoteCount(SCTAB nTab, SCCOL nCol) const
void SharePooledResources(const ScDocument *pSrcDoc)
const ScDBData * GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, ScDBDataPortion ePortion) const
bool HasUniformRowHeight(SCTAB nTab, SCROW nRow1, SCROW nRow2) const
SC_DLLPUBLIC SCROW GetLastFlaggedRow(SCTAB nTab) const
bool HasManualBreaks(SCTAB nTab) const
std::unique_ptr< ScSortedRangeCacheMap > mxScSortedRangeCache
SC_DLLPUBLIC bool RenameTab(SCTAB nTab, const OUString &rName, bool bExternalDocument=false)
const ScSheetEvents * GetSheetEvents(SCTAB nTab) const
ScInterpreterTableOpParams aLastTableOpParams
void EnsureGraphicNames()
std::unique_ptr< ScFormulaParserPool > mxFormulaParserPool
SC_DLLPUBLIC SCROW GetMaxRowCount() const
sal_uInt16 RowDifferences(SCROW nThisRow, SCTAB nThisTab, ScDocument &rOtherDoc, SCROW nOtherRow, SCTAB nOtherTab, SCCOL nMaxCol, const SCCOLROW *pOtherCols)
SC_DLLPUBLIC void DoMergeContents(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
static const sal_uInt16 nSrcVer
void AppendTabOnLoad(const OUString &rName)
HardRecalcState GetHardRecalcState() const
void SetEmbedFontScriptComplex(bool bUse)
formula::FormulaGrammar::Grammar eGrammar
OUString GetLinkOpt(SCTAB nTab) const
bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
SC_DLLPUBLIC bool RowFiltered(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
formula::VectorRefArray FetchVectorRefArray(const ScAddress &rPos, SCROW nLength)
SC_DLLPUBLIC bool SetOptimalHeight(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bApi)
rtl::Reference< ScPoolHelper > mxPoolHelper
SC_DLLPUBLIC ScMacroManager * GetMacroManager()
void DiscardFormulaGroupContext()
SC_DLLPUBLIC void CopyStaticToDocument(const ScRange &rSrcRange, SCTAB nDestTab, ScDocument &rDestDoc)
Copy only raw cell values to another document.
SC_DLLPUBLIC void AddPrintRange(SCTAB nTab, const ScRange &rNew)
Adds a new print ranges.
SCROW GetRowForHeight(SCTAB nTab, tools::Long nHeight) const
Given the height i.e.
void FillTabMarked(SCTAB nSrcTab, const ScMarkData &rMark, InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool bSkipEmpty, bool bAsLink)
SC_DLLPUBLIC void SetTextCell(const ScAddress &rPos, const OUString &rStr)
Call this if you are not sure whether to put this as an edit text or a simple text.
bool InsertNewRangeName(const OUString &rName, const ScAddress &rPos, const OUString &rExpr)
Insert a new named expression to the global scope.
void SetSrcCharSet(rtl_TextEncoding eNew)
sal_uInt16 nInterpretLevel
ScInterpreterContext maInterpreterContext
static SC_DLLPUBLIC bool ValidTabName(const OUString &rName)
SC_DLLPUBLIC ScDocumentPool * GetPool()
SC_DLLPUBLIC void EnsureTable(SCTAB nTab)
sal_Int32 mnImagePreferredDPI
DECL_LINK(TrackTimeHdl, Timer *, void)
SC_DLLPUBLIC void ApplyPatternAreaTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScPatternAttr &rAttr)
void GetSearchAndReplaceStart(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow)
bool ValidAddress(const ScAddress &rAddress) const
const SfxPoolItem * GetEffItem(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
void InvalidateLastTableOpParams()
void SetExpandRefs(bool bVal)
void SetCalcNotification(SCTAB nTab)
void DecXMLImportedFormulaCount(sal_uInt64 nVal)
SC_DLLPUBLIC formula::FormulaGrammar::AddressConvention GetAddressConvention() const
ScRangeData * FindRangeNameBySheetAndIndex(SCTAB nTab, sal_uInt16 nIndex) const
Find a named expression / range name in either global or a local scope.
std::unique_ptr< ScBroadcastAreaSlotMachine > pBASM
SC_DLLPUBLIC SCROW MaxRow() const
const ScStyleSheet * GetStyle(SCCOL nCol, SCROW nRow, SCTAB nTab) const
bool IsAdjustHeightLocked() const
SC_DLLPUBLIC bool HasPivotTable() const
bool ColFiltered(SCCOL nCol, SCTAB nTab) const
bool ValidColRowTab(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC void ClearPrintRanges(SCTAB nTab)
Removes all print ranges.
SC_DLLPUBLIC void CompareDocument(ScDocument &rOtherDoc)
bool IsPageStyleInUse(std::u16string_view rStrPageStyle, SCTAB *pInTab)
SC_DLLPUBLIC void ShowRow(SCROW nRow, SCTAB nTab, bool bShow)
SC_DLLPUBLIC void CopyStdStylesFrom(const ScDocument &rSrcDoc)
void RemoveFromFormulaTree(ScFormulaCell *pCell)
std::unique_ptr< ScChangeViewSettings > pChangeViewSettings
ScValidationDataList * GetValidationList()
SC_DLLPUBLIC void CheckLinkFormulaNeedingCheck(const ScTokenArray &rCode)
Check token array and set link check if ocDde/ocWebservice is contained.
SC_DLLPUBLIC ScDocument(ScDocumentMode eMode=SCDOCMODE_DOCUMENT, SfxObjectShell *pDocShell=nullptr)
SC_DLLPUBLIC ScDBData * GetAnonymousDBData()
std::shared_ptr< sc::FormulaGroupContext > & GetFormulaGroupContext()
SC_DLLPUBLIC void GetChartRanges(std::u16string_view rChartName, std::vector< ScRangeList > &rRanges, const ScDocument &rSheetNameDoc)
SC_DLLPUBLIC ScFieldEditEngine & GetEditEngine()
css::uno::Sequence< css::sheet::TablePageBreakData > GetRowBreakData(SCTAB nTab) const
ScDetOpList * GetDetOpList() const
bool HasLink(std::u16string_view rDoc, std::u16string_view rFilter, std::u16string_view rOptions) const
rtl::Reference< XColorList > pColorList
std::unique_ptr< ScMacroManager > mpMacroMgr
SCROW GetLastChangedRowFlagsWidth(SCTAB nTab) const
void AddUnoRefChange(sal_Int64 nId, const ScRangeList &rOldRanges)
void SetTableOpDirty(const ScRange &)
SC_DLLPUBLIC void CalcAfterLoad(bool bStartListening=true)
std::vector< ScInterpreterTableOpParams * > m_TableOpList
list of ScInterpreterTableOpParams currently in use
SC_DLLPUBLIC void DoMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bDeleteCaptions=true)
bool mbEmbedUsedFontsOnly
SC_DLLPUBLIC double GetValue(const ScAddress &rPos) const
SC_DLLPUBLIC std::vector< OUString > GetAllTableNames() const
SC_DLLPUBLIC ScChartListenerCollection * GetChartListenerCollection() const
bool ContainsNotesInRange(const ScRangeList &rRange) const
void UpdateReference(sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc=nullptr, bool bIncludeDraw=true, bool bUpdateNoteCaptionPos=true)
void BroadcastCells(const ScRange &rRange, SfxHintId nHint, bool bBroadcastSingleBroadcasters=true)
SC_DLLPUBLIC ScPostIt * GetNote(const ScAddress &rPos)
bool DoSubTotals(SCTAB nTab, ScSubTotalParam &rParam)
ScSortedRangeCache & GetSortedRangeCache(const ScRange &rRange, const ScQueryParam ¶m, ScInterpreterContext *pContext)
bool IsEmbedFonts() const
bool HasDetectiveOperations() const
void AddDetectiveOperation(const ScDetOpData &rData)
bool Solver(SCCOL nFCol, SCROW nFRow, SCTAB nFTab, SCCOL nVCol, SCROW nVRow, SCTAB nVTab, const OUString &sValStr, double &nX)
(Goal Seek) Find a value of x that is a root of f(x)
std::unique_ptr< ScRefreshTimerControl > const & GetRefreshTimerControlAddress() const
bool mbFormulaGroupCxtBlockDiscard
SC_DLLPUBLIC sc::Sparkline * CreateSparkline(ScAddress const &rPosition, std::shared_ptr< sc::SparklineGroup > const &pSparklineGroup)
void DeleteConditionalFormat(sal_uLong nIndex, SCTAB nTab)
SC_DLLPUBLIC const ScDrawLayer * GetDrawLayer() const
std::unique_ptr< ScAutoNameCache > pAutoNameCache
bool HasClipFilteredRows()
SCROW GetNextDifferentChangedRowFlagsWidth(SCTAB nTab, SCROW nStart) const
SC_DLLPUBLIC void TransposeClip(ScDocument *pTransClip, InsertDeleteFlags nFlags, bool bAsLink, bool bIncludeFiltered)
SC_DLLPUBLIC void SetPrintEntireSheet(SCTAB nTab)
Marks the specified sheet to be printed completely.
SC_DLLPUBLIC bool CreateDdeLink(const OUString &rAppl, const OUString &rTopic, const OUString &rItem, sal_uInt8 nMode, const ScMatrixRef &pResults)
Tries to find a DDE link or creates a new, if not extant.
CharCompressType GetAsianCompression() const
void CreateColumnIfNotExists(SCTAB nTab, SCCOL nCol)
SC_DLLPUBLIC const ScDBData * GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
void FillInfo(ScTableInfo &rTabInfo, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, double fColScale, double fRowScale, bool bPageMode, bool bFormulaMode, const ScMarkData *pMarkData=nullptr)
SC_DLLPUBLIC sal_Int16 GetNamedRangesLockCount() const
bool IsInDdeLinkUpdate() const
SC_DLLPUBLIC const ScRange * GetPrintRange(SCTAB nTab, sal_uInt16 nPos)
SC_DLLPUBLIC bool InitColumnBlockPosition(sc::ColumnBlockPosition &rBlockPos, SCTAB nTab, SCCOL nCol)
SC_DLLPUBLIC void EnableUndo(bool bVal)
SfxBindings * GetViewBindings()
const T * GetEffItem(SCCOL nCol, SCROW nRow, SCTAB nTab, TypedWhichId< T > nWhich) const
std::unique_ptr< ScPatternAttr > pSelectionAttr
std::set< Color > GetDocColors()
ScLookupCache & GetLookupCache(const ScRange &rRange, ScInterpreterContext *pContext)
Creates a ScLookupCache cache for the range if it doesn't already exist.
ScAutoNameCache * GetAutoNameCache()
std::unique_ptr< SfxBroadcaster > pUnoBroadcaster
bool IsDelayedDeletingBroadcasters() const
void PrepareFormulaCalc()
Call this before any operations that might trigger one or more formula cells to get calculated.
void MergeContextBackIntoNonThreadedContext(ScInterpreterContext &threadedContext, int threadNumber)
SC_DLLPUBLIC void DeleteSelection(InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
bool HasFormulaCell(const ScRange &rRange) const
Check if there is at least one formula cell in specified range.
sal_uInt16 GetSheetOptimalMinRowHeight(SCTAB nTab) const
void PageStyleModified(SCTAB nTab, const OUString &rNewName)
SC_DLLPUBLIC void PreprocessDBDataUpdate()
SC_DLLPUBLIC void SetDocOptions(const ScDocOptions &rOpt)
bool HasScenarioRange(SCTAB nTab, const ScRange &rRange) const
SC_DLLPUBLIC void SetColBreak(SCCOL nCol, SCTAB nTab, bool bPage, bool bManual)
void AddTableOpFormulaCell(ScFormulaCell *)
SC_DLLPUBLIC bool IsNegativePage(SCTAB nTab) const
SC_DLLPUBLIC void ApplySelectionStyle(const ScStyleSheet &rStyle, const ScMarkData &rMark)
void SetStorageGrammar(formula::FormulaGrammar::Grammar eGrammar)
Should only be GRAM_PODF or GRAM_ODFF.
bool mbExecuteLinkEnabled
void DelayFormulaGrouping(bool delay)
If set, joining cells into shared formula groups will be delayed until reset again (RegroupFormulaCel...
SC_DLLPUBLIC bool ApplyFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
void RepaintRange(const ScRange &rRange)
SC_DLLPUBLIC double RoundValueAsShown(double fVal, sal_uInt32 nFormat, const ScInterpreterContext *pContext=nullptr) const
SC_DLLPUBLIC SCROW GetLastDataRow(SCTAB nTab, SCCOL nCol1, SCCOL nCol2, SCROW nLastRow) const
Return the last non-empty row position in given columns that's no greater than the initial last row p...
ScInterpreterContext & GetNonThreadedContext() const
SC_DLLPUBLIC void PreprocessRangeNameUpdate()
void SetLayoutStrings(bool bSet)
void SetClipArea(const ScRange &rArea, bool bCut=false)
bool IsEmbedFontScriptComplex() const
bool HasDetectiveObjects(SCTAB nTab) const
formula::FormulaGrammar::Grammar GetStorageGrammar() const
std::unique_ptr< ScValidationDataList > pValidationList
void CopyScenario(SCTAB nSrcTab, SCTAB nDestTab, bool bNewScenario=false)
bool IsDocEditable() const
void SetConsolidateDlgData(std::unique_ptr< ScConsolidateParam > pData)
bool ShrinkToUsedDataArea(bool &o_bShrunk, SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bColumnsOnly, bool bStickyTopRow=false, bool bStickyLeftCol=false, ScDataAreaExtras *pDataAreaExtras=nullptr) const
Shrink a range to only include used data area.
void RemoveLookupCache(ScLookupCache &rCache)
Only ScLookupCache dtor uses RemoveLookupCache(), do not use elsewhere!
SC_DLLPUBLIC ScBreakType HasRowBreak(SCROW nRow, SCTAB nTab) const
ScRangePairListRef xRowNameRanges
ScRowBreakIterator * GetRowBreakIterator(SCTAB nTab) const
void SetSubTotalCellsDirty(const ScRange &rDirtyRange)
SC_DLLPUBLIC SvtScriptType GetStringScriptType(const OUString &rString)
SC_DLLPUBLIC ScExternalRefManager * GetExternalRefManager() const
SC_DLLPUBLIC sal_uInt16 GetOriginalHeight(SCROW nRow, SCTAB nTab) const
bool IsInLayoutStrings() const
sal_Int32 GetMaxStringLen(SCTAB nTab, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet) const
Maximum string length of a column, e.g.
SC_DLLPUBLIC OutputDevice * GetRefDevice()
SC_DLLPUBLIC OUString MaxRowAsString() const
void SetTabNameOnLoad(SCTAB nTab, const OUString &rName)
SC_DLLPUBLIC void GetTiledRenderingArea(SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow) const
Return the number of columns / rows that should be visible for the tiled rendering.
void UpdateExternalRefLinks(weld::Window *pWin)
SC_DLLPUBLIC bool DeleteSparkline(ScAddress const &rPosition)
SC_DLLPUBLIC void SetChangeViewSettings(const ScChangeViewSettings &rNew)
size_t mnMutationGuardFlags
SC_DLLPUBLIC void SetAutoNameCache(std::unique_ptr< ScAutoNameCache > pCache)
std::unique_ptr< ScUnoRefList > EndUnoRefUndo()
SC_DLLPUBLIC void GetScenarioData(SCTAB nTab, OUString &rComment, Color &rColor, ScScenarioFlags &rFlags) const
SC_DLLPUBLIC void GetAllTabRangeNames(ScRangeName::TabNameCopyMap &rRangeNames) const
Get all range names that are local to each table.
bool HasOLEObjectsInArea(const ScRange &rRange, const ScMarkData *pTabMark=nullptr)
std::unique_ptr< sc::DocumentLinkManager > mpDocLinkMgr
bool IsDelayedFormulaGrouping() const
sal_uInt32 nAdjustHeightLock
void EnableExecuteLink(bool bVal)
void LimitChartArea(SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow)
ScFormulaCell * pEOFormulaTree
SC_DLLPUBLIC bool EnsureFormulaCellResults(const ScRange &rRange, bool bSkipRunning=false)
Make sure all of the formula cells in the specified range have been fully calculated.
void RemoveMerge(SCCOL nCol, SCROW nRow, SCTAB nTab)
void EndListeningGroups(const std::vector< ScAddress > &rPosArray)
SCROW GetHiddenRowCount(SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC void GetFilterEntriesArea(SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bCaseSens, ScFilterEntries &rFilterEntries)
Entries for Filter dialog.
ScRangePairListRef & GetRowNameRangesRef()
void CopyTabProtection(SCTAB nTabSrc, SCTAB nTabDest)
void UnshareFormulaCells(SCTAB nTab, SCCOL nCol, std::vector< SCROW > &rRows)
Make specified formula cells non-grouped.
void SetStreamValid(SCTAB nTab, bool bSet, bool bIgnoreLock=false)
void AddDelayedFormulaGroupingCell(const ScFormulaCell *cell)
To be used only by SharedFormulaUtil::joinFormulaCells().
OUString GetCopyTabName(SCTAB nTab) const
void ReservePatternCount(SCTAB nTab, SCCOL nCol, SCSIZE nReserve)
void FillTab(const ScRange &rSrcArea, const ScMarkData &rMark, InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool bSkipEmpty, bool bAsLink)
SC_DLLPUBLIC void CopyToClip(const ScClipParam &rClipParam, ScDocument *pClipDoc, const ScMarkData *pMarks, bool bKeepScenarioFlags, bool bIncludeObjects)
bool IsInLinkUpdate() const
bool mbTrackFormulasPending
ScDocument(const ScDocument &r)=delete
SC_DLLPUBLIC const ScViewOptions & GetViewOptions() const
SC_DLLPUBLIC void DoEmptyBlock(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
SC_DLLPUBLIC const ScMatrix * GetDdeLinkResultMatrix(size_t nDdePos) const
Returns the result matrix of the specified DDE link.
void AddUnoObject(SfxListener &rObject)
bool SetLOKFreezeRow(SCROW nFreezeRow, SCTAB nTab)
SC_DLLPUBLIC void SetRowHeightRange(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt16 nNewHeight)
SC_DLLPUBLIC bool IsUserInteractionEnabled() const
void UpdStlShtPtrsFrmNms()
bool GetNoListening() const
void SetDocShellRecalc(bool bSet)
void AddSubTotalCell(ScFormulaCell *pCell)
ScRecursionHelper & GetRecursionHelper()
bool mbUserInteractionEnabled
SC_DLLPUBLIC void ApplyPattern(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScPatternAttr &rAttr)
void ResetCalcNotifications()
void SetChartListenerCollection(std::unique_ptr< ScChartListenerCollection >, bool bSetChartRangeLists)
bool HasLinkFormulaNeedingCheck() const
void SetInLinkUpdate(bool bSet)
void SetEmbedFontScriptAsian(bool bUse)
SC_DLLPUBLIC SfxItemPool * GetEditPool() const
std::unique_ptr< ScDetOpList > pDetOpList
void SetCondFormList(ScConditionalFormatList *pList, SCTAB nTab)
std::unique_ptr< ScFieldEditEngine > CreateFieldEditEngine()
SC_DLLPUBLIC void ShowCol(SCCOL nCol, SCTAB nTab, bool bShow)
void Broadcast(const ScHint &rHint)
Broadcast wrapper, calls rHint.GetCell()->Broadcast() and AreaBroadcast() and TrackFormulas() Preferr...
SC_DLLPUBLIC bool CreateQueryParam(const ScRange &rRange, ScQueryParam &rQueryParam)
SC_DLLPUBLIC bool GetAutoCalc() const
SCCOL GetLastChangedColFlagsWidth(SCTAB nTab) const
OUString GetUpperCellString(SCCOL nCol, SCROW nRow, SCTAB nTab)
SC_DLLPUBLIC bool HasStringData(SCCOL nCol, SCROW nRow, SCTAB nTab) const
void SetCodeName(const OUString &r)
SC_DLLPUBLIC void GetAllNoteEntries(std::vector< sc::NoteEntry > &rNotes) const
bool IsValidAsianCompression() const
void SetEmbedFonts(bool bUse)
SC_DLLPUBLIC const ScPatternAttr * GetMostUsedPattern(SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
void SetLanguage(LanguageType eLatin, LanguageType eCjk, LanguageType eCtl)
std::unique_ptr< ScPatternAttr > CreateSelectionPattern(const ScMarkData &rMark, bool bDeep=true)
SC_DLLPUBLIC void InitUndoSelected(const ScDocument &rSrcDoc, const ScMarkData &rTabSelection, bool bColInfo=false, bool bRowInfo=false)
SC_DLLPUBLIC void CalcFormulaTree(bool bOnlyForced=false, bool bProgressBar=true, bool bSetAllDirty=true)
Calculate formula cells that are on the formula tree either partially, or in full.
bool IsStyleSheetUsed(const ScStyleSheet &rStyle) const
ScChangeViewSettings * GetChangeViewSettings() const
std::unique_ptr< ScExtDocOptions > pExtDocOptions
bool HasRangeOverflow() const
SC_DLLPUBLIC std::unique_ptr< ScPostIt > ReleaseNote(const ScAddress &rPos)
SC_DLLPUBLIC void SetNumberFormat(const ScAddress &rPos, sal_uInt32 nNumberFormat)
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
void RestorePrintRanges(const ScPrintRangeSaver &rSaver)
void ReplaceStyle(const SvxSearchItem &rSearchItem, SCCOL nCol, SCROW nRow, SCTAB nTab, const ScMarkData &rMark)
ScRangePairList * GetColNameRanges()
void GetFilterEntries(SCCOL nCol, SCROW nRow, SCTAB nTab, ScFilterEntries &rFilterEntries)
Get a list of unique strings to use in filtering criteria.
void StartChangeTracking()
void ApplySelectionLineStyle(const ScMarkData &rMark, const ::editeng::SvxBorderLine *pLine, bool bColorOnly)
SC_DLLPUBLIC bool HasSparkline(ScAddress const &rPosition)
ScExtDocOptions * GetExtDocOptions()
SCCOL GetLOKFreezeCol(SCTAB nTab) const
void EndListeningIntersectedGroups(sc::EndListeningContext &rCxt, const ScRange &rRange, std::vector< ScAddress > *pGroupPos)
SC_DLLPUBLIC sc::ExternalDataMapper & GetExternalDataMapper()
SC_DLLPUBLIC bool HasData(SCCOL nCol, SCROW nRow, SCTAB nTab)
SC_DLLPUBLIC OUString GetPageStyle(SCTAB nTab) const
void SetName(const OUString &r)
SC_DLLPUBLIC void SetGrammar(formula::FormulaGrammar::Grammar eGram)
bool HasAnyCalcNotification() const
bool IsStreamValid(SCTAB nTab) const
void LimitChartIfAll(ScRangeListRef &rRangeList)
SC_DLLPUBLIC void InitUndo(const ScDocument &rSrcDoc, SCTAB nTab1, SCTAB nTab2, bool bColInfo=false, bool bRowInfo=false)
bool IsFunctionAccess() const
SC_DLLPUBLIC bool CopyOneCellFromClip(sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
void CopyRangeNamesToClip(ScDocument *pClipDoc, const ScRange &rClipRange, const ScMarkData *pMarks)
SC_DLLPUBLIC bool HasPrintRange()
void SetAsianKerning(bool bNew)
void DeleteSelectionTab(SCTAB nTab, InsertDeleteFlags nDelFlag, const ScMarkData &rMark)
void GetCellChangeTrackNote(const ScAddress &cell, OUString &strTrackText, bool &pbLeftEdge)
SC_DLLPUBLIC void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nDelFlag, bool bBroadcast=true, sc::ColumnSpanSet *pBroadcastSpans=nullptr)
SC_DLLPUBLIC bool HasColHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
std::unique_ptr< ScExternalRefManager > pExternalRefMgr
void SetAllFormulasDirty(const sc::SetFormulaDirtyContext &rCxt)
bool UpdateOutlineRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bShow)
formula::FormulaGrammar::Grammar eStorageGrammar
The compiler grammar used in document storage.
void DeleteRow(SCCOL nStartCol, SCTAB nStartTab, SCCOL nEndCol, SCTAB nEndTab, SCROW nStartRow, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, bool *pUndoOutline=nullptr, const ScMarkData *pTabMark=nullptr)
SC_DLLPUBLIC void ExtendTotalMerge(ScRange &rRange) const
void DelBroadcastAreasInRange(const ScRange &rRange)
sal_uInt16 GetCommonWidth(SCCOL nEndCol, SCTAB nTab) const
FormulaError GetErrCode(const ScAddress &) const
SC_DLLPUBLIC bool GetPrintAreaHor(SCTAB nTab, SCROW nStartRow, SCROW nEndRow, SCCOL &rEndCol) const
sal_uInt32 GetDocumentID() const
an ID unique to each document instance
sal_uInt8 nInDdeLinkUpdate
ScBroadcastAreaSlotMachine * GetBASM() const
void GetSelectionFrame(const ScMarkData &rMark, SvxBoxItem &rLineOuter, SvxBoxInfoItem &rLineInner)
SC_DLLPUBLIC void SetViewOptions(const ScViewOptions &rOpt)
SC_DLLPUBLIC ScBreakType HasColBreak(SCCOL nCol, SCTAB nTab) const
const css::uno::Reference< css::script::vba::XVBAEventProcessor > & GetVbaEventProcessor() const
SC_DLLPUBLIC void SetDrawPageSize(SCTAB nTab)
void DeleteObjectsInSelection(const ScMarkData &rMark)
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
SC_DLLPUBLIC void ApplySelectionPattern(const ScPatternAttr &rAttr, const ScMarkData &rMark, ScEditDataArray *pDataArray=nullptr, bool *pIsChanged=nullptr)
SC_DLLPUBLIC bool GetHashCode(SCTAB nTab, sal_Int64 &rHashCode) const
SC_DLLPUBLIC void ShowRows(SCROW nRow1, SCROW nRow2, SCTAB nTab, bool bShow)
SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
bool IsPendingRowHeights(SCTAB nTab) const
sal_uInt16 GetOptimalColWidth(SCCOL nCol, SCTAB nTab, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bFormula, const ScMarkData *pMarkData=nullptr, const ScColWidthParam *pParam=nullptr)
SC_DLLPUBLIC bool RowHidden(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
void RemoveFromFormulaTrack(ScFormulaCell *pCell)
void ExtendMergeSel(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, const ScMarkData &rMark, bool bRefresh=false)
bool bAutoCalcShellDisabled
SC_DLLPUBLIC void CreateValidTabName(OUString &rName) const
HardRecalcState eHardRecalcState
bool HasAnyDraw(SCTAB nTab, const tools::Rectangle &rMMRect) const
void ExtendHidden(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2, SCTAB nTab)
void SetDetOpList(std::unique_ptr< ScDetOpList > pNew)
sal_Int32 GetImagePreferredDPI()
void GetDataEntries(SCCOL nCol, SCROW nRow, SCTAB nTab, std::vector< ScTypedStrData > &rStrings, bool bValidation=false)
Entries for selection list listbox (no numbers/formulas)
SC_DLLPUBLIC CRFlags GetRowFlags(SCROW nRow, SCTAB nTab) const
std::unique_ptr< EditTextObject > CreateSharedStringTextObject(const svl::SharedString &rSS)
std::unique_ptr< ScChangeTrack > pChangeTrack
void SetPrinter(VclPtr< SfxPrinter > const &pNewPrinter)
SC_DLLPUBLIC std::shared_ptr< sc::SparklineGroup > SearchSparklineGroup(tools::Guid const &rGuid)
ScAddress GetNotePosition(size_t nIndex) const
void DisposeFieldEditEngine(std::unique_ptr< ScFieldEditEngine > &rpEditEngine)
SC_DLLPUBLIC bool HasNote(const ScAddress &rPos) const
SC_DLLPUBLIC const ScRangeList * GetScenarioRanges(SCTAB nTab) const
SC_DLLPUBLIC ScConditionalFormat * GetCondFormat(SCCOL nCol, SCROW nRow, SCTAB nTab) const
void DoAutoOutline(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
const std::shared_ptr< SvxForbiddenCharactersTable > & GetForbiddenCharacters() const
SvNumberFormatterIndexTable * pFormatExchangeList
ScUndoManager * mpUndoManager
SC_DLLPUBLIC void GetAllColBreaks(std::set< SCCOL > &rBreaks, SCTAB nTab, bool bPage, bool bManual) const
SC_DLLPUBLIC void SetRepeatRowRange(SCTAB nTab, std::optional< ScRange > oNew)
SC_DLLPUBLIC void SetRowBreak(SCROW nRow, SCTAB nTab, bool bPage, bool bManual)
void GetNumberFormatInfo(const ScInterpreterContext &rContext, SvNumFormatType &nType, sal_uInt32 &nIndex, const ScAddress &rPos) const
OString dumpSheetGeomData(SCTAB nTab, bool bColumns, SheetGeomType eGeomType)
Serializes the specified sheet's geometry data.
std::unique_ptr< sc::IconSetBitmapMap > m_pIconSetBitmapMap
bool IsExecuteLinkEnabled() const
SC_DLLPUBLIC void SetCalcConfig(const ScCalcConfig &rConfig)
SC_DLLPUBLIC bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, HasAttrFlags nMask) const
void SC_DLLPUBLIC SetSortParam(const ScSortParam &rParam, SCTAB nTab)
void AddUndoTab(SCTAB nTab1, SCTAB nTab2, bool bColInfo=false, bool bRowInfo=false)
SC_DLLPUBLIC formula::FormulaGrammar::Grammar GetGrammar() const
SC_DLLPUBLIC CRFlags GetColFlags(SCCOL nCol, SCTAB nTab) const
void InvalidateStreamOnSave()
void UpdateScriptTypes(const ScAddress &rPos, SCCOL nColSize, SCROW nRowSize)
void Reorder(const sc::ReorderParam &rParam)
void RegroupFormulaCells(SCTAB nTab, SCCOL nCol)
bool IsBlockEditable(SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool *pOnlyNotBecauseOfMatrix=nullptr, bool bNoMatrixAtAll=false) const
void MarkUsedExternalReferences()
void StartListeningArea(const ScRange &rRange, bool bGroupListening, SvtListener *pListener)
bool IsEmbedFontScriptLatin() const
void SetRangeOverflowType(ErrCode nType)
void EndListeningFormulaCells(std::vector< ScFormulaCell * > &rCells)
static thread_local ScDocumentThreadSpecific maThreadSpecific
SfxBroadcaster * GetDrawBroadcaster()
void SetDirtyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nInsFlag, sc::ColumnSpanSet &rBroadcastSpans)
void EndListeningCell(const ScAddress &rAddress, SvtListener *pListener)
SC_DLLPUBLIC bool GetTableArea(SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow, bool bCalcHiddens=false) const
std::unique_ptr< ScUnoRefList > pUnoRefUndoList
SC_DLLPUBLIC const ScRangeData * GetRangeAtBlock(const ScRange &rBlock, OUString &rName, bool *pSheetLocal=nullptr) const
bool HasUnoRefUndo() const
void GetEmbedded(ScRange &rRange) const
std::shared_mutex mScLookupMutex
bool IsClipOrUndo() const
void SetPreviewSelection(const ScMarkData &rSel)
SC_DLLPUBLIC OUString GetInputString(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bForceSystemLocale=false) const
void DeleteObjectsInArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, bool bAnchored=false)
SC_DLLPUBLIC void SetImportingXML(bool bVal)
SCROW GetLOKFreezeRow(SCTAB nTab) const
bool HasCalcNotification(SCTAB nTab) const
void SetError(SCCOL nCol, SCROW nRow, SCTAB nTab, const FormulaError nError)
void CopyToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, InsertDeleteFlags nFlags, bool bMarked, ScDocument &rDestDoc, const ScMarkData *pMarks=nullptr, bool bColRowFlags=true)
SC_DLLPUBLIC void ApplyPatternIfNumberformatIncompatible(const ScRange &rRange, const ScMarkData &rMark, const ScPatternAttr &rPattern, SvNumFormatType nNewType)
const ScConsolidateParam * GetConsolidateDlgData() const
SC_DLLPUBLIC void SetDocVisible(bool bSet)
bool PastingDrawFromOtherDoc() const
SCSIZE GetPatternCount(SCTAB nTab, SCCOL nCol) const
ErrCode nRangeOverflowType
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
SC_DLLPUBLIC void SetValue(SCCOL nCol, SCROW nRow, SCTAB nTab, const double &rVal)
SC_DLLPUBLIC void CopyDdeLinks(ScDocument &rDestDoc) const
void FindAreaPos(SCCOL &rCol, SCROW &rRow, SCTAB nTab, ScMoveDirection eDirection) const
sal_uInt64 GetXMLImportedFormulaCount() const
bool IsChangeReadOnlyEnabled() const
SC_DLLPUBLIC ScDPObject * GetDPAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const
bool GetDdeLinkMode(size_t nDdePos, sal_uInt8 &rnMode) const
Returns the link mode of the specified DDE link.
void FindOrder(SCCOLROW *pOtherRows, SCCOLROW nThisEndRow, SCCOLROW nOtherEndRow, bool bColumns, ScDocument &rOtherDoc, SCTAB nThisTab, SCTAB nOtherTab, SCCOLROW nEndCol, const SCCOLROW *pTranslate, ScProgress *pProgress, sal_uInt64 nProAdd)
void ApplyStyle(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScStyleSheet &rStyle)
const OUString & GetCodeName() const
SC_DLLPUBLIC void ApplyPatternArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScMarkData &rMark, const ScPatternAttr &rAttr, ScEditDataArray *pDataArray=nullptr, bool *const pIsChanged=nullptr)
bool IsEmbedFontScriptAsian() const
void GetDocStat(ScDocStat &rDocStat)
void MergeNumberFormatter(const ScDocument &rSrcDoc)
void ClearSelectionItems(const sal_uInt16 *pWhich, const ScMarkData &rMark)
bool CanInsertRow(const ScRange &rRange) const
void SetupContextFromNonThreadedContext(ScInterpreterContext &threadedContext, int threadNumber)
ScMarkData maPreviewSelection
void EnableIdle(bool bDo)
void ApplySelectionFrame(const ScMarkData &rMark, const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner)
SC_DLLPUBLIC void MakeTable(SCTAB nTab, bool _bNeedsNameCheck=true)
SC_DLLPUBLIC void SetColWidthOnly(SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
bool IsInsertingFromOtherDoc() const
void FitBlock(const ScRange &rOld, const ScRange &rNew, bool bClear=true)
void RemoveSortedRangeCache(ScSortedRangeCache &rCache)
void SetPageSize(SCTAB nTab, const Size &rSize)
sal_uInt64 nXMLImportedFormulaCount
SC_DLLPUBLIC void TransferDrawPage(const ScDocument &rSrcDoc, SCTAB nSrcPos, SCTAB nDestPos)
void StopTemporaryChartLock()
bool IsForcedFormulaPending() const
SC_DLLPUBLIC bool CopyTab(SCTAB nOldPos, SCTAB nNewPos, const ScMarkData *pOnlyMarked=nullptr)
void ConvertFormulaToValue(const ScRange &rRange, sc::TableValues *pUndo)
void UpdateBroadcastAreas(UpdateRefMode eUpdateRefMode,