LibreOffice Module sc (master)  1
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ScDocument Class Reference

#include <document.hxx>

Collaboration diagram for ScDocument:
[legend]

Classes

class  NumFmtMergeHandler
 Use this class as a locale variable to merge number formatter from another document, and set NULL pointer to pFormatExchangeList when done. More...
 

Public Types

enum  HardRecalcState {
  HardRecalcState::OFF,
  HardRecalcState::TEMPORARY,
  HardRecalcState::ETERNAL
}
 

Public Member Functions

bool IsCellInChangeTrack (const ScAddress &cell, Color *pColCellBorder)
 
void GetCellChangeTrackNote (const ScAddress &cell, OUString &strTrackText, bool &pbLeftEdge)
 
bool IsEmbedFonts () const
 
bool IsEmbedUsedFontsOnly () const
 
bool IsEmbedFontScriptLatin () const
 
bool IsEmbedFontScriptAsian () const
 
bool IsEmbedFontScriptComplex () const
 
void SetEmbedFonts (bool bUse)
 
void SetEmbedUsedFontsOnly (bool bUse)
 
void SetEmbedFontScriptLatin (bool bUse)
 
void SetEmbedFontScriptAsian (bool bUse)
 
void SetEmbedFontScriptComplex (bool bUse)
 
SC_DLLPUBLIC sal_uLong GetCellCount () const
 
SC_DLLPUBLIC sal_uLong GetFormulaGroupCount () const
 
sal_uLong GetCodeCount () const
 
 DECL_LINK (GetUserDefinedColor, sal_uInt16, Color *)
 
SC_DLLPUBLIC ScDocument (ScDocumentMode eMode=SCDOCMODE_DOCUMENT, SfxObjectShell *pDocShell=nullptr)
 
SC_DLLPUBLIC ~ScDocument ()
 
void SetName (const OUString &r)
 
const OUString & GetCodeName () const
 
void SetCodeName (const OUString &r)
 
const OUString & GetFileURL () const
 
void GetDocStat (ScDocStat &rDocStat)
 
SC_DLLPUBLIC void InitDrawLayer (SfxObjectShell *pDocShell=nullptr)
 
ScInterpreterContextGetNonThreadedContext () const
 
ScInterpreterContextGetThreadedContext () const
 
void MergeBackIntoNonThreadedContext (ScInterpreterContext &threadedContext, int threadNumber)
 
void SetThreadedGroupCalcInProgress (bool set)
 
bool IsThreadedGroupCalcInProgress () const
 
SC_DLLPUBLIC sfx2::LinkManagerGetLinkManager ()
 
SC_DLLPUBLIC const sfx2::LinkManagerGetLinkManager () const
 
sc::DocumentLinkManagerGetDocLinkManager ()
 
const sc::DocumentLinkManagerGetDocLinkManager () const
 
SC_DLLPUBLIC const ScDocOptionsGetDocOptions () const
 
SC_DLLPUBLIC void SetDocOptions (const ScDocOptions &rOpt)
 
SC_DLLPUBLIC const ScViewOptionsGetViewOptions () const
 
SC_DLLPUBLIC void SetViewOptions (const ScViewOptions &rOpt)
 
void SetPrintOptions ()
 
ScExtDocOptionsGetExtDocOptions ()
 
SC_DLLPUBLIC void SetExtDocOptions (std::unique_ptr< ScExtDocOptions > pNewOptions)
 
ScClipOptionsGetClipOptions ()
 
void SetClipOptions (std::unique_ptr< ScClipOptions > pClipOptions)
 
SC_DLLPUBLIC void GetLanguage (LanguageType &rLatin, LanguageType &rCjk, LanguageType &rCtl) const
 
void SetLanguage (LanguageType eLatin, LanguageType eCjk, LanguageType eCtl)
 
void SetConsolidateDlgData (std::unique_ptr< ScConsolidateParam > pData)
 
const ScConsolidateParamGetConsolidateDlgData () const
 
void Clear (bool bFromDestructor=false)
 
std::unique_ptr< ScFieldEditEngineCreateFieldEditEngine ()
 
void DisposeFieldEditEngine (std::unique_ptr< ScFieldEditEngine > &rpEditEngine)
 
SC_DLLPUBLIC void GetAllTabRangeNames (ScRangeName::TabNameCopyMap &rRangeNames) const
 Get all range names that are local to each table. More...
 
SC_DLLPUBLIC void SetAllRangeNames (const std::map< OUString, std::unique_ptr< ScRangeName >> &rRangeMap)
 
SC_DLLPUBLIC void GetRangeNameMap (std::map< OUString, ScRangeName * > &rRangeName)
 
SC_DLLPUBLIC ScRangeNameGetRangeName (SCTAB nTab) const
 
SC_DLLPUBLIC ScRangeNameGetRangeName () const
 
void SetRangeName (SCTAB nTab, std::unique_ptr< ScRangeName > pNew)
 
void SetRangeName (std::unique_ptr< ScRangeName > pNewRangeName)
 
bool IsAddressInRangeName (RangeNameScope eScope, const ScAddress &rAddress)
 
ScRangeDataFindRangeNameBySheetAndIndex (SCTAB nTab, sal_uInt16 nIndex) const
 Find a named expression / range name in either global or a local scope. More...
 
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, starting from a given named expression nTokenTab/nTokenIndex. More...
 
bool CopyAdjustRangeName (SCTAB &rSheet, sal_uInt16 &rIndex, ScRangeData *&rpRangeData, ScDocument &rNewDoc, const ScAddress &rNewPos, const ScAddress &rOldPos, const bool bGlobalNamesToLocal, const bool bUsedByFormula) const
 If necessary (name references sheet rOldPos.Tab()) copy and adjust named expression/range from sheet-local to sheet-local, or global to sheet-local if bGlobalNamesToLocal==true. More...
 
SC_DLLPUBLIC void PreprocessAllRangeNamesUpdate (const std::map< OUString, std::unique_ptr< ScRangeName >> &rRangeMap)
 Call this immediately before updating all named ranges. More...
 
SC_DLLPUBLIC void PreprocessRangeNameUpdate ()
 
SC_DLLPUBLIC void PreprocessDBDataUpdate ()
 
SC_DLLPUBLIC void CompileHybridFormula ()
 Call this immediately after updating named ranges. More...
 
bool InsertNewRangeName (const OUString &rName, const ScAddress &rPos, const OUString &rExpr)
 Insert a new named expression to the global scope. More...
 
bool InsertNewRangeName (SCTAB nTab, const OUString &rName, const ScAddress &rPos, const OUString &rExpr)
 Insert a new named expression to a sheet-local scope. More...
 
SCTAB GetMaxTableNumber () const
 
ScRangePairListGetColNameRanges ()
 
ScRangePairListGetRowNameRanges ()
 
ScRangePairListRefGetColNameRangesRef ()
 
ScRangePairListRefGetRowNameRangesRef ()
 
SC_DLLPUBLIC SCCOL ClampToAllocatedColumns (SCTAB nTab, SCCOL nCol) const
 
SC_DLLPUBLIC SCCOL GetAllocatedColumnsCount (SCTAB nTab) const
 
SC_DLLPUBLIC ScDBCollectionGetDBCollection () const
 
void SetDBCollection (std::unique_ptr< ScDBCollection > pNewDBCollection, bool bRemoveAutoFilter=false)
 
const ScDBDataGetDBAtCursor (SCCOL nCol, SCROW nRow, SCTAB nTab, ScDBDataPortion ePortion) const
 
ScDBDataGetDBAtCursor (SCCOL nCol, SCROW nRow, SCTAB nTab, ScDBDataPortion ePortion)
 
const ScDBDataGetDBAtArea (SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
 
ScDBDataGetDBAtArea (SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
 
void RefreshDirtyTableColumnNames ()
 
SC_DLLPUBLIC sc::ExternalDataMapperGetExternalDataMapper ()
 
SC_DLLPUBLIC const ScRangeDataGetRangeAtBlock (const ScRange &rBlock, OUString *pName) const
 
SC_DLLPUBLIC bool HasPivotTable () const
 
SC_DLLPUBLIC ScDPCollectionGetDPCollection ()
 
SC_DLLPUBLIC const ScDPCollectionGetDPCollection () const
 
SC_DLLPUBLIC ScDPObjectGetDPAtCursor (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
ScDPObjectGetDPAtBlock (const ScRange &rBlock) const
 
void StopTemporaryChartLock ()
 
void EnsureGraphicNames ()
 
SdrObjectGetObjectAtPoint (SCTAB nTab, const Point &rPos)
 
bool HasChartAtPoint (SCTAB nTab, const Point &rPos, OUString &rName)
 
css::uno::Reference< css::chart2::XChartDocument > GetChartByName (const OUString &rChartName)
 
SC_DLLPUBLIC void GetChartRanges (const OUString &rChartName, std::vector< ScRangeList > &rRanges, const ScDocument *pSheetNameDoc)
 
void SetChartRanges (const OUString &rChartName, const std::vector< ScRangeList > &rRanges)
 
void UpdateChartArea (const OUString &rChartName, const ScRange &rNewArea, bool bColHeaders, bool bRowHeaders, bool bAdd)
 
void UpdateChartArea (const OUString &rChartName, const ScRangeListRef &rNewList, bool bColHeaders, bool bRowHeaders, bool bAdd)
 
void GetOldChartParameters (const OUString &rName, ScRangeList &rRanges, bool &rColHeaders, bool &rRowHeaders)
 
css::uno::Reference< css::embed::XEmbeddedObject > FindOleObjectByName (const OUString &rName)
 
SC_DLLPUBLIC void MakeTable (SCTAB nTab, bool _bNeedsNameCheck=true)
 
SCTAB GetVisibleTab () const
 
SC_DLLPUBLIC void SetVisibleTab (SCTAB nTab)
 
SCCOL GetPosLeft () const
 
SC_DLLPUBLIC void SetPosLeft (SCCOL nCol)
 
SCROW GetPosTop () const
 
SC_DLLPUBLIC void SetPosTop (SCROW nRow)
 
SC_DLLPUBLIC bool HasTable (SCTAB nTab) const
 
SC_DLLPUBLIC bool GetHashCode (SCTAB nTab, sal_Int64 &rHashCode) const
 
SC_DLLPUBLIC bool GetName (SCTAB nTab, OUString &rName) const
 
SC_DLLPUBLIC bool GetCodeName (SCTAB nTab, OUString &rName) const
 
SC_DLLPUBLIC bool SetCodeName (SCTAB nTab, const OUString &rName)
 
SC_DLLPUBLIC bool GetTable (const OUString &rName, SCTAB &rTab) const
 
SC_DLLPUBLIC SCCOL MaxCol () const
 
SC_DLLPUBLIC SCROW MaxRow () const
 
ScSheetLimitsGetSheetLimits () const
 
bool ValidCol (SCCOL nCol) const
 
bool ValidRow (SCROW nRow) const
 
bool ValidColRow (SCCOL nCol, SCROW nRow) const
 
bool ValidColRowTab (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
bool ValidRange (const ScRange &rRange) const
 
bool ValidAddress (const ScAddress &rAddress) const
 
SCCOL SanitizeCol (SCCOL nCol) const
 
SCROW SanitizeRow (SCROW nRow) const
 
SC_DLLPUBLIC std::vector< OUString > GetAllTableNames () const
 
OUString GetCopyTabName (SCTAB nTab) const
 
SC_DLLPUBLIC void SetAnonymousDBData (SCTAB nTab, std::unique_ptr< ScDBData > pDBData)
 
SC_DLLPUBLIC ScDBDataGetAnonymousDBData (SCTAB nTab)
 
SC_DLLPUBLIC void SetAnonymousDBData (std::unique_ptr< ScDBData > pDBData)
 One document global anonymous database range for temporary operations, used if the corresponding sheet-local anonymous database range is already used with AutoFilter and range differs. More...
 
SC_DLLPUBLIC ScDBDataGetAnonymousDBData ()
 
SC_DLLPUBLIC SCTAB GetTableCount () const
 
SvNumberFormatterIndexTableGetFormatExchangeList () const
 
SC_DLLPUBLIC ScDocProtectionGetDocProtection () const
 
SC_DLLPUBLIC void SetDocProtection (const ScDocProtection *pProtect)
 
SC_DLLPUBLIC bool IsDocProtected () const
 
bool IsDocEditable () const
 
SC_DLLPUBLIC bool IsTabProtected (SCTAB nTab) const
 
SC_DLLPUBLIC ScTableProtectionGetTabProtection (SCTAB nTab) const
 
SC_DLLPUBLIC void SetTabProtection (SCTAB nTab, const ScTableProtection *pProtect)
 
void CopyTabProtection (SCTAB nTabSrc, SCTAB nTabDest)
 
void LockTable (SCTAB nTab)
 
void UnlockTable (SCTAB nTab)
 
bool IsBlockEditable (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool *pOnlyNotBecauseOfMatrix=nullptr) const
 
bool IsSelectionEditable (const ScMarkData &rMark, bool *pOnlyNotBecauseOfMatrix=nullptr) const
 
bool HasSelectedBlockMatrixFragment (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScMarkData &rMark) const
 
bool IsEditActionAllowed (sc::ColRowEditAction eAction, SCTAB nTab, SCCOLROW nStart, SCCOLROW nEnd) const
 
bool IsEditActionAllowed (sc::ColRowEditAction eAction, const ScMarkData &rMark, SCCOLROW nStart, SCCOLROW nEnd) const
 
SC_DLLPUBLIC bool GetMatrixFormulaRange (const ScAddress &rCellPos, ScRange &rMatrix)
 
bool IsEmbedded () const
 
void GetEmbedded (ScRange &rRange) const
 
void SetEmbedded (const ScRange &rRange)
 
void ResetEmbedded ()
 
tools::Rectangle GetEmbeddedRect () const
 
void SetEmbedded (SCTAB nTab, const tools::Rectangle &rRect)
 
SC_DLLPUBLIC bool ValidNewTabName (const OUString &rName) const
 
SC_DLLPUBLIC void CreateValidTabName (OUString &rName) const
 
SC_DLLPUBLIC void CreateValidTabNames (std::vector< OUString > &aNames, SCTAB nCount) const
 
void AppendTabOnLoad (const OUString &rName)
 
void SetTabNameOnLoad (SCTAB nTab, const OUString &rName)
 
void InvalidateStreamOnSave ()
 
SC_DLLPUBLIC bool InsertTab (SCTAB nPos, const OUString &rName, bool bExternalDocument=false, bool bUndoDeleteTab=false)
 
SC_DLLPUBLIC bool InsertTabs (SCTAB nPos, const std::vector< OUString > &rNames, bool bNamesValid=false)
 
SC_DLLPUBLIC bool DeleteTabs (SCTAB nTab, SCTAB nSheets)
 
SC_DLLPUBLIC bool DeleteTab (SCTAB nTab)
 
SC_DLLPUBLIC bool RenameTab (SCTAB nTab, const OUString &rName, bool bExternalDocument=false)
 
bool MoveTab (SCTAB nOldPos, SCTAB nNewPos, ScProgress *pProgress=nullptr)
 
bool CopyTab (SCTAB nOldPos, SCTAB nNewPos, const ScMarkData *pOnlyMarked=nullptr)
 
SC_DLLPUBLIC sal_uLong TransferTab (ScDocument *pSrcDoc, SCTAB nSrcPos, SCTAB nDestPos, bool bInsertNew=true, bool bResultsOnly=false)
 
SC_DLLPUBLIC void TransferDrawPage (const ScDocument *pSrcDoc, SCTAB nSrcPos, SCTAB nDestPos)
 
SC_DLLPUBLIC void SetVisible (SCTAB nTab, bool bVisible)
 
SC_DLLPUBLIC bool IsVisible (SCTAB nTab) const
 
bool IsStreamValid (SCTAB nTab) const
 
void SetStreamValid (SCTAB nTab, bool bSet, bool bIgnoreLock=false)
 
void LockStreamValid (bool bLock)
 
bool IsStreamValidLocked () const
 
bool IsPendingRowHeights (SCTAB nTab) const
 
void SetPendingRowHeights (SCTAB nTab, bool bSet)
 
SC_DLLPUBLIC void SetLayoutRTL (SCTAB nTab, bool bRTL)
 
SC_DLLPUBLIC bool IsLayoutRTL (SCTAB nTab) const
 
SC_DLLPUBLIC bool IsNegativePage (SCTAB nTab) const
 
SC_DLLPUBLIC void SetScenario (SCTAB nTab, bool bFlag)
 
SC_DLLPUBLIC bool IsScenario (SCTAB nTab) const
 
SC_DLLPUBLIC void GetScenarioData (SCTAB nTab, OUString &rComment, Color &rColor, ScScenarioFlags &rFlags) const
 
SC_DLLPUBLIC void SetScenarioData (SCTAB nTab, const OUString &rComment, const Color &rColor, ScScenarioFlags nFlags)
 
SC_DLLPUBLIC Color GetTabBgColor (SCTAB nTab) const
 
SC_DLLPUBLIC void SetTabBgColor (SCTAB nTab, const Color &rColor)
 
SC_DLLPUBLIC bool IsDefaultTabBgColor (SCTAB nTab) const
 
void GetScenarioFlags (SCTAB nTab, ScScenarioFlags &rFlags) const
 
SC_DLLPUBLIC bool IsActiveScenario (SCTAB nTab) const
 
SC_DLLPUBLIC void SetActiveScenario (SCTAB nTab, bool bActive)
 
SC_DLLPUBLIC formula::FormulaGrammar::AddressConvention GetAddressConvention () const
 
SC_DLLPUBLIC formula::FormulaGrammar::Grammar GetGrammar () const
 
SC_DLLPUBLIC void SetGrammar (formula::FormulaGrammar::Grammar eGram)
 
SC_DLLPUBLIC ScLinkMode GetLinkMode (SCTAB nTab) const
 
bool IsLinked (SCTAB nTab) const
 
SC_DLLPUBLIC OUString GetLinkDoc (SCTAB nTab) const
 
OUString GetLinkFlt (SCTAB nTab) const
 
OUString GetLinkOpt (SCTAB nTab) const
 
SC_DLLPUBLIC OUString GetLinkTab (SCTAB nTab) const
 
sal_uLong GetLinkRefreshDelay (SCTAB nTab) const
 
void SetLink (SCTAB nTab, ScLinkMode nMode, const OUString &rDoc, const OUString &rFilter, const OUString &rOptions, const OUString &rTabName, sal_uLong nRefreshDelay)
 
bool HasLink (const OUString &rDoc, const OUString &rFilter, const OUString &rOptions) const
 
SC_DLLPUBLIC bool LinkExternalTab (SCTAB &nTab, const OUString &aDocTab, const OUString &aFileName, const OUString &aTabName)
 
bool HasExternalRefManager () const
 
SC_DLLPUBLIC ScExternalRefManagerGetExternalRefManager () const
 
bool IsInExternalReferenceMarking () const
 
void MarkUsedExternalReferences ()
 
bool MarkUsedExternalReferences (const ScTokenArray &rArr, const ScAddress &rPos)
 
ScFormulaParserPoolGetFormulaParserPool () const
 Returns the pool containing external formula parsers. More...
 
bool HasAreaLinks () const
 
void UpdateExternalRefLinks (weld::Window *pWin)
 
void UpdateAreaLinks ()
 
void IncInDdeLinkUpdate ()
 
void DecInDdeLinkUpdate ()
 
bool IsInDdeLinkUpdate () const
 
SC_DLLPUBLIC void CopyDdeLinks (ScDocument *pDestDoc) const
 
SC_DLLPUBLIC bool FindDdeLink (const OUString &rAppl, const OUString &rTopic, const OUString &rItem, sal_uInt8 nMode, size_t &rnDdePos)
 Tries to find a DDE link with the specified connection data. More...
 
bool GetDdeLinkData (size_t nDdePos, OUString &rAppl, OUString &rTopic, OUString &rItem) const
 Returns the connection data of the specified DDE link. More...
 
bool GetDdeLinkMode (size_t nDdePos, sal_uInt8 &rnMode) const
 Returns the link mode of the specified DDE link. More...
 
SC_DLLPUBLIC const ScMatrixGetDdeLinkResultMatrix (size_t nDdePos) const
 Returns the result matrix of the specified DDE link. More...
 
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. More...
 
bool SetDdeLinkResultMatrix (size_t nDdePos, const ScMatrixRef &pResults)
 Sets a result matrix for the specified DDE link. More...
 
SfxBindingsGetViewBindings ()
 
SfxObjectShellGetDocumentShell () const
 
SC_DLLPUBLIC ScDrawLayerGetDrawLayer ()
 
SC_DLLPUBLIC const ScDrawLayerGetDrawLayer () const
 
SfxBroadcasterGetDrawBroadcaster ()
 
void BeginDrawUndo ()
 
void BeginUnoRefUndo ()
 
bool HasUnoRefUndo () const
 
std::unique_ptr< ScUnoRefListEndUnoRefUndo ()
 
sal_Int64 GetNewUnoId ()
 
void AddUnoRefChange (sal_Int64 nId, const ScRangeList &rOldRanges)
 
void UpdateChartRef (UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCCOL nDx, SCROW nDy, SCTAB nDz)
 
void SetChartRangeList (const OUString &rChartName, const ScRangeListRef &rNewRangeListRef)
 only assigns the new RangeList, no ChartListener or the like More...
 
void StartAnimations (SCTAB nTab)
 
bool HasBackgroundDraw (SCTAB nTab, const tools::Rectangle &rMMRect) const
 
bool HasAnyDraw (SCTAB nTab, const tools::Rectangle &rMMRect) const
 
const ScSheetEventsGetSheetEvents (SCTAB nTab) const
 
void SetSheetEvents (SCTAB nTab, std::unique_ptr< ScSheetEvents > pNew)
 
bool HasSheetEventScript (SCTAB nTab, ScSheetEventId nEvent, bool bWithVbaEvents=false) const
 
bool HasAnySheetEventScript (ScSheetEventId nEvent, bool bWithVbaEvents=false) const
 
bool HasAnyCalcNotification () const
 
bool HasCalcNotification (SCTAB nTab) const
 
void SetCalcNotification (SCTAB nTab)
 
void ResetCalcNotifications ()
 
SC_DLLPUBLIC ScOutlineTableGetOutlineTable (SCTAB nTab, bool bCreate=false)
 
bool SetOutlineTable (SCTAB nTab, const ScOutlineTable *pNewOutline)
 
void DoAutoOutline (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
 
bool DoSubTotals (SCTAB nTab, ScSubTotalParam &rParam)
 
void RemoveSubTotals (SCTAB nTab, ScSubTotalParam &rParam)
 
bool TestRemoveSubTotals (SCTAB nTab, const ScSubTotalParam &rParam)
 
bool HasSubTotalCells (const ScRange &rRange)
 
SC_DLLPUBLIC void EnsureTable (SCTAB nTab)
 
SC_DLLPUBLIC bool SetString (SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
 
SC_DLLPUBLIC bool SetString (const ScAddress &rPos, const OUString &rString, const ScSetStringParam *pParam=nullptr)
 
SC_DLLPUBLIC bool SetEditText (const ScAddress &rPos, std::unique_ptr< EditTextObject > pEditText)
 This method manages the lifecycle of the passed edit text object. More...
 
void SetEditText (const ScAddress &rPos, const EditTextObject &rEditText, const SfxItemPool *pEditPool)
 
SC_DLLPUBLIC void SetEditText (const ScAddress &rPos, const OUString &rStr)
 
SC_DLLPUBLIC SCROW GetFirstEditTextRow (const ScRange &rRange) const
 
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. More...
 
void SetEmptyCell (const ScAddress &rPos)
 
SC_DLLPUBLIC void SetValue (SCCOL nCol, SCROW nRow, SCTAB nTab, const double &rVal)
 
SC_DLLPUBLIC void SetValue (const ScAddress &rPos, double fVal)
 
void SetValues (const ScAddress &rPos, const std::vector< double > &rVals)
 
void SetError (SCCOL nCol, SCROW nRow, SCTAB nTab, const FormulaError nError)
 
SC_DLLPUBLIC void SetFormula (const ScAddress &rPos, const ScTokenArray &rArray)
 
SC_DLLPUBLIC void SetFormula (const ScAddress &rPos, const OUString &rFormula, formula::FormulaGrammar::Grammar eGram)
 
SC_DLLPUBLIC ScFormulaCellSetFormulaCell (const ScAddress &rPos, ScFormulaCell *pCell)
 Set formula cell, and transfer its ownership to the document. More...
 
bool SetFormulaCells (const ScAddress &rPos, std::vector< ScFormulaCell * > &rCells)
 
bool HasFormulaCell (const ScRange &rRange) const
 Check if there is at least one formula cell in specified range. More...
 
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)
 
SC_DLLPUBLIC void InsertTableOp (const ScTabOpParam &rParam, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark)
 
SC_DLLPUBLIC OUString GetString (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScInterpreterContext *pContext=nullptr) const
 
SC_DLLPUBLIC OUString GetString (const ScAddress &rPos, const ScInterpreterContext *pContext=nullptr) const
 
double * GetValueCell (const ScAddress &rPos)
 Return a pointer to the double value stored in value cell. More...
 
SC_DLLPUBLIC svl::SharedStringPoolGetSharedStringPool ()
 
const svl::SharedStringPoolGetSharedStringPool () const
 
svl::SharedString GetSharedString (const ScAddress &rPos) const
 
std::shared_ptr< sc::FormulaGroupContext > & GetFormulaGroupContext ()
 
void DiscardFormulaGroupContext ()
 
void BlockFormulaGroupContextDiscard (bool block)
 
SC_DLLPUBLIC void GetInputString (SCCOL nCol, SCROW nRow, SCTAB nTab, OUString &rString)
 
FormulaError GetStringForFormula (const ScAddress &rPos, OUString &rString)
 
SC_DLLPUBLIC double GetValue (const ScAddress &rPos) const
 
SC_DLLPUBLIC double GetValue (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC void GetValue (SCCOL nCol, SCROW nRow, SCTAB nTab, double &rValue) const
 
SC_DLLPUBLIC const EditTextObjectGetEditText (const ScAddress &rPos) const
 
void RemoveEditTextCharAttribs (const ScAddress &rPos, const ScPatternAttr &rAttr)
 
SC_DLLPUBLIC double RoundValueAsShown (double fVal, sal_uInt32 nFormat, const ScInterpreterContext *pContext=nullptr) const
 
SC_DLLPUBLIC void GetNumberFormat (SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt32 &rFormat) const
 
sal_uInt32 GetNumberFormat (const ScRange &rRange) const
 
SC_DLLPUBLIC sal_uInt32 GetNumberFormat (const ScInterpreterContext &rContext, const ScAddress &) const
 
void SetNumberFormat (const ScAddress &rPos, sal_uInt32 nNumberFormat)
 
void GetNumberFormatInfo (const ScInterpreterContext &rContext, SvNumFormatType &nType, sal_uInt32 &nIndex, const ScAddress &rPos) const
 
SC_DLLPUBLIC const ScFormulaCellGetFormulaCell (const ScAddress &rPos) const
 
SC_DLLPUBLIC ScFormulaCellGetFormulaCell (const ScAddress &rPos)
 
SC_DLLPUBLIC void GetFormula (SCCOL nCol, SCROW nRow, SCTAB nTab, OUString &rFormula) const
 
SC_DLLPUBLIC void GetCellType (SCCOL nCol, SCROW nRow, SCTAB nTab, CellType &rCellType) const
 
SC_DLLPUBLIC CellType GetCellType (const ScAddress &rPos) const
 
SC_DLLPUBLIC bool HasData (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
SC_DLLPUBLIC bool HasStringData (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC bool HasValueData (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC bool HasValueData (const ScAddress &rPos) const
 
bool HasStringCells (const ScRange &rRange) const
 
bool HasSelectionData (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 Returns true, if there is any data to create a selection list for rPos. More...
 
bool HasValidationData (SCCOL nCol, SCROW nRow, SCTAB nTab) 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, or 3) totally empty. More...
 
SC_DLLPUBLIC ScPostItGetNote (const ScAddress &rPos)
 Notes. More...
 
SC_DLLPUBLIC ScPostItGetNote (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
void SetNote (const ScAddress &rPos, std::unique_ptr< ScPostIt > pNote)
 
void SetNote (SCCOL nCol, SCROW nRow, SCTAB nTab, std::unique_ptr< ScPostIt > pNote)
 
SC_DLLPUBLIC bool HasNote (const ScAddress &rPos) const
 
bool HasNote (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC bool HasColNotes (SCCOL nCol, SCTAB nTab) const
 
SC_DLLPUBLIC bool HasTabNotes (SCTAB nTab) const
 
bool HasNotes () const
 
SC_DLLPUBLIC std::unique_ptr< ScPostItReleaseNote (const ScAddress &rPos)
 
SC_DLLPUBLIC ScPostItGetOrCreateNote (const ScAddress &rPos)
 
SC_DLLPUBLIC ScPostItCreateNote (const ScAddress &rPos)
 
size_t GetNoteCount (SCTAB nTab, SCCOL nCol) const
 
void CreateAllNoteCaptions ()
 Ensure that all note objects have an associated sdr object. More...
 
void ForgetNoteCaptions (const ScRangeList &rRanges, bool bPreserveData)
 
CommentCaptionState GetAllNoteCaptionsState (const ScRangeList &rRanges)
 
ScAddress GetNotePosition (size_t nIndex) const
 
ScAddress GetNotePosition (size_t nIndex, SCTAB nTab) const
 
SCROW GetNotePosition (SCTAB nTab, SCCOL nCol, size_t nIndex) const
 
SC_DLLPUBLIC void GetAllNoteEntries (std::vector< sc::NoteEntry > &rNotes) const
 
SC_DLLPUBLIC void GetAllNoteEntries (SCTAB nTab, std::vector< sc::NoteEntry > &rNotes) const
 
void GetNotesInRange (const ScRangeList &rRange, std::vector< sc::NoteEntry > &rNotes) const
 
bool ContainsNotesInRange (const ScRangeList &rRange) const
 
SC_DLLPUBLIC void SetDrawPageSize (SCTAB nTab)
 
bool IsMerged (const ScAddress &rPos) const
 
void ExtendMergeSel (SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, const ScMarkData &rMark, bool bRefresh=false)
 
SC_DLLPUBLIC bool ExtendMerge (SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, SCTAB nTab, bool bRefresh=false)
 
bool ExtendMerge (ScRange &rRange, bool bRefresh=false)
 
SC_DLLPUBLIC void ExtendTotalMerge (ScRange &rRange) const
 
SC_DLLPUBLIC void ExtendOverlapped (SCCOL &rStartCol, SCROW &rStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab) const
 
SC_DLLPUBLIC void ExtendOverlapped (ScRange &rRange) const
 
bool RefreshAutoFilter (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
 
SC_DLLPUBLIC void DoMergeContents (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
 
SC_DLLPUBLIC void DoEmptyBlock (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
 
SC_DLLPUBLIC void DoMerge (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool bDeleteCaptions=true)
 
void RemoveMerge (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
bool IsBlockEmpty (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool bIgnoreNotes=false) const
 
bool IsPrintEmpty (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool bLeftIsEmpty=false, ScRange *pLastRange=nullptr, tools::Rectangle *pLastMM=nullptr) const
 
void SkipOverlapped (SCCOL &rCol, SCROW &rRow, SCTAB nTab) const
 
bool IsHorOverlapped (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
bool IsVerOverlapped (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC bool HasAttrib (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, HasAttrFlags nMask) const
 
SC_DLLPUBLIC bool HasAttrib (const ScRange &rRange, HasAttrFlags nMask) const
 
SC_DLLPUBLIC void GetBorderLines (SCCOL nCol, SCROW nRow, SCTAB nTab, const ::editeng::SvxBorderLine **ppLeft, const ::editeng::SvxBorderLine **ppTop, const ::editeng::SvxBorderLine **ppRight, const ::editeng::SvxBorderLine **ppBottom) const
 
void ResetChanged (const ScRange &rRange)
 
void CheckVectorizationState ()
 
void SetAllFormulasDirty (const sc::SetFormulaDirtyContext &rCxt)
 
void SetDirty (const ScRange &, bool bIncludeEmptyCells)
 
void SetTableOpDirty (const ScRange &)
 
void InterpretDirtyCells (const ScRangeList &rRanges)
 
SC_DLLPUBLIC void CalcAll ()
 
SC_DLLPUBLIC void CalcAfterLoad (bool bStartListening=true)
 
void CompileAll ()
 
void CompileXML ()
 
bool CompileErrorCells (FormulaError nErrCode)
 Re-compile formula cells with error. More...
 
ScAutoNameCacheGetAutoNameCache ()
 
void SetPreviewFont (std::unique_ptr< SfxItemSet > pFontSet)
 
SfxItemSetGetPreviewFont ()
 
SfxItemSetGetPreviewFont (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
const ScMarkDataGetPreviewSelection () const
 
void SetPreviewSelection (const ScMarkData &rSel)
 
ScStyleSheetGetPreviewCellStyle ()
 
ScStyleSheetGetPreviewCellStyle (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
void SetPreviewCellStyle (ScStyleSheet *pStyle)
 
SC_DLLPUBLIC void SetAutoNameCache (std::unique_ptr< ScAutoNameCache > pCache)
 
ScLookupCacheGetLookupCache (const ScRange &rRange, ScInterpreterContext *pContext)
 Creates a ScLookupCache cache for the range if it doesn't already exist. More...
 
void RemoveLookupCache (ScLookupCache &rCache)
 Only ScLookupCache dtor uses RemoveLookupCache(), do not use elsewhere! More...
 
void ClearLookupCaches ()
 Zap all caches. More...
 
SC_DLLPUBLIC void SetAutoCalc (bool bNewAutoCalc)
 
SC_DLLPUBLIC bool GetAutoCalc () const
 
void SetAutoCalcShellDisabled (bool bNew)
 
bool IsAutoCalcShellDisabled () const
 
void SetForcedFormulaPending (bool bNew)
 
bool IsForcedFormulaPending () const
 
bool IsCalculatingFormulaTree () const
 
void DelayFormulaGrouping (bool delay)
 If set, joining cells into shared formula groups will be delayed until reset again (RegroupFormulaCells() will be called as needed). More...
 
bool IsDelayedFormulaGrouping () const
 
void AddDelayedFormulaGroupingCell (const ScFormulaCell *cell)
 To be used only by SharedFormulaUtil::joinFormulaCells(). More...
 
FormulaError GetErrCode (const ScAddress &) const
 
bool ShrinkToDataArea (SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow) const
 Shrink a range to only include data area. More...
 
bool ShrinkToUsedDataArea (bool &o_bShrunk, SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bColumnsOnly, bool bStickyTopRow=false, bool bStickyLeftCol=false, bool bConsiderCellNotes=false, bool bConsiderCellDrawObjects=false) const
 Shrink a range to only include used data area. More...
 
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 position, or 0 if the columns are empty. More...
 
SC_DLLPUBLIC void GetDataArea (SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bIncludeOld, bool bOnlyDown) const
 Return the smallest area containing at least all contiguous cells having data. More...
 
bool GetDataAreaSubrange (ScRange &rRange) const
 Returns true if there is a non-empty subrange in the range given as input. More...
 
SC_DLLPUBLIC bool GetCellArea (SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow) const
 
SC_DLLPUBLIC bool GetTableArea (SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow) const
 
SC_DLLPUBLIC bool GetPrintArea (SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow, bool bNotes=true) const
 
SC_DLLPUBLIC bool GetPrintAreaHor (SCTAB nTab, SCROW nStartRow, SCROW nEndRow, SCCOL &rEndCol) const
 
SC_DLLPUBLIC bool GetPrintAreaVer (SCTAB nTab, SCCOL nStartCol, SCCOL nEndCol, SCROW &rEndRow, bool bNotes) const
 
void InvalidateTableArea ()
 
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. More...
 
SC_DLLPUBLIC bool GetDataStart (SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow) const
 
void ExtendPrintArea (OutputDevice *pDev, SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW nEndRow) const
 Find the maximum column position that contains printable data for the specified row range. More...
 
SC_DLLPUBLIC SCSIZE GetEmptyLinesInBlock (SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, ScDirection eDir)
 
void FindAreaPos (SCCOL &rCol, SCROW &rRow, SCTAB nTab, ScMoveDirection eDirection) const
 
SC_DLLPUBLIC void GetNextPos (SCCOL &rCol, SCROW &rRow, SCTAB nTab, SCCOL nMovX, SCROW nMovY, bool bMarked, bool bUnprotected, const ScMarkData &rMark, SCCOL nTabStartCol=SC_TABSTART_NONE) const
 
bool GetNextMarkedCell (SCCOL &rCol, SCROW &rRow, SCTAB nTab, const ScMarkData &rMark)
 
void LimitChartArea (SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow)
 
void LimitChartIfAll (ScRangeListRef &rRangeList)
 
bool InsertRow (SCCOL nStartCol, SCTAB nStartTab, SCCOL nEndCol, SCTAB nEndTab, SCROW nStartRow, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, const ScMarkData *pTabMark=nullptr)
 
SC_DLLPUBLIC bool InsertRow (const ScRange &rRange)
 
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 DeleteRow (const ScRange &rRange)
 
bool InsertCol (SCROW nStartRow, SCTAB nStartTab, SCROW nEndRow, SCTAB nEndTab, SCCOL nStartCol, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, const ScMarkData *pTabMark=nullptr)
 
SC_DLLPUBLIC bool InsertCol (const ScRange &rRange)
 
void DeleteCol (SCROW nStartRow, SCTAB nStartTab, SCROW nEndRow, SCTAB nEndTab, SCCOL nStartCol, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, bool *pUndoOutline=nullptr, const ScMarkData *pTabMark=nullptr)
 
void DeleteCol (const ScRange &rRange)
 
bool CanInsertRow (const ScRange &rRange) const
 
bool CanInsertCol (const ScRange &rRange) const
 
void FitBlock (const ScRange &rOld, const ScRange &rNew, bool bClear=true)
 
bool CanFitBlock (const ScRange &rOld, const ScRange &rNew)
 
bool IsClipOrUndo () const
 
bool IsUndo () const
 
bool IsClipboard () const
 
bool IsUndoEnabled () const
 
SC_DLLPUBLIC void EnableUndo (bool bVal)
 
bool IsFunctionAccess () const
 
bool IsAdjustHeightLocked () const
 
void LockAdjustHeight ()
 
SC_DLLPUBLIC void UnlockAdjustHeight ()
 
bool IsExecuteLinkEnabled () const
 
void EnableExecuteLink (bool bVal)
 
bool IsChangeReadOnlyEnabled () const
 
void EnableChangeReadOnly (bool bVal)
 
SC_DLLPUBLIC bool IsUserInteractionEnabled () const
 
SC_DLLPUBLIC void EnableUserInteraction (bool bVal)
 
SC_DLLPUBLIC sal_Int16 GetNamedRangesLockCount () const
 
void SetNamedRangesLockCount (sal_Int16 nCount)
 
SC_DLLPUBLIC void ResetClip (ScDocument *pSourceDoc, const ScMarkData *pMarks)
 
SC_DLLPUBLIC void ResetClip (ScDocument *pSourceDoc, SCTAB nTab)
 
void SetCutMode (bool bCut)
 
bool IsCutMode ()
 
void SetClipArea (const ScRange &rArea, bool bCut=false)
 
SC_DLLPUBLIC bool IsDocVisible () const
 
SC_DLLPUBLIC void SetDocVisible (bool bSet)
 
bool HasOLEObjectsInArea (const ScRange &rRange, const ScMarkData *pTabMark=nullptr)
 
void DeleteObjectsInArea (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, bool bAnchored=false)
 
void DeleteObjectsInSelection (const ScMarkData &rMark)
 
void DeleteArea (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nDelFlag, bool bBroadcast=true, sc::ColumnSpanSet *pBroadcastSpans=nullptr)
 
SC_DLLPUBLIC void DeleteAreaTab (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, InsertDeleteFlags nDelFlag)
 
void DeleteAreaTab (const ScRange &rRange, InsertDeleteFlags nDelFlag)
 
void CopyToClip (const ScClipParam &rClipParam, ScDocument *pClipDoc, const ScMarkData *pMarks, bool bKeepScenarioFlags, bool bIncludeObjects)
 
SC_DLLPUBLIC void CopyStaticToDocument (const ScRange &rSrcRange, SCTAB nDestTab, ScDocument *pDestDoc)
 Copy only raw cell values to another document. More...
 
void CopyCellToDocument (const ScAddress &rSrcPos, const ScAddress &rDestPos, ScDocument &rDestDoc)
 Copy only cell, nothing but cell to another document. More...
 
void CopyTabToClip (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, ScDocument *pClipDoc)
 
SC_DLLPUBLIC bool InitColumnBlockPosition (sc::ColumnBlockPosition &rBlockPos, SCTAB nTab, SCCOL nCol)
 
void DeleteBeforeCopyFromClip (sc::CopyFromClipContext &rCxt, const ScMarkData &rMark, sc::ColumnSpanSet &rBroadcastSpans)
 
bool CopyOneCellFromClip (sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
 
void CopyBlockFromClip (sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, SCCOL nDx, SCROW nDy)
 
void CopyNonFilteredFromClip (sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, SCCOL nDx, SCROW &rClipStartRow)
 
void StartListeningFromClip (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nInsFlag)
 
void SetDirtyFromClip (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nInsFlag, sc::ColumnSpanSet &rBroadcastSpans)
 
void CopyFromClip (const ScRange &rDestRange, const ScMarkData &rMark, InsertDeleteFlags nInsFlag, ScDocument *pRefUndoDoc, ScDocument *pClipDoc, bool bResetCut=true, bool bAsLink=false, bool bIncludeFiltered=true, bool bSkipAttrForEmpty=false, const ScRangeList *pDestRanges=nullptr)
 If pDestRanges is given it overrides rDestRange, rDestRange in this case is the overall encompassing range. More...
 
void CopyMultiRangeFromClip (const ScAddress &rDestPos, const ScMarkData &rMark, InsertDeleteFlags nInsFlag, ScDocument *pClipDoc, bool bResetCut=true, bool bAsLink=false, bool bIncludeFiltered=true, bool bSkipAttrForEmpty=false)
 
void GetClipArea (SCCOL &nClipX, SCROW &nClipY, bool bIncludeFiltered)
 
void GetClipStart (SCCOL &nClipX, SCROW &nClipY)
 
bool HasClipFilteredRows ()
 
bool IsClipboardSource () const
 
SC_DLLPUBLIC void TransposeClip (ScDocument *pTransClip, InsertDeleteFlags nFlags, bool bAsLink)
 
ScClipParamGetClipParam ()
 
void SetClipParam (const ScClipParam &rParam)
 
void ClosingClipboardSource ()
 To be called at the clipboard document when closing a document that is the current clipboard source to decouple things from the originating document. More...
 
void MixDocument (const ScRange &rRange, ScPasteFunc nFunction, bool bSkipEmpty, ScDocument *pSrcDoc)
 
void FillTab (const ScRange &rSrcArea, const ScMarkData &rMark, InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool bSkipEmpty, bool bAsLink)
 
void FillTabMarked (SCTAB nSrcTab, const ScMarkData &rMark, InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool bSkipEmpty, bool bAsLink)
 
void TransliterateText (const ScMarkData &rMultiMark, TransliterationFlags nType)
 
SC_DLLPUBLIC void InitUndo (const ScDocument *pSrcDoc, SCTAB nTab1, SCTAB nTab2, bool bColInfo=false, bool bRowInfo=false)
 
void AddUndoTab (SCTAB nTab1, SCTAB nTab2, bool bColInfo=false, bool bRowInfo=false)
 
SC_DLLPUBLIC void InitUndoSelected (const ScDocument *pSrcDoc, const ScMarkData &rTabSelection, bool bColInfo=false, bool bRowInfo=false)
 
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)
 
void UndoToDocument (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, InsertDeleteFlags nFlags, bool bMarked, ScDocument &rDestDoc)
 
void CopyToDocument (const ScRange &rRange, InsertDeleteFlags nFlags, bool bMarked, ScDocument &rDestDoc, const ScMarkData *pMarks=nullptr, bool bColRowFlags=true)
 
void UndoToDocument (const ScRange &rRange, InsertDeleteFlags nFlags, bool bMarked, ScDocument &rDestDoc)
 
void CopyScenario (SCTAB nSrcTab, SCTAB nDestTab, bool bNewScenario=false)
 
bool TestCopyScenario (SCTAB nSrcTab, SCTAB nDestTab) const
 
void MarkScenario (SCTAB nSrcTab, SCTAB nDestTab, ScMarkData &rDestMark, bool bResetMark=true, ScScenarioFlags nNeededBits=ScScenarioFlags::NONE) const
 
bool HasScenarioRange (SCTAB nTab, const ScRange &rRange) const
 
SC_DLLPUBLIC const ScRangeListGetScenarioRanges (SCTAB nTab) const
 
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 to pDestDoc. More...
 
void UpdateReference (sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc=nullptr, bool bIncludeDraw=true, bool bUpdateNoteCaptionPos=true)
 
SC_DLLPUBLIC void UpdateTranspose (const ScAddress &rDestPos, ScDocument *pClipDoc, const ScMarkData &rMark, ScDocument *pUndoDoc)
 
void UpdateGrow (const ScRange &rArea, SCCOL nGrowX, SCROW nGrowY)
 
SC_DLLPUBLIC void Fill (SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScProgress *pProgress, const ScMarkData &rMark, sal_uLong nFillCount, FillDir eFillDir=FILL_TO_BOTTOM, FillCmd eFillCmd=FILL_LINEAR, FillDateCmd eFillDateCmd=FILL_DAY, double nStepValue=1.0, double nMaxValue=1E307)
 
OUString GetAutoFillPreview (const ScRange &rSource, SCCOL nEndX, SCROW nEndY)
 
bool GetSelectionFunction (ScSubTotalFunc eFunc, const ScAddress &rCursor, const ScMarkData &rMark, double &rResult)
 
SC_DLLPUBLIC const SfxPoolItemGetAttr (SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
 
template<class T >
const T * GetAttr (SCCOL nCol, SCROW nRow, SCTAB nTab, TypedWhichId< T > nWhich) const
 
SC_DLLPUBLIC const SfxPoolItemGetAttr (const ScAddress &rPos, sal_uInt16 nWhich) const
 
template<class T >
const T * GetAttr (const ScAddress &rPos, TypedWhichId< T > nWhich) const
 
SC_DLLPUBLIC const ScPatternAttrGetPattern (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC const ScPatternAttrGetPattern (const ScAddress &rPos) const
 
SC_DLLPUBLIC const ScPatternAttrGetMostUsedPattern (SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
const ScPatternAttrGetSelectionPattern (const ScMarkData &rMark)
 
std::unique_ptr< ScPatternAttrCreateSelectionPattern (const ScMarkData &rMark, bool bDeep=true)
 
SC_DLLPUBLIC void AddCondFormatData (const ScRangeList &rRange, SCTAB nTab, sal_uInt32 nIndex)
 
void RemoveCondFormatData (const ScRangeList &rRange, SCTAB nTab, sal_uInt32 nIndex)
 
SC_DLLPUBLIC ScConditionalFormatGetCondFormat (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC const SfxItemSetGetCondResult (SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue *pCell=nullptr) const
 
const SfxItemSetGetCondResult (ScRefCellValue &rCell, const ScAddress &rPos, const ScConditionalFormatList &rList, const ScCondFormatIndexes &rIndex) const
 
const SfxPoolItemGetEffItem (SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
 
template<class T >
const T * GetEffItem (SCCOL nCol, SCROW nRow, SCTAB nTab, TypedWhichId< T > nWhich) const
 
SC_DLLPUBLIC const css::uno::Reference< css::i18n::XBreakIterator > & GetBreakIterator ()
 
bool HasStringWeakCharacters (const OUString &rString)
 
SC_DLLPUBLIC SvtScriptType GetStringScriptType (const OUString &rString)
 
SC_DLLPUBLIC SvtScriptType GetCellScriptType (const ScAddress &rPos, sal_uInt32 nNumberFormat, const ScRefCellValue *pCell=nullptr)
 
SC_DLLPUBLIC SvtScriptType GetScriptType (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScRefCellValue *pCell=nullptr)
 
SvtScriptType GetRangeScriptType (sc::ColumnBlockPosition &rBlockPos, const ScAddress &rPos, SCROW nLength)
 
SvtScriptType GetRangeScriptType (const ScRangeList &rRanges)
 
bool HasDetectiveOperations () const
 
void AddDetectiveOperation (const ScDetOpData &rData)
 
void ClearDetectiveOperations ()
 
ScDetOpListGetDetOpList () const
 
void SetDetOpList (std::unique_ptr< ScDetOpList > pNew)
 
bool HasDetectiveObjects (SCTAB nTab) const
 
void GetSelectionFrame (const ScMarkData &rMark, SvxBoxItem &rLineOuter, SvxBoxInfoItem &rLineInner)
 
void ApplySelectionFrame (const ScMarkData &rMark, const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner)
 
void ApplyFrameAreaTab (const ScRange &rRange, const SvxBoxItem &rLineOuter, const SvxBoxInfoItem &rLineInner)
 
void ClearSelectionItems (const sal_uInt16 *pWhich, const ScMarkData &rMark)
 
void ChangeSelectionIndent (bool bIncrement, const ScMarkData &rMark)
 
SC_DLLPUBLIC sal_uLong AddCondFormat (std::unique_ptr< ScConditionalFormat > pNew, SCTAB nTab)
 
void DeleteConditionalFormat (sal_uLong nIndex, SCTAB nTab)
 
void SetCondFormList (ScConditionalFormatList *pList, SCTAB nTab)
 
SC_DLLPUBLIC sal_uLong AddValidationEntry (const ScValidationData &rNew)
 
SC_DLLPUBLIC const ScValidationDataGetValidationEntry (sal_uLong nIndex) const
 
SC_DLLPUBLIC ScConditionalFormatListGetCondFormList (SCTAB nTab) const
 
const ScValidationDataListGetValidationList () const
 
ScValidationDataListGetValidationList ()
 
SC_DLLPUBLIC void ApplyAttr (SCCOL nCol, SCROW nRow, SCTAB nTab, const SfxPoolItem &rAttr)
 
SC_DLLPUBLIC void ApplyPattern (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScPatternAttr &rAttr)
 
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)
 
SC_DLLPUBLIC void ApplyPatternAreaTab (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScPatternAttr &rAttr)
 
SC_DLLPUBLIC void ApplyPatternIfNumberformatIncompatible (const ScRange &rRange, const ScMarkData &rMark, const ScPatternAttr &rPattern, SvNumFormatType nNewType)
 
void ApplyStyle (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScStyleSheet &rStyle)
 
void ApplyStyleArea (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScMarkData &rMark, const ScStyleSheet &rStyle)
 
SC_DLLPUBLIC void ApplyStyleAreaTab (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScStyleSheet &rStyle)
 
SC_DLLPUBLIC void ApplySelectionStyle (const ScStyleSheet &rStyle, const ScMarkData &rMark)
 
void ApplySelectionLineStyle (const ScMarkData &rMark, const ::editeng::SvxBorderLine *pLine, bool bColorOnly)
 
const ScStyleSheetGetStyle (SCCOL nCol, SCROW nRow, SCTAB nTab) const
 
const ScStyleSheetGetSelectionStyle (const ScMarkData &rMark) const
 
void StyleSheetChanged (const SfxStyleSheetBase *pStyleSheet, bool bRemoved, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY)
 
bool IsStyleSheetUsed (const ScStyleSheet &rStyle) const
 
SC_DLLPUBLIC bool ApplyFlagsTab (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
 
SC_DLLPUBLIC bool RemoveFlagsTab (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
 
SC_DLLPUBLIC void SetPattern (const ScAddress &, const ScPatternAttr &rAttr)
 
SC_DLLPUBLIC const ScPatternAttrSetPattern (SCCOL nCol, SCROW nRow, SCTAB nTab, std::unique_ptr< ScPatternAttr >)
 
SC_DLLPUBLIC void SetPattern (SCCOL nCol, SCROW nRow, SCTAB nTab, const ScPatternAttr &rAttr)
 
void AutoFormat (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_uInt16 nFormatNo, const ScMarkData &rMark)
 
void GetAutoFormatData (SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData &rData)
 
bool SearchAndReplace (const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, SCTAB &rTab, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc=nullptr)
 
void GetSearchAndReplaceStart (const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow)
 
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) More...
 
SC_DLLPUBLIC void ApplySelectionPattern (const ScPatternAttr &rAttr, const ScMarkData &rMark, ScEditDataArray *pDataArray=nullptr, bool *pIsChanged=nullptr)
 
void DeleteSelection (InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
 
void DeleteSelectionTab (SCTAB nTab, InsertDeleteFlags nDelFlag, const ScMarkData &rMark)
 
SC_DLLPUBLIC void SetColWidth (SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
 
SC_DLLPUBLIC void SetColWidthOnly (SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
 
SC_DLLPUBLIC void SetRowHeight (SCROW nRow, SCTAB nTab, sal_uInt16 nNewHeight)
 
SC_DLLPUBLIC void SetRowHeightRange (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt16 nNewHeight)
 
SC_DLLPUBLIC void SetRowHeightOnly (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt16 nNewHeight)
 
SC_DLLPUBLIC void SetManualHeight (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bManual)
 
SC_DLLPUBLIC sal_uInt16 GetColWidth (SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
 
SC_DLLPUBLIC sal_uLong GetColWidth (SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab) const
 
SC_DLLPUBLIC sal_uInt16 GetRowHeight (SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
 
SC_DLLPUBLIC sal_uInt16 GetRowHeight (SCROW nRow, SCTAB nTab, SCROW *pStartRow, SCROW *pEndRow) const
 
SC_DLLPUBLIC sal_uLong GetRowHeight (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
 
SCROW GetRowForHeight (SCTAB nTab, sal_uLong nHeight) const
 Given the height i.e. More...
 
sal_uLong GetScaledRowHeight (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, double fScale, const sal_uLong *pnMaxHeight=nullptr) const
 
SC_DLLPUBLIC sal_uLong GetColOffset (SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
 
SC_DLLPUBLIC sal_uLong GetRowOffset (SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
 
SC_DLLPUBLIC sal_uInt16 GetOriginalWidth (SCCOL nCol, SCTAB nTab) const
 
SC_DLLPUBLIC sal_uInt16 GetOriginalHeight (SCROW nRow, SCTAB nTab) const
 
sal_uInt16 GetCommonWidth (SCCOL nEndCol, SCTAB nTab) const
 
SCROW GetHiddenRowCount (SCROW nRow, 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 SetOptimalHeight (sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, SCTAB nTab)
 
void UpdateAllRowHeights (sc::RowHeightContext &rCxt, const ScMarkData *pTabMark)
 
long GetNeededSize (SCCOL nCol, SCROW nRow, SCTAB nTab, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bWidth, bool bTotalSize=false)
 
SC_DLLPUBLIC void ShowCol (SCCOL nCol, SCTAB nTab, bool bShow)
 
SC_DLLPUBLIC void ShowRow (SCROW nRow, SCTAB nTab, bool bShow)
 
SC_DLLPUBLIC void ShowRows (SCROW nRow1, SCROW nRow2, SCTAB nTab, bool bShow)
 
SC_DLLPUBLIC void SetRowFlags (SCROW nRow, SCTAB nTab, CRFlags nNewFlags)
 
SC_DLLPUBLIC void SetRowFlags (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, CRFlags nNewFlags)
 
SC_DLLPUBLIC CRFlags GetColFlags (SCCOL nCol, SCTAB nTab) const
 
SC_DLLPUBLIC CRFlags GetRowFlags (SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC void GetAllRowBreaks (std::set< SCROW > &rBreaks, SCTAB nTab, bool bPage, bool bManual) const
 
SC_DLLPUBLIC void GetAllColBreaks (std::set< SCCOL > &rBreaks, SCTAB nTab, bool bPage, bool bManual) const
 
SC_DLLPUBLIC ScBreakType HasRowBreak (SCROW nRow, SCTAB nTab) const
 
SC_DLLPUBLIC ScBreakType HasColBreak (SCCOL nCol, SCTAB nTab) const
 
SC_DLLPUBLIC void SetRowBreak (SCROW nRow, SCTAB nTab, bool bPage, bool bManual)
 
SC_DLLPUBLIC void SetColBreak (SCCOL nCol, SCTAB nTab, bool bPage, bool bManual)
 
void RemoveRowBreak (SCROW nRow, SCTAB nTab, bool bPage, bool bManual)
 
void RemoveColBreak (SCCOL nCol, SCTAB nTab, bool bPage, bool bManual)
 
css::uno::Sequence< css::sheet::TablePageBreakData > GetRowBreakData (SCTAB nTab) const
 
SC_DLLPUBLIC bool RowHidden (SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
 
SC_DLLPUBLIC bool HasHiddenRows (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
SC_DLLPUBLIC bool ColHidden (SCCOL nCol, SCTAB nTab, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
 
SC_DLLPUBLIC void SetRowHidden (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bHidden)
 
SC_DLLPUBLIC void SetColHidden (SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab, bool bHidden)
 
SC_DLLPUBLIC SCROW FirstVisibleRow (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
SC_DLLPUBLIC SCROW LastVisibleRow (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
SCROW CountVisibleRows (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
bool RowFiltered (SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
 
bool HasFilteredRows (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
bool ColFiltered (SCCOL nCol, SCTAB nTab) const
 
SC_DLLPUBLIC void SetRowFiltered (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bFiltered)
 
SCROW FirstNonFilteredRow (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
SCROW LastNonFilteredRow (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
SCROW CountNonFilteredRows (SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
 
SC_DLLPUBLIC bool IsManualRowHeight (SCROW nRow, SCTAB nTab) const
 
bool HasUniformRowHeight (SCTAB nTab, SCROW nRow1, SCROW nRow2) const
 
void SyncColRowFlags ()
 Write all column row flags to table's flag data, because not all column row attributes are stored in the flag data members. More...
 
SC_DLLPUBLIC SCROW GetLastFlaggedRow (SCTAB nTab) const
 
SCCOL GetLastChangedCol (SCTAB nTab) const
 
SCROW GetLastChangedRow (SCTAB nTab) const
 
SCCOL GetNextDifferentChangedCol (SCTAB nTab, SCCOL nStart) const
 
SCROW GetNextDifferentChangedRow (SCTAB nTab, SCROW nStart) const
 
void GetColDefault (SCTAB nTab, SCCOL nCol, SCROW nLastRow, SCROW &nDefault)
 
bool UpdateOutlineCol (SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab, bool bShow)
 Adapt Outline. More...
 
bool UpdateOutlineRow (SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bShow)
 
void StripHidden (SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2, SCTAB nTab)
 
void ExtendHidden (SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2, SCTAB nTab)
 
SC_DLLPUBLIC ScPatternAttrGetDefPattern () const
 
SC_DLLPUBLIC ScDocumentPoolGetPool ()
 
SC_DLLPUBLIC ScStyleSheetPoolGetStyleSheetPool () const
 
void GetUnprotectedCells (ScRangeList &rRange, SCTAB nTab) const
 
SC_DLLPUBLIC OUString GetPageStyle (SCTAB nTab) const
 
SC_DLLPUBLIC void SetPageStyle (SCTAB nTab, const OUString &rName)
 
Size GetPageSize (SCTAB nTab) const
 
void SetPageSize (SCTAB nTab, const Size &rSize)
 
void SetRepeatArea (SCTAB nTab, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow)
 
void InvalidatePageBreaks (SCTAB nTab)
 
void UpdatePageBreaks (SCTAB nTab, const ScRange *pUserArea=nullptr)
 
void RemoveManualBreaks (SCTAB nTab)
 
bool HasManualBreaks (SCTAB nTab) const
 
bool IsPageStyleInUse (const OUString &rStrPageStyle, SCTAB *pInTab)
 
bool RemovePageStyleInUse (const OUString &rStrPageStyle)
 
bool RenamePageStyleInUse (const OUString &rOld, const OUString &rNew)
 
void ModifyStyleSheet (SfxStyleSheetBase &rPageStyle, const SfxItemSet &rChanges)
 
void PageStyleModified (SCTAB nTab, const OUString &rNewName)
 
SC_DLLPUBLIC bool NeedPageResetAfterTab (SCTAB nTab) const
 
SC_DLLPUBLIC bool HasPrintRange ()
 
SC_DLLPUBLIC sal_uInt16 GetPrintRangeCount (SCTAB nTab)
 
SC_DLLPUBLIC const ScRangeGetPrintRange (SCTAB nTab, sal_uInt16 nPos)
 
SC_DLLPUBLIC const ScRangeGetRepeatColRange (SCTAB nTab)
 
SC_DLLPUBLIC const ScRangeGetRepeatRowRange (SCTAB nTab)
 
bool IsPrintEntireSheet (SCTAB nTab) const
 Returns true, if the specified sheet is always printed. More...
 
SC_DLLPUBLIC void ClearPrintRanges (SCTAB nTab)
 Removes all print ranges. More...
 
SC_DLLPUBLIC void AddPrintRange (SCTAB nTab, const ScRange &rNew)
 Adds a new print ranges. More...
 
SC_DLLPUBLIC void SetPrintEntireSheet (SCTAB nTab)
 Marks the specified sheet to be printed completely. More...
 
SC_DLLPUBLIC void SetRepeatColRange (SCTAB nTab, std::unique_ptr< ScRange > pNew)
 
SC_DLLPUBLIC void SetRepeatRowRange (SCTAB nTab, std::unique_ptr< ScRange > pNew)
 
std::unique_ptr< ScPrintRangeSaverCreatePrintRangeSaver () const
 
void RestorePrintRanges (const ScPrintRangeSaver &rSaver)
 
SC_DLLPUBLIC tools::Rectangle GetMMRect (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
 
SC_DLLPUBLIC ScRange GetRange (SCTAB nTab, const tools::Rectangle &rMMRect, bool bHiddenAsZero=true) const
 
void UpdStlShtPtrsFrmNms ()
 
void StylesToNames ()
 
SC_DLLPUBLIC void CopyStdStylesFrom (const ScDocument *pSrcDoc)
 
void SetSrcCharSet (rtl_TextEncoding eNew)
 
void UpdateFontCharSet ()
 
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 SvNumberFormatterGetFormatTable () const
 
void Sort (SCTAB nTab, const ScSortParam &rSortParam, bool bKeepQuery, bool bUpdateRefs, ScProgress *pProgress, sc::ReorderParam *pUndo)
 Sort a range of data. More...
 
void Reorder (const sc::ReorderParam &rParam)
 
SCSIZE Query (SCTAB nTab, const ScQueryParam &rQueryParam, bool bKeepSub)
 
SC_DLLPUBLIC bool CreateQueryParam (const ScRange &rRange, ScQueryParam &rQueryParam)
 
void GetUpperCellString (SCCOL nCol, SCROW nRow, SCTAB nTab, OUString &rStr)
 
void GetFilterEntries (SCCOL nCol, SCROW nRow, SCTAB nTab, ScFilterEntries &rFilterEntries)
 Get a list of unique strings to use in filtering criteria. More...
 
SC_DLLPUBLIC void GetFilterEntriesArea (SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bCaseSens, ScFilterEntries &rFilterEntries)
 Entries for Filter dialog. More...
 
void GetDataEntries (SCCOL nCol, SCROW nRow, SCTAB nTab, std::vector< ScTypedStrData > &rStrings, bool bLimit=false)
 Entries for selection list listbox (no numbers/formulas) More...
 
void GetFormulaEntries (ScTypedCaseStrSet &rStrings)
 Entries for Formula auto input. More...
 
bool HasAutoFilter (SCCOL nCol, SCROW nRow, SCTAB nTab)
 
void GetFilterSelCount (SCCOL nCol, SCROW nRow, SCTAB nTab, SCSIZE &nSelected, SCSIZE &nTotal)
 
SC_DLLPUBLIC bool HasColHeader (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
 
SC_DLLPUBLIC bool HasRowHeader (SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
 
SfxPrinterGetPrinter (bool bCreateIfNotExist=true)
 
void SetPrinter (VclPtr< SfxPrinter > const &pNewPrinter)
 
VirtualDeviceGetVirtualDevice_100th_mm ()
 
SC_DLLPUBLIC OutputDeviceGetRefDevice ()
 
bool GetNextSpellingCell (SCCOL &nCol, SCROW &nRow, SCTAB nTab, bool bInSel, const ScMarkData &rMark) const
 
void ReplaceStyle (const SvxSearchItem &rSearchItem, SCCOL nCol, SCROW nRow, SCTAB nTab, const ScMarkData &rMark)
 
void InvalidateTextWidth (const OUString &rStyleName)
 
void InvalidateTextWidth (SCTAB nTab)
 
void InvalidateTextWidth (const ScAddress *pAdrFrom, const ScAddress *pAdrTo, bool bNumFormatChanged)
 
bool IdleCalcTextWidth ()
 
void RepaintRange (const ScRange &rRange)
 
void RepaintRange (const ScRangeList &rRange)
 
bool IsIdleEnabled () const
 
void EnableIdle (bool bDo)
 
bool IsDetectiveDirty () const
 
void SetDetectiveDirty (bool bSet)
 
bool HasLinkFormulaNeedingCheck () const
 
void SetLinkFormulaNeedingCheck (bool bSet)
 
SC_DLLPUBLIC void CheckLinkFormulaNeedingCheck (const ScTokenArray &rCode)
 Check token array and set link check if ocDde/ocWebservice is contained. More...
 
void SetRangeOverflowType (ErrCode nType)
 
bool HasRangeOverflow () const
 
SC_DLLPUBLIC const ErrCodeGetRangeOverflowType () const
 
void SetInsertingFromOtherDoc (bool bVal)
 
bool IsInsertingFromOtherDoc () const
 
void SetLoadingMedium (bool bVal)
 
SC_DLLPUBLIC void SetImportingXML (bool bVal)
 
bool IsImportingXML () const
 
bool IsCalcingAfterLoad () const
 
void SetNoListening (bool bVal)
 
bool GetNoListening () const
 
ScBroadcastAreaSlotMachineGetBASM () const
 
SC_DLLPUBLIC ScChartListenerCollectionGetChartListenerCollection () const
 
void SetChartListenerCollection (std::unique_ptr< ScChartListenerCollection >, bool bSetChartRangeLists)
 
void UpdateChart (const OUString &rName)
 
void RestoreChartListener (const OUString &rName)
 
SC_DLLPUBLIC void UpdateChartListenerCollection ()
 
bool IsChartListenerCollectionNeedsUpdate () const
 
void SetChartListenerCollectionNeedsUpdate (bool bFlg)
 
void AddOLEObjectToCollection (const OUString &rName)
 
ScChangeViewSettingsGetChangeViewSettings () const
 
SC_DLLPUBLIC void SetChangeViewSettings (const ScChangeViewSettings &rNew)
 
const std::shared_ptr< SvxForbiddenCharactersTable > & GetForbiddenCharacters () const
 
void SetForbiddenCharacters (const std::shared_ptr< SvxForbiddenCharactersTable > &rNew)
 
CharCompressType GetAsianCompression () const
 
bool IsValidAsianCompression () const
 
void SetAsianCompression (CharCompressType nNew)
 
bool GetAsianKerning () const
 
bool IsValidAsianKerning () const
 
void SetAsianKerning (bool bNew)
 
void ApplyAsianEditSettings (ScEditEngineDefaulter &rEngine)
 
EEHorizontalTextDirection GetEditTextDirection (SCTAB nTab) const
 
SC_DLLPUBLIC ScLkUpdMode GetLinkMode () const
 
void SetLinkMode (ScLkUpdMode nSet)
 
SC_DLLPUBLIC ScMacroManagerGetMacroManager ()
 
void FillMatrix (ScMatrix &rMat, SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool *pPool=nullptr) const
 
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. More...
 
const ScDocumentThreadSpecificCalculateInColumnInThread (ScInterpreterContext &rContext, const ScRange &rCalcRange, unsigned nThisThread, unsigned nThreadsTotal)
 
void HandleStuffAfterParallelCalculation (SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, SCTAB nTab, ScInterpreter *pInterpreter)
 
void TransferCellValuesTo (const ScAddress &rTopPos, size_t nLen, sc::CellValues &rDest)
 Transfer a series of contiguous cell values from specified position to the passed container. More...
 
void CopyCellValuesFrom (const ScAddress &rTopPos, const sc::CellValues &rSrc)
 
std::set< ColorGetDocColors ()
 
sc::IconSetBitmapMapGetIconSetBitmapMap ()
 
void StartListeningArea (const ScRange &rRange, bool bGroupListening, SvtListener *pListener)
 
void EndListeningArea (const ScRange &rRange, bool bGroupListening, SvtListener *pListener)
 
void Broadcast (const ScHint &rHint)
 Broadcast wrapper, calls rHint.GetCell()->Broadcast() and AreaBroadcast() and TrackFormulas() Preferred. More...
 
void BroadcastCells (const ScRange &rRange, SfxHintId nHint, bool bBroadcastSingleBroadcasters=true)
 
void AreaBroadcast (const ScHint &rHint)
 only area, no cell broadcast More...
 
void DelBroadcastAreasInRange (const ScRange &rRange)
 
void UpdateBroadcastAreas (UpdateRefMode eUpdateRefMode, const ScRange &rRange, SCCOL nDx, SCROW nDy, SCTAB nDz)
 
void StartListeningCell (const ScAddress &rAddress, SvtListener *pListener)
 
void EndListeningCell (const ScAddress &rAddress, SvtListener *pListener)
 
void StartListeningCell (sc::StartListeningContext &rCxt, const ScAddress &rPos, SvtListener &rListener)
 
void EndListeningCell (sc::EndListeningContext &rCxt, const ScAddress &rPos, SvtListener &rListener)
 
void EndListeningFormulaCells (std::vector< ScFormulaCell * > &rCells)
 
void PutInFormulaTree (ScFormulaCell *pCell)
 
void RemoveFromFormulaTree (ScFormulaCell *pCell)
 
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. More...
 
void ClearFormulaTree ()
 
void AppendToFormulaTrack (ScFormulaCell *pCell)
 
void RemoveFromFormulaTrack (ScFormulaCell *pCell)
 
void TrackFormulas (SfxHintId nHintId=SfxHintId::ScDataChanged)
 
void SetTrackFormulasPending ()
 
bool IsTrackFormulasPending () const
 
void FinalTrackFormulas (SfxHintId nHintId)
 
bool IsFinalTrackFormulas () const
 
bool IsInFormulaTree (const ScFormulaCell *pCell) const
 
bool IsInFormulaTrack (const ScFormulaCell *pCell) const
 
HardRecalcState GetHardRecalcState () const
 
void SetHardRecalcState (HardRecalcState eVal)
 
void StartAllListeners ()
 
void StartNeededListeners ()
 
void StartNeededListeners (const std::shared_ptr< const sc::ColumnSet > &rpColSet)
 
void StartAllListeners (const ScRange &rRange)
 
void SetForcedFormulas (bool bVal)
 
sal_uLong GetFormulaCodeInTree () const
 
bool IsInInterpreter () const
 
void IncInterpretLevel ()
 
void DecInterpretLevel ()
 
sal_uInt16 GetMacroInterpretLevel () const
 
void IncMacroInterpretLevel ()
 
void DecMacroInterpretLevel ()
 
bool IsInInterpreterTableOp () const
 
void IncInterpreterTableOpLevel ()
 
void DecInterpreterTableOpLevel ()
 
void AddTableOpFormulaCell (ScFormulaCell *)
 
void InvalidateLastTableOpParams ()
 
ScRecursionHelperGetRecursionHelper ()
 
bool IsInDtorClear () const
 
void SetExpandRefs (bool bVal)
 
bool IsExpandRefs () const
 
sal_uLong GetXMLImportedFormulaCount () const
 
void IncXMLImportedFormulaCount (sal_uLong nVal)
 
void DecXMLImportedFormulaCount (sal_uLong nVal)
 
void StartTrackTimer ()
 
void CompileDBFormula ()
 
void CompileColRowNameFormula ()
 
sal_Int32 GetMaxStringLen (SCTAB nTab, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet) const
 Maximum string length of a column, e.g. More...
 
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. More...
 
void KeyInput ()
 
ScChangeTrackGetChangeTrack () const
 
SC_DLLPUBLIC void SetChangeTrack (std::unique_ptr< ScChangeTrack > pTrack)
 only for import filter, deletes any existing ChangeTrack via EndChangeTracking() and takes ownership of new ChangeTrack pTrack More...
 
void StartChangeTracking ()
 
void EndChangeTracking ()
 
SC_DLLPUBLIC void CompareDocument (ScDocument &rOtherDoc)
 
void AddUnoObject (SfxListener &rObject)
 
void RemoveUnoObject (SfxListener &rObject)
 
void BroadcastUno (const SfxHint &rHint)
 
void AddUnoListenerCall (const css::uno::Reference< css::util::XModifyListener > &rListener, const css::lang::EventObject &rEvent)
 
void SetInLinkUpdate (bool bSet)
 
bool IsInLinkUpdate () const
 
SC_DLLPUBLIC SfxItemPoolGetEditPool () const
 
SC_DLLPUBLIC SfxItemPoolGetEnginePool () const
 
SC_DLLPUBLIC ScFieldEditEngineGetEditEngine ()
 
SC_DLLPUBLIC ScNoteEditEngineGetNoteEngine ()
 
std::unique_ptr< ScRefreshTimerControl > const & GetRefreshTimerControlAddress () const
 
void SetPastingDrawFromOtherDoc (bool bVal)
 
bool PastingDrawFromOtherDoc () const
 
sal_uInt32 GetDocumentID () const
 an ID unique to each document instance More...
 
void InvalidateStyleSheetUsage ()
 
void SC_DLLPUBLIC GetSortParam (ScSortParam &rParam, SCTAB nTab)
 
void SC_DLLPUBLIC SetSortParam (const ScSortParam &rParam, SCTAB nTab)
 
void SetVbaEventProcessor (const css::uno::Reference< css::script::vba::XVBAEventProcessor > &rxVbaEvents)
 
const css::uno::Reference< css::script::vba::XVBAEventProcessor > & GetVbaEventProcessor () const
 
void SetStorageGrammar (formula::FormulaGrammar::Grammar eGrammar)
 Should only be GRAM_PODF or GRAM_ODFF. More...
 
formula::FormulaGrammar::Grammar GetStorageGrammar () const
 
SC_DLLPUBLIC SfxUndoManagerGetUndoManager ()
 
bool IsInVBAMode () const
 
ScRowBreakIteratorGetRowBreakIterator (SCTAB nTab) const
 
void AddSubTotalCell (ScFormulaCell *pCell)
 
void RemoveSubTotalCell (ScFormulaCell *pCell)
 
void SetSubTotalCellsDirty (const ScRange &rDirtyRange)
 
sal_uInt16 GetTextWidth (const ScAddress &rPos) const
 
SvtScriptType GetScriptType (const ScAddress &rPos) const
 
void SetScriptType (const ScAddress &rPos, SvtScriptType nType)
 
void UpdateScriptTypes (const ScAddress &rPos, SCCOL nColSize, SCROW nRowSize)
 
size_t GetFormulaHash (const ScAddress &rPos) const
 
void UnshareFormulaCells (SCTAB nTab, SCCOL nCol, std::vector< SCROW > &rRows)
 Make specified formula cells non-grouped. More...
 
void RegroupFormulaCells (SCTAB nTab, SCCOL nCol)
 
void RegroupFormulaCells (const ScRange &range)
 
ScFormulaVectorState GetFormulaVectorState (const ScAddress &rPos) const
 
formula::FormulaTokenRef ResolveStaticReference (const ScAddress &rPos)
 
formula::FormulaTokenRef ResolveStaticReference (const ScRange &rRange)
 
formula::VectorRefArray FetchVectorRefArray (const ScAddress &rPos, SCROW nLength)
 
bool HandleRefArrayForParallelism (const ScAddress &rPos, SCROW nLength, const ScFormulaCellGroupRef &mxGroup)
 
void AssertNoInterpretNeeded (const ScAddress &rPos, SCROW nLength)
 
void PrepareFormulaCalc ()
 Call this before any operations that might trigger one or more formula cells to get calculated. More...
 
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. More...
 
SvtBroadcasterGetBroadcaster (const ScAddress &rPos)
 
const SvtBroadcasterGetBroadcaster (const ScAddress &rPos) const
 
void DeleteBroadcasters (sc::ColumnBlockPosition &rBlockPos, const ScAddress &rTopPos, SCROW nLength)
 
std::unique_ptr< sc::ColumnIteratorGetColumnIterator (SCTAB nTab, SCCOL nCol, SCROW nRow1, SCROW nRow2) const
 
void CreateColumnIfNotExists (SCTAB nTab, SCCOL nCol)
 
SC_DLLPUBLIC void StoreTabToCache (SCTAB nTab, SvStream &rStrm) const
 
SC_DLLPUBLIC void RestoreTabFromCache (SCTAB nTab, SvStream &rStream)
 
SC_DLLPUBLIC void DumpColumnStorage (SCTAB nTab, SCCOL nCol) const
 
SC_DLLPUBLIC void SetCalcConfig (const ScCalcConfig &rConfig)
 
const ScCalcConfigGetCalcConfig () const
 
void ConvertFormulaToValue (const ScRange &rRange, sc::TableValues *pUndo)
 
void SwapNonEmpty (sc::TableValues &rValues)
 
void finalizeOutlineImport ()
 
bool TableExists (SCTAB nTab) const
 
SC_DLLPUBLIC ScColumnsRange GetColumnsRange (SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const
 
bool IsInDocShellRecalc () const
 
void SetDocShellRecalc (bool bSet)
 

Static Public Member Functions

static void SetupFromNonThreadedContext (ScInterpreterContext &threadedContext, int threadNumber)
 
static SC_DLLPUBLIC bool ValidTabName (const OUString &rName)
 
static bool IsChart (const SdrObject *pObject)
 
static sal_uInt16 GetSrcVersion ()
 

Public Attributes

std::vector< ScInterpreterTableOpParams * > m_TableOpList
 list of ScInterpreterTableOpParams currently in use More...
 
ScInterpreterTableOpParams aLastTableOpParams
 

Private Types

typedef std::vector< ScTableUniquePtrTableContainer
 

Private Member Functions

 ScDocument (const ScDocument &r)=delete
 
void FindMaxRotCol (SCTAB nTab, RowInfo *pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2) const
 
sal_uInt16 RowDifferences (SCROW nThisRow, SCTAB nThisTab, ScDocument &rOtherDoc, SCROW nOtherRow, SCTAB nOtherTab, SCCOL nMaxCol, const SCCOLROW *pOtherCols)
 
sal_uInt16 ColDifferences (SCCOL nThisCol, SCTAB nThisTab, ScDocument &rOtherDoc, SCCOL nOtherCol, SCTAB nOtherTab, SCROW nMaxRow, const SCCOLROW *pOtherRows)
 
void FindOrder (SCCOLROW *pOtherRows, SCCOLROW nThisEndRow, SCCOLROW nOtherEndRow, bool bColumns, ScDocument &rOtherDoc, SCTAB nThisTab, SCTAB nOtherTab, SCCOLROW nEndCol, const SCCOLROW *pTranslate, ScProgress *pProgress, sal_uLong nProAdd)
 
 DECL_LINK (TrackTimeHdl, Timer *, void)
 
bool LimitRangeToAvailableSheets (const ScRange &rRange, ScRange &o_rRange, bool &o_bEntirelyOutOfBounds) const
 Adjust a range to available sheets. More...
 
ScTableFetchTable (SCTAB nTab)
 
const ScTableFetchTable (SCTAB nTab) const
 
void MergeNumberFormatter (const ScDocument *pSrcDoc)
 
void ImplCreateOptions ()
 
void ImplDeleteOptions ()
 
void DeleteDrawLayer ()
 
SC_DLLPUBLIC bool DrawGetPrintArea (ScRange &rRange, bool bSetHor, bool bSetVer) const
 
void UpdateDrawPrinter ()
 
void UpdateDrawLanguages ()
 
SC_DLLPUBLIC void InitClipPtrs (ScDocument *pSourceDoc)
 
void LoadDdeLinks (SvStream &rStream)
 
void SaveDdeLinks (SvStream &rStream) const
 
void DeleteAreaLinksOnTab (SCTAB nTab)
 
void UpdateRefAreaLinks (UpdateRefMode eUpdateRefMode, const ScRange &r, SCCOL nDx, SCROW nDy, SCTAB nDz)
 
void CopyRangeNamesToClip (ScDocument *pClipDoc, const ScRange &rClipRange, const ScMarkData *pMarks)
 
bool HasPartOfMerged (const ScRange &rRange)
 
ScRefCellValue GetRefCellValue (const ScAddress &rPos)
 
ScRefCellValue GetRefCellValue (const ScAddress &rPos, sc::ColumnBlockPosition &rBlockPos)
 
SCSIZE GetPatternCount (SCTAB nTab, SCCOL nCol) const
 
SCSIZE GetPatternCount (SCTAB nTab, SCCOL nCol, SCROW nRow1, SCROW nRow2) const
 
void ReservePatternCount (SCTAB nTab, SCCOL nCol, SCSIZE nReserve)
 
void SharePooledResources (const ScDocument *pSrcDoc)
 
void EndListeningIntersectedGroup (sc::EndListeningContext &rCxt, const ScAddress &rPos, std::vector< ScAddress > *pGroupPos)
 
void EndListeningIntersectedGroups (sc::EndListeningContext &rCxt, const ScRange &rRange, std::vector< ScAddress > *pGroupPos)
 
void EndListeningGroups (const std::vector< ScAddress > &rPosArray)
 
void SetNeedsListeningGroups (const std::vector< ScAddress > &rPosArray)
 

Static Private Member Functions

static ScRecursionHelperCreateRecursionHelperInstance ()
 

Private Attributes

rtl::Reference< ScPoolHelpermxPoolHelper
 
std::shared_ptr< svl::SharedStringPoolmpCellStringPool
 
std::unique_ptr< sc::DocumentLinkManagermpDocLinkMgr
 
std::shared_ptr< sc::FormulaGroupContextmpFormulaGroupCxt
 
bool mbFormulaGroupCxtBlockDiscard
 
ScCalcConfig maCalcConfig
 
SfxUndoManagermpUndoManager
 
std::unique_ptr< ScFieldEditEnginempEditEngine
 
std::unique_ptr< ScNoteEditEnginempNoteEngine
 
SfxObjectShellmpShell
 
VclPtr< SfxPrintermpPrinter
 
VclPtr< VirtualDevicempVirtualDevice_100th_mm
 
std::unique_ptr< ScDrawLayermpDrawLayer
 
rtl::Reference< XColorListpColorList
 
std::unique_ptr< ScValidationDataListpValidationList
 
SvNumberFormatterIndexTablepFormatExchangeList
 
TableContainer maTabs
 
rtl::Reference< ScSheetLimitsmxSheetLimits
 
std::vector< OUString > maTabNames
 
std::unique_ptr< ScRangeNamepRangeName
 
std::unique_ptr< ScDBCollectionpDBCollection
 
std::unique_ptr< ScDPCollectionpDPCollection
 
std::unique_ptr< ScTemporaryChartLockapTemporaryChartLock
 
std::unique_ptr< ScPatternAttrpSelectionAttr
 
ScFormulaCellpFormulaTree
 
ScFormulaCellpEOFormulaTree
 
ScFormulaCellpFormulaTrack
 
ScFormulaCellpEOFormulaTrack
 
std::unique_ptr< ScBroadcastAreaSlotMachinepBASM
 
std::unique_ptr< ScChartListenerCollectionpChartListenerCollection
 
std::unique_ptr< SvMemoryStreampClipData
 
std::unique_ptr< ScDetOpListpDetOpList
 
std::unique_ptr< ScChangeTrackpChangeTrack
 
std::unique_ptr< SfxBroadcasterpUnoBroadcaster
 
std::unique_ptr< ScUnoListenerCallspUnoListenerCalls
 
std::unique_ptr< ScUnoRefListpUnoRefUndoList
 
std::unique_ptr< ScChangeViewSettingspChangeViewSettings
 
std::unique_ptr< ScScriptTypeDatapScriptTypeData
 
std::unique_ptr< ScRefreshTimerControlpRefreshTimerControl
 
std::shared_ptr< SvxForbiddenCharactersTablexForbiddenCharacters
 
std::unique_ptr< ScDBDatampAnonymousDBData
 
std::unique_ptr< sc::ExternalDataMappermpDataMapper
 
std::unique_ptr< ScFieldEditEnginepCacheFieldEditEngine
 
std::unique_ptr< ScDocProtectionpDocProtection
 
std::unique_ptr< ScClipParammpClipParam
 
std::unique_ptr< ScExternalRefManagerpExternalRefMgr
 
std::unique_ptr< ScMacroManagermpMacroMgr
 
std::unique_ptr< ScFormulaParserPoolmxFormulaParserPool
 
OUString aDocName
 Pool for all external formula parsers used by this document. More...
 
OUString aDocCodeName
 
OUString maFileURL
 
ScRangePairListRef xColNameRanges
 
ScRangePairListRef xRowNameRanges
 
std::unique_ptr< ScViewOptionspViewOptions
 
std::unique_ptr< ScDocOptionspDocOptions
 
std::unique_ptr< ScExtDocOptionspExtDocOptions
 
std::unique_ptr< ScClipOptionsmpClipOptions
 
std::unique_ptr< ScConsolidateParampConsolidateDlgData
 
std::unique_ptr< ScAutoNameCachepAutoNameCache
 
std::unique_ptr< SfxItemSetpPreviewFont
 
ScStyleSheetpPreviewCellStyle
 
ScMarkData maPreviewSelection
 
sal_Int64 nUnoObjectId
 
ErrCode nRangeOverflowType
 
ScRange aEmbedRange
 
ScAddress aCurTextWidthCalcPos
 
Idle aTrackIdle
 
css::uno::Reference< css::script::vba::XVBAEventProcessor > mxVbaEvents
 
LanguageType eLanguage
 
LanguageType eCjkLanguage
 
LanguageType eCtlLanguage
 
rtl_TextEncoding eSrcSet
 
formula::FormulaGrammar::Grammar eStorageGrammar
 The compiler grammar used in document storage. More...
 
sal_uLong nFormulaCodeInTree
 
sal_uLong nXMLImportedFormulaCount
 
sal_uInt16 nInterpretLevel
 
sal_uInt16 nMacroInterpretLevel
 
sal_uInt16 nInterpreterTableOpLevel
 
ScDocumentThreadSpecific maNonThreaded
 
ScInterpreterContext maInterpreterContext
 
osl::Mutex mScLookupMutex
 
sal_uInt16 nFormulaTrackCount
 
HardRecalcState eHardRecalcState
 
SCTAB nVisibleTab
 
SCCOL nPosLeft
 
SCROW nPosTop
 
ScLkUpdMode eLinkMode
 
bool bAutoCalc
 
bool bAutoCalcShellDisabled
 
bool bForcedFormulaPending
 
bool bCalculatingFormulaTree
 
bool bIsClip
 
bool bIsUndo
 
bool bIsFunctionAccess
 
bool bIsVisible
 
bool bIsEmbedded
 
bool bInsertingFromOtherDoc
 
bool bLoadingMedium
 
bool bImportingXML
 
bool bCalcingAfterLoad
 
bool bNoListening
 
bool mbIdleEnabled
 
bool bInLinkUpdate
 
bool bChartListenerCollectionNeedsUpdate
 
bool bHasForcedFormulas
 
bool bInDtorClear
 
bool bExpandRefs
 
bool bDetectiveDirty
 
std::unique_ptr< ScRangepDelayedFormulaGrouping
 
bool bLinkFormulaNeedingCheck
 
CharCompressType nAsianCompression
 
sal_uInt8 nAsianKerning
 
bool bPastingDrawFromOtherDoc
 
sal_uInt8 nInDdeLinkUpdate
 
bool bInUnoBroadcast
 
bool bInUnoListenerCall
 
sal_uInt32 nAdjustHeightLock
 
formula::FormulaGrammar::Grammar eGrammar
 
bool bStyleSheetUsageInvalid
 
bool mbUndoEnabled:1
 
bool mbExecuteLinkEnabled:1
 
bool mbChangeReadOnlyEnabled:1
 
bool mbStreamValidLocked:1
 
bool mbUserInteractionEnabled:1
 
sal_Int16 mnNamedRangesLockCount
 
std::set< ScFormulaCell * > maSubTotalCells
 
bool mbEmbedFonts: 1
 
bool mbEmbedUsedFontsOnly: 1
 
bool mbEmbedFontScriptLatin: 1
 
bool mbEmbedFontScriptAsian: 1
 
bool mbEmbedFontScriptComplex: 1
 
std::unique_ptr< sc::IconSetBitmapMapm_pIconSetBitmapMap
 
bool mbTrackFormulasPending: 1
 
bool mbFinalTrackFormulas: 1
 
bool mbDocShellRecalc: 1
 
size_t mnMutationGuardFlags
 
std::map< SCTAB, ScSortParammSheetSortParams
 

Static Private Attributes

static thread_local ScDocumentThreadSpecific maThreadSpecific
 
static const sal_uInt16 nSrcVer = SC_CURRENT_VERSION
 

Friends

class ScValueIterator
 
class ScHorizontalValueIterator
 
class ScDBQueryDataIterator
 
class ScFormulaGroupIterator
 
class ScCellIterator
 
class ScQueryCellIterator
 
class ScCountIfCellIterator
 
class ScHorizontalCellIterator
 
class ScHorizontalAttrIterator
 
class ScDocAttrIterator
 
class ScAccessibleTableBase
 
class ScAttrRectIterator
 
class ScDocShell
 
class ScDocRowHeightUpdater
 
class ScColumnTextWidthIterator
 
class ScFormulaCell
 
class ScTable
 
class ScColumn
 
struct ScRefCellValue
 
class ScDocumentImport
 
class sc::DocumentStreamAccess
 
class sc::ColumnSpanSet
 
class sc::RangeColumnSpanSet
 
class sc::EditTextIterator
 
class sc::FormulaGroupAreaListener
 
class sc::TableColumnBlockPositionSet
 
struct ScMutationGuard
 
struct ScMutationDisable
 

Detailed Description

Definition at line 313 of file document.hxx.

Member Typedef Documentation

typedef std::vector<ScTableUniquePtr> ScDocument::TableContainer
private

Definition at line 344 of file document.hxx.

Member Enumeration Documentation

Enumerator
OFF 
TEMPORARY 

normal calculation of dependencies

ETERNAL 

CalcAll() without broadcast/notify but setting up new listeners.

no new listeners are setup, no broadcast/notify

Definition at line 347 of file document.hxx.

Constructor & Destructor Documentation

ScDocument::ScDocument ( ScDocumentMode  eMode = SCDOCMODE_DOCUMENT,
SfxObjectShell pDocShell = nullptr 
)
ScDocument::~ScDocument ( )
ScDocument::ScDocument ( const ScDocument r)
privatedelete

Member Function Documentation

sal_uLong ScDocument::AddCondFormat ( std::unique_ptr< ScConditionalFormat pNew,
SCTAB  nTab 
)
void ScDocument::AddCondFormatData ( const ScRangeList rRange,
SCTAB  nTab,
sal_uInt32  nIndex 
)
void ScDocument::AddDelayedFormulaGroupingCell ( const ScFormulaCell cell)

To be used only by SharedFormulaUtil::joinFormulaCells().

Definition at line 392 of file document10.cxx.

References ScFormulaCell::aPos, and pDelayedFormulaGrouping.

Referenced by sc::SharedFormulaUtil::joinFormulaCells().

void ScDocument::AddDetectiveOperation ( const ScDetOpData rData)
void ScDocument::AddOLEObjectToCollection ( const OUString &  rName)

Definition at line 644 of file documen5.cxx.

References pChartListenerCollection.

Referenced by ScMyOLEFixer::CreateChartListener().

void ScDocument::AddPrintRange ( SCTAB  nTab,
const ScRange rNew 
)

Adds a new print ranges.

Definition at line 6305 of file document.cxx.

References maTabs, and ValidTab().

Referenced by ImportExcel::PostDocLoad(), ScTableSheetObj::setPrintAreas(), and ScViewFunc::SetPrintRanges().

void ScDocument::AddSubTotalCell ( ScFormulaCell pCell)
void ScDocument::AddTableOpFormulaCell ( ScFormulaCell pCell)
void ScDocument::AddUndoTab ( SCTAB  nTab1,
SCTAB  nTab2,
bool  bColInfo = false,
bool  bRowInfo = false 
)

Definition at line 2034 of file document.cxx.

References bIsUndo, maTabs, and ScTable.

void ScDocument::AddUnoListenerCall ( const css::uno::Reference< css::util::XModifyListener > &  rListener,
const css::lang::EventObject &  rEvent 
)
void ScDocument::AddUnoObject ( SfxListener rObject)

Definition at line 880 of file documen3.cxx.

References SfxListener::StartListening().

Referenced by ScTabViewShell::AddAccessibilityObject(), ScStyleObj::InitDoc(), ScCellRangesBase::InitInsertRange(), sc::PivotTableDataSequence::PivotTableDataSequence(), ScAccessibleHeaderTextData::ScAccessibleHeaderTextData(), ScAccessibleNoteTextData::ScAccessibleNoteTextData(), ScAddressConversionObj::ScAddressConversionObj(), ScAnnotationEditSource::ScAnnotationEditSource(), ScAreaLinkObj::ScAreaLinkObj(), ScAreaLinksObj::ScAreaLinksObj(), ScCellFieldsObj::ScCellFieldsObj(), ScCellFormatsEnumeration::ScCellFormatsEnumeration(), ScCellFormatsObj::ScCellFormatsObj(), ScCellRangesBase::ScCellRangesBase(), ScCellsEnumeration::ScCellsEnumeration(), ScCellsObj::ScCellsObj(), ScCellTextData::ScCellTextData(), ScChart2DataProvider::ScChart2DataProvider(), ScChart2DataSource::ScChart2DataSource(), ScChartObj::ScChartObj(), ScCondFormatsObj::ScCondFormatsObj(), ScDatabaseRangeObj::ScDatabaseRangeObj(), ScDatabaseRangesObj::ScDatabaseRangesObj(), ScDataPilotDescriptorBase::ScDataPilotDescriptorBase(), ScDataPilotTablesObj::ScDataPilotTablesObj(), ScDDELinkObj::ScDDELinkObj(), ScDDELinksObj::ScDDELinksObj(), ScDocumentConfiguration::ScDocumentConfiguration(), ScDrawDefaultsObj::ScDrawDefaultsObj(), ScDrawPagesObj::ScDrawPagesObj(), ScFilterDescriptorBase::ScFilterDescriptorBase(), ScForbiddenCharsObj::ScForbiddenCharsObj(), ScLabelRangeObj::ScLabelRangeObj(), ScLabelRangesObj::ScLabelRangesObj(), ScLinkTargetTypeObj::ScLinkTargetTypeObj(), ScModelObj::ScModelObj(), ScNamedRangeObj::ScNamedRangeObj(), ScNamedRangesObj::ScNamedRangesObj(), ScScenariosObj::ScScenariosObj(), ScSheetLinksObj::ScSheetLinksObj(), ScStyleFamiliesObj::ScStyleFamiliesObj(), ScStyleFamilyObj::ScStyleFamilyObj(), ScStyleObj::ScStyleObj(), ScTableColumnsObj::ScTableColumnsObj(), ScTableSheetsObj::ScTableSheetsObj(), ScUniqueCellFormatsEnumeration::ScUniqueCellFormatsEnumeration(), ScUniqueCellFormatsObj::ScUniqueCellFormatsObj(), and ScUnnamedDatabaseRangesObj::ScUnnamedDatabaseRangesObj().

void ScDocument::AddUnoRefChange ( sal_Int64  nId,
const ScRangeList rOldRanges 
)

Definition at line 981 of file documen3.cxx.

Referenced by ScChart2DataSequence::Notify(), and ScCellRangesBase::Notify().

sal_uLong ScDocument::AddValidationEntry ( const ScValidationData rNew)
void ScDocument::AppendTabOnLoad ( const OUString &  rName)

Definition at line 471 of file document.cxx.

References aName, CreateValidTabName(), maTabs, ScTable, and ValidTab().

Referenced by ScMyTables::NewSheet().

void ScDocument::AppendToFormulaTrack ( ScFormulaCell pCell)
void ScDocument::ApplyAsianEditSettings ( ScEditEngineDefaulter rEngine)
void ScDocument::ApplyAttr ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab,
const SfxPoolItem rAttr 
)
bool ScDocument::ApplyFlagsTab ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
SCTAB  nTab,
ScMF  nFlags 
)
void ScDocument::ApplyFrameAreaTab ( const ScRange rRange,
const SvxBoxItem rLineOuter,
const SvxBoxInfoItem rLineInner 
)
void ScDocument::ApplyPattern ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab,
const ScPatternAttr rAttr 
)
void ScDocument::ApplyPatternArea ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
const ScMarkData rMark,
const ScPatternAttr rAttr,
ScEditDataArray pDataArray = nullptr,
bool *const  pIsChanged = nullptr 
)

Definition at line 4771 of file document.cxx.

References maTabs.

Referenced by ApplySelectionPattern(), ScDocFunc::DeleteCells(), and ScUndoDeleteCells::DoChange().

void ScDocument::ApplyPatternAreaTab ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
SCTAB  nTab,
const ScPatternAttr rAttr 
)
void ScDocument::ApplyPatternIfNumberformatIncompatible ( const ScRange rRange,
const ScMarkData rMark,
const ScPatternAttr rPattern,
SvNumFormatType  nNewType 
)

Definition at line 4796 of file document.cxx.

References maTabs.

Referenced by ScViewFunc::EnterBlock().

void ScDocument::ApplySelectionFrame ( const ScMarkData rMark,
const SvxBoxItem rLineOuter,
const SvxBoxInfoItem pLineInner 
)
void ScDocument::ApplySelectionLineStyle ( const ScMarkData rMark,
const ::editeng::SvxBorderLine pLine,
bool  bColorOnly 
)

Definition at line 4884 of file document.cxx.

References maTabs.

Referenced by ScViewFunc::SetSelectionFrameLines().

void ScDocument::ApplySelectionPattern ( const ScPatternAttr rAttr,
const ScMarkData rMark,
ScEditDataArray pDataArray = nullptr,
bool *  pIsChanged = nullptr 
)
void ScDocument::ApplySelectionStyle ( const ScStyleSheet rStyle,
const ScMarkData rMark 
)
void ScDocument::ApplyStyle ( SCCOL  nCol,
SCROW  nRow,
SCTAB  nTab,
const ScStyleSheet rStyle 
)

Definition at line 4831 of file document.cxx.

References maTabs, and ValidTab().

Referenced by ScViewFunc::SetStyleSheetToMarked().

void ScDocument::ApplyStyleArea ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
const ScMarkData rMark,
const ScStyleSheet rStyle 
)

Definition at line 4838 of file document.cxx.

References maTabs.

Referenced by ApplySelectionStyle().

void ScDocument::ApplyStyleAreaTab ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
SCTAB  nTab,
const ScStyleSheet rStyle 
)
void ScDocument::AreaBroadcast ( const ScHint rHint)

only area, no cell broadcast

Definition at line 190 of file documen7.cxx.

References eHardRecalcState, SfxHint::GetId(), OFF, pBASM, and TrackFormulas().

Referenced by ScColumn::MoveTo().

void ScDocument::AssertNoInterpretNeeded ( const ScAddress rPos,
SCROW  nLength 
)
void ScDocument::AutoFormat ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
sal_uInt16  nFormatNo,
const ScMarkData rMark 
)

Definition at line 1162 of file documen3.cxx.

References PutInOrder().

Referenced by ScDocFunc::AutoFormat(), and ScUndoAutoFormat::Redo().

void ScDocument::BeginDrawUndo ( )
void ScDocument::BeginUnoRefUndo ( )

Definition at line 969 of file documen3.cxx.

void ScDocument::BlockFormulaGroupContextDiscard ( bool  block)
inline

Definition at line 1177 of file document.hxx.

void ScDocument::Broadcast ( const ScHint rHint)
void ScDocument::BroadcastCells ( const ScRange rRange,
SfxHintId  nHint,
bool  bBroadcastSingleBroadcasters = true 
)
void ScDocument::BroadcastUno ( const SfxHint rHint)
void ScDocument::CalcAfterLoad ( bool  bStartListening = true)
void ScDocument::CalcAll ( )
void ScDocument::CalcFormulaTree ( bool  bOnlyForced = false,
bool  bProgressBar = true,
bool  bSetAllDirty = true 
)

Calculate formula cells that are on the formula tree either partially, or in full.

Parameters
bOnlyForcedwhen true, it only calculates those formula cells that are marked "recalc forced".
bProgressBarwhether or not to use progress bar.
bSetAllDirtywhen true, it marks all formula cells currently on the formula tree dirty, which forces all of them to be recalculated. When false, only those cells that are marked dirty prior to this call get recalculated.

Definition at line 326 of file documen7.cxx.

References bAutoCalc, bCalculatingFormulaTree, CalcAll(), CORE, ScProgress::CreateInterpretProgress(), ScProgress::DeleteInterpretProgress(), eHardRecalcState, EnableIdle(), ETERNAL, GetAutoCalc(), ScFormulaCell::GetCode(), ScFormulaCell::GetDirty(), ScFormulaCell::GetNext(), ScFormulaCell::GetPrevious(), ScFormulaCell::Interpret(), IsCalculatingFormulaTree(), IsIdleEnabled(), formula::FormulaTokenArray::IsRecalcModeAlways(), formula::FormulaTokenArray::IsRecalcModeForced(), mpFormulaGroupCxt, nFormulaCodeInTree, pFormulaTree, ScFormulaCell::SetDirty(), ScFormulaCell::SetDirtyVar(), and SetForcedFormulaPending().

Referenced by ScDocShell::DoRecalc(), SetAutoCalc(), ScDocShell::SetDocumentModified(), and TrackFormulas().

const ScDocumentThreadSpecific & ScDocument::CalculateInColumnInThread ( ScInterpreterContext rContext,
const ScRange rCalcRange,
unsigned  nThisThread,
unsigned  nThreadsTotal 
)
bool ScDocument::CanFitBlock ( const ScRange rOld,
const ScRange rNew 
)
bool ScDocument::CanInsertCol ( const ScRange rRange) const
bool ScDocument::CanInsertRow ( const ScRange rRange) const
void ScDocument::ChangeSelectionIndent ( bool  bIncrement,
const ScMarkData rMark 
)

Definition at line 5904 of file document.cxx.

References maTabs.

Referenced by ScDocFunc::ChangeIndent(), and ScUndoIndent::Redo().

void ScDocument::CheckLinkFormulaNeedingCheck ( const ScTokenArray rCode)
void ScDocument::CheckVectorizationState ( )

Definition at line 3823 of file document.cxx.

References a, bAutoCalc, GetAutoCalc(), maTabs, and SetAutoCalc().

Referenced by ScModelObj::enableOpenCL().

SCCOL ScDocument::ClampToAllocatedColumns ( SCTAB  nTab,
SCCOL  nCol 
) const
void ScDocument::Clear ( bool  bFromDestructor = false)

Definition at line 498 of file documen9.cxx.

References maTabs, mpDrawLayer, and pSelectionAttr.

Referenced by InitClipPtrs(), InitUndo(), InitUndoSelected(), and ~ScDocument().

void ScDocument::ClearDetectiveOperations ( )

Definition at line 895 of file documen4.cxx.

Referenced by ScDocFunc::DetectiveDelAll(), and ScUndoDetective::Redo().

void ScDocument::ClearFormulaTree ( )
void ScDocument::ClearLookupCaches ( )
void ScDocument::ClearPrintRanges ( SCTAB  nTab)
void ScDocument::ClearSelectionItems ( const sal_uInt16 *  pWhich,
const ScMarkData rMark 
)
void ScDocument::ClosingClipboardSource ( )

To be called at the clipboard document when closing a document that is the current clipboard source to decouple things from the originating document.

Done in ScDocument dtor after determining IsClipboardSource().

Definition at line 312 of file documen2.cxx.

References bIsClip, ForgetNoteCaptions(), GetTableCount(), MaxCol(), and MaxRow().

Referenced by ScDocShell::Notify().

sal_uInt16 ScDocument::ColDifferences ( SCCOL  nThisCol,
SCTAB  nThisTab,
ScDocument rOtherDoc,
SCCOL  nOtherCol,
SCTAB  nOtherTab,
SCROW  nMaxRow,
const SCCOLROW pOtherRows 
)
private
bool ScDocument::ColFiltered ( SCCOL  nCol,
SCTAB  nTab 
) const

Definition at line 4517 of file document.cxx.

References maTabs, and ValidTab().

Referenced by ScAccessibleCellBase::isVisible().

bool ScDocument::ColHidden ( SCCOL  nCol,
SCTAB  nTab,
SCCOL pFirstCol = nullptr,
SCCOL pLastCol = nullptr 
) const
void ScDocument::CompareDocument ( ScDocument rOtherDoc)
void ScDocument::CompileAll ( )

Definition at line 3959 of file document.cxx.

References a, maTabs, and SetAllFormulasDirty().

Referenced by ScRefUndoData::DoUndo().

void ScDocument::CompileColRowNameFormula ( )
void ScDocument::CompileDBFormula ( )
bool ScDocument::CompileErrorCells ( FormulaError  nErrCode)

Re-compile formula cells with error.

Parameters
nErrCodespecified error code to match. Only those cells with this error code will be re-compiled. If this value is 0, cells with any error values will be re-compiled.
Returns
true if at least one cell is re-compiled, false if no cells are re-compiled.

Definition at line 4012 of file document.cxx.

References a, and maTabs.

Referenced by ScModule::ModifyOptions().

void ScDocument::CompileHybridFormula ( )
void ScDocument::CompileXML ( )
bool ScDocument::ContainsNotesInRange ( const ScRangeList rRange) const

Definition at line 6779 of file document.cxx.

References ScRange::aEnd, ScRange::aStart, i, maTabs, ScRangeList::size(), and ScAddress::Tab().

Referenced by ScCellShell::GetState().

void ScDocument::ConvertFormulaToValue ( const ScRange rRange,
sc::TableValues pUndo 
)
bool ScDocument::CopyAdjustRangeName ( SCTAB rSheet,
sal_uInt16 &  rIndex,
ScRangeData *&  rpRangeData,
ScDocument rNewDoc,
const ScAddress rNewPos,
const ScAddress rOldPos,
const bool  bGlobalNamesToLocal,
const bool  bUsedByFormula 
) const

If necessary (name references sheet rOldPos.Tab()) copy and adjust named expression/range from sheet-local to sheet-local, or global to sheet-local if bGlobalNamesToLocal==true.

Also copies nested names and adjusts the ocName tokens of the calling name.

Parameters
rSheetOn entry, the original sheet of the named expression/range, <0 global. On return TRUE, the new sheet. Else unchanged.
rIndexOn entry, the original index of the named expression/range. On return TRUE, the new index, or 0 if a new copied name couldn't be inserted. Else unchanged.
rpRangeDataOn entry, the pointer to the original named expression/range. On return TRUE, the pointer to the new copied name, or nullptr if hits happened.
rNewPosNew position of formula cell if called for that, else new base position of a to be created new name adjusted for Tab. rNewPos.nTab MUST point to the new sheet copied to.
rOldPosOld position of formula cell if called for that, else base position of the existing name adjusted for Tab. rOldPos.nTab MUST point to the old sheet copied from.
bGlobalNamesToLocalIf TRUE, affected global names are copied to sheet-local names. If FALSE, global names are copied to global names in another document.
bUsedByFormulaIf TRUE, forces a global name to be affected/used. If FALSE, a global name is only affected if it evaluates to be referencing the sheet.
Returns
TRUE if copied and caller may need to evaluate rpRangeData and rSheet and rIndex. FALSE if nothing to be done.

Definition at line 737 of file document10.cxx.

References ScRangeName::findByIndex(), ScRangeName::findByUpperName(), FindRangeNamesReferencingSheet(), formula::FormulaTokenArrayPlainIterator::First(), formula::FormulaTokenArray::GetCode(), GetDocumentShell(), ScRangeData::GetIndex(), GetPool(), GetRangeName(), ScRangeData::GetUpperName(), IsClipboard(), IsClipOrUndo(), IsCutMode(), sc::UpdatedRangeNames::isEmpty(), formula::FormulaTokenArrayPlainIterator::Next(), condformat::dialog::NONE, ocName, p, SAL_WARN, SAL_WARN_IF, ScDocShell::SetAreasChangedNeedBroadcast(), and ScAddress::Tab().

Referenced by ScRangeName::CopyUsedNames().

void ScDocument::CopyBlockFromClip ( sc::CopyFromClipContext rCxt,
SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2,
const ScMarkData rMark,
SCCOL  nDx,
SCROW  nDy 
)
void ScDocument::CopyCellToDocument ( const ScAddress rSrcPos,
const ScAddress rDestPos,
ScDocument rDestDoc 
)

Copy only cell, nothing but cell to another document.

Parameters
rSrcPossource cell position
rDestPosdestination cell position
rDestDocdestination document

Definition at line 2265 of file document.cxx.

References ScAddress::Col(), ScTable::CopyCellToDocument(), maTabs, ScAddress::Row(), ScAddress::Tab(), and TableExists().

Referenced by ScConversionEngineBase::FindNextConversionCell().

void ScDocument::CopyCellValuesFrom ( const ScAddress rTopPos,
const sc::CellValues rSrc 
)
void ScDocument::CopyDdeLinks ( ScDocument pDestDoc) const
void ScDocument::CopyFromClip ( const ScRange rDestRange,
const ScMarkData rMark,
InsertDeleteFlags  nInsFlag,
ScDocument pRefUndoDoc,
ScDocument pClipDoc,
bool  bResetCut = true,
bool  bAsLink = false,
bool  bIncludeFiltered = true,
bool  bSkipAttrForEmpty = false,
const ScRangeList pDestRanges = nullptr 
)
void ScDocument::CopyMultiRangeFromClip ( const ScAddress rDestPos,
const ScMarkData rMark,
InsertDeleteFlags  nInsFlag,
ScDocument pClipDoc,
bool  bResetCut = true,
bool  bAsLink = false,
bool  bIncludeFiltered = true,
bool  bSkipAttrForEmpty = false 
)
void ScDocument::CopyNonFilteredFromClip ( sc::CopyFromClipContext rCxt,
SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2,
const ScMarkData rMark,
SCCOL  nDx,
SCROW rClipStartRow 
)
bool ScDocument::CopyOneCellFromClip ( sc::CopyFromClipContext rCxt,
SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2 
)
void ScDocument::CopyRangeNamesToClip ( ScDocument pClipDoc,
const ScRange rClipRange,
const ScMarkData pMarks 
)
private
void ScDocument::CopyScenario ( SCTAB  nSrcTab,
SCTAB  nDestTab,
bool  bNewScenario = false 
)

Definition at line 790 of file documen3.cxx.

References ScRangeList::size(), TwoWay, and ValidTab().

Referenced by ScDocShell::MakeScenario(), and ScDocShell::UseScenario().

void ScDocument::CopyStaticToDocument ( const ScRange rSrcRange,
SCTAB  nDestTab,
ScDocument pDestDoc 
)

Copy only raw cell values to another document.

Formula cells are converted to raw cells. No formatting info are copied except for number formats.

Parameters
rSrcRangesource range in the source document
nDestTabtable in the clip document to copy to.
pDestDocdocument to copy to

Definition at line 2246 of file document.cxx.

References ScRange::aEnd, aMap, ScRange::aStart, ScAddress::Col(), SvNumberFormatter::ConvertMergeTableToMap(), ScTable::CopyStaticToDocument(), GetFormatTable(), maTabs, SvNumberFormatter::MergeFormatter(), ScAddress::Row(), and ScAddress::Tab().

void ScDocument::CopyStdStylesFrom ( const ScDocument pSrcDoc)

Definition at line 290 of file documen8.cxx.

References mxPoolHelper.

Referenced by ScTransferObj::InitDocShell().

bool ScDocument::CopyTab ( SCTAB  nOldPos,
SCTAB  nNewPos,
const ScMarkData pOnlyMarked = nullptr 
)
void ScDocument::CopyTabProtection ( SCTAB  nTabSrc,
SCTAB  nTabDest 
)

Definition at line 1897 of file documen3.cxx.

References ValidTab().

Referenced by ScDocShell::MoveTable(), and ScUndoCopyTab::Redo().

void ScDocument::CopyTabToClip ( SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab,
ScDocument pClipDoc 
)
void ScDocument::CopyToClip ( const ScClipParam rClipParam,
ScDocument pClipDoc,
const ScMarkData pMarks,
bool  bKeepScenarioFlags,
bool  bIncludeObjects 
)
void ScDocument::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 
)

Definition at line 2075 of file document.cxx.

References ValidTab().

Referenced by ScDocFunc::ApplyAttributes(), ScHelperFunctions::ApplyBorder(), ScViewFunc::ApplyPatternLines(), ScViewFunc::ApplySelectionPattern(), ScDocFunc::ApplyStyle(), ScDocFunc::AutoFormat(), ScOutlineDocFunc::AutoOutline(), ScDocFunc::ChangeIndent(), ScDocFunc::ClearItems(), sc::DocFuncUtil::createDeleteContentsUndoDoc(), ScViewFunc::CutToClip(), ScViewFunc::DataFormPutData(), ScDocFunc::DeleteCells(), ScViewFunc::DeleteMulti(), ScDocFunc::DeleteTable(), ScUndoPaste::DoChange(), ScUndoDataForm::DoChange(), ScUndoConversion::DoChange(), ScUndoRefConversion::DoChange(), ScUndoListNames::DoChange(), ScUndoConditionalFormat::DoChange(), ScDocShell::DoConsolidate(), ScDBDocFunc::DoImport(), ScViewFunc::DoRefConversion(), ScDBFunc::DoSubTotals(), ScDBDocFunc::DoSubTotals(), ScImportExport::EndPaste(), ScDocFunc::EnterMatrix(), ScDocFunc::FillAuto(), ScDocFunc::FillSeries(), ScDocFunc::FillSimple(), ScViewFunc::FillTab(), ScOutlineDocFunc::HideMarkedOutlines(), ScOutlineDocFunc::HideOutline(), ScDocFunc::InsertNameList(), lcl_PutDataArray(), lcl_PutFormulaArray(), ScDocFunc::MergeCells(), ScDocFunc::MoveBlock(), ScViewFunc::PasteFromClip(), ScViewFunc::PasteFromClipToMultiRanges(), ScViewFunc::PasteMultiRangesFromClip(), ScViewFunc::PasteRTF(), ScDBDocFunc::Query(), ScAreaLink::Refresh(), ScTableLink::Refresh(), ScTableSheetObj::removeAllManualPageBreaks(), ScOutlineDocFunc::RemoveAllOutlines(), ScViewFunc::RemoveManualBreaks(), ScDBFunc::RepeatDB(), ScDBDocFunc::RepeatDB(), ScTable::ReplaceAllStyle(), ScDocFunc::ReplaceConditionalFormat(), ScOutlineDocFunc::SelectLevel(), ScViewFunc::SetStyleSheetToMarked(), ScDocFunc::SetWidthOrHeight(), ScViewFunc::SetWidthOrHeight(), ScOutlineDocFunc::ShowMarkedOutlines(), ScOutlineDocFunc::ShowOutline(), ScImportExport::StartPaste(), ScDocFunc::TabOp(), ScDocFunc::TransliterateText(), ScUndoImportTab::Undo(), ScUndoImportData::Undo(), ScUndoRefreshLink::Undo(), UndoToDocument(), ScDocFunc::UnmergeCells(), and ScDocShell::UseScenario().

void ScDocument::CopyToDocument ( const ScRange rRange,
InsertDeleteFlags  nFlags,
bool  bMarked,
ScDocument rDestDoc,
const ScMarkData pMarks = nullptr,
bool  bColRowFlags = true 
)
void ScDocument::CopyUpdated ( ScDocument pPosDoc,
ScDocument pDestDoc 
)

From this document this method copies the cells of positions at which there are also cells in pPosDoc to pDestDoc.

Definition at line 782 of file documen3.cxx.

References maTabs, and nCount.

Referenced by ScViewFunc::PasteFromClip().

SCROW ScDocument::CountNonFilteredRows ( SCROW  nStartRow,
SCROW  nEndRow,
SCTAB  nTab 
) const
SCROW ScDocument::CountVisibleRows ( SCROW  nStartRow,
SCROW  nEndRow,
SCTAB  nTab 
) const

Definition at line 4493 of file document.cxx.

References maTabs, and ValidTab().

Referenced by ScPreviewLocationData::GetTableInfo().

void ScDocument::CreateAllNoteCaptions ( )

Ensure that all note objects have an associated sdr object.

The export code uses sdr objects to export note data.

Definition at line 6618 of file document.cxx.

References a, and maTabs.

Referenced by ScXMLImportWrapper::Export().

void ScDocument::CreateColumnIfNotExists ( SCTAB  nTab,
SCCOL  nCol 
)
bool ScDocument::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.

Parameters
pResultsIf not 0, sets the matrix as DDE link result matrix (also for existing links).
Returns
true = DDE link found; false = Unpredictable error occurred, no DDE link created.

Definition at line 1003 of file documen8.cxx.

References sfx2::LinkManager::InsertDDELink(), SC_DDE_IGNOREMODE, and ScDdeLink::SetResult().

Referenced by ScDDELinksObj::addDDELink(), XclImpExtName::CreateDdeData(), and ScXMLDDELinkContext::CreateDDELink().

std::unique_ptr< ScFieldEditEngine > ScDocument::CreateFieldEditEngine ( )
ScPostIt * ScDocument::CreateNote ( const ScAddress rPos)

Definition at line 6602 of file document.cxx.

References SetNote().

Referenced by GetOrCreateNote().

std::unique_ptr< ScPrintRangeSaver > ScDocument::CreatePrintRangeSaver ( ) const
bool ScDocument::CreateQueryParam ( const ScRange rRange,
ScQueryParam rQueryParam 
)
ScRecursionHelper * ScDocument::CreateRecursionHelperInstance ( )
staticprivate

Definition at line 1141 of file documen2.cxx.

Referenced by GetRecursionHelper().

std::unique_ptr< ScPatternAttr > ScDocument::CreateSelectionPattern ( const ScMarkData rMark,
bool  bDeep = true 
)
void ScDocument::CreateValidTabName ( OUString &  rName) const
void ScDocument::CreateValidTabNames ( std::vector< OUString > &  aNames,
SCTAB  nCount 
) const
void ScDocument::DecInDdeLinkUpdate ( )
inline

Definition at line 1006 of file document.hxx.

References nInDdeLinkUpdate.

Referenced by ScDdeLink::TryUpdate().

void ScDocument::DecInterpreterTableOpLevel ( )
inline

Definition at line 2323 of file document.hxx.

void ScDocument::DecInterpretLevel ( )
inline

Definition at line 2298 of file document.hxx.

References IsThreadedGroupCalcInProgress().

Referenced by ScFormulaCell::Interpret().

ScDocument::DECL_LINK ( GetUserDefinedColor  ,
sal_uInt16  ,
Color  
)
ScDocument::DECL_LINK ( TrackTimeHdl  ,
Timer ,
void   
)
private
void ScDocument::DecMacroInterpretLevel ( )
inline

Definition at line 2311 of file document.hxx.

References IsThreadedGroupCalcInProgress().

void ScDocument::DecXMLImportedFormulaCount ( sal_uLong  nVal)
inline

Definition at line 2343 of file document.hxx.

Referenced by ScFormulaCell::CompileXML().

void ScDocument::DelayFormulaGrouping ( bool  delay)

If set, joining cells into shared formula groups will be delayed until reset again (RegroupFormulaCells() will be called as needed).

Definition at line 377 of file document10.cxx.

References ScAddress::INITIALIZE_INVALID, pDelayedFormulaGrouping, and RegroupFormulaCells().

Referenced by sc::DelayFormulaGroupingSwitch::DelayFormulaGroupingSwitch(), sc::DelayFormulaGroupingSwitch::reset(), and sc::DelayFormulaGroupingSwitch::~DelayFormulaGroupingSwitch().

void ScDocument::DelBroadcastAreasInRange ( const ScRange rRange)

Definition at line 202 of file documen7.cxx.

References pBASM.

Referenced by DeleteCol(), DeleteRow(), DeleteTab(), and DeleteTabs().

void ScDocument::DeleteArea ( SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2,
const ScMarkData rMark,
InsertDeleteFlags  nDelFlag,
bool  bBroadcast = true,
sc::ColumnSpanSet pBroadcastSpans = nullptr 
)
void ScDocument::DeleteAreaLinksOnTab ( SCTAB  nTab)
private
void ScDocument::DeleteAreaTab ( SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab,
InsertDeleteFlags  nDelFlag 
)
void ScDocument::DeleteAreaTab ( const ScRange rRange,
InsertDeleteFlags  nDelFlag 
)
void ScDocument::DeleteBeforeCopyFromClip ( sc::CopyFromClipContext rCxt,
const ScMarkData rMark,
sc::ColumnSpanSet rBroadcastSpans 
)
void ScDocument::DeleteBroadcasters ( sc::ColumnBlockPosition rBlockPos,
const ScAddress rTopPos,
SCROW  nLength 
)
void ScDocument::DeleteCol ( SCROW  nStartRow,
SCTAB  nStartTab,
SCROW  nEndRow,
SCTAB  nEndTab,
SCCOL  nStartCol,
SCSIZE  nSize,
ScDocument pRefUndoDoc = nullptr,
bool *  pUndoOutline = nullptr,
const ScMarkData pTabMark = nullptr 
)
void ScDocument::DeleteCol ( const ScRange rRange)
void ScDocument::DeleteConditionalFormat ( sal_uLong  nIndex,
SCTAB  nTab 
)

Definition at line 876 of file documen4.cxx.

References ValidTab().

Referenced by ScDocFunc::ReplaceConditionalFormat().

void ScDocument::DeleteDrawLayer ( )
private
void ScDocument::DeleteObjectsInArea ( SCCOL  nCol1,
SCROW  nRow1,
SCCOL  nCol2,
SCROW  nRow2,
const ScMarkData rMark,
bool  bAnchored = false 
)
void ScDocument::DeleteObjectsInSelection ( const ScMarkData rMark)

Definition at line 266 of file documen9.cxx.

References mpDrawLayer.

Referenced by ScViewFunc::CutToClip(), and ScDocFunc::DeleteContents().

void ScDocument::DeleteRow ( SCCOL  nStartCol,
SCTAB  nStartTab,
SCCOL  nEndCol,
SCTAB  nEndTab,
SCROW  nStartRow,
SCSIZE  nSize,
ScDocument pRefUndoDoc = nullptr,
bool *  pUndoOutline = nullptr,
const ScMarkData pTabMark = nullptr 
)
void ScDocument::DeleteRow ( const ScRange rRange)
void ScDocument::DeleteSelection ( InsertDeleteFlags  nDelFlag,
const ScMarkData rMark,
bool  bBroadcast = true 
)
void ScDocument::DeleteSelectionTab ( SCTAB  nTab,
InsertDeleteFlags  nDelFlag,
const ScMarkData rMark 
)
bool ScDocument::DeleteTab ( SCTAB  nTab)
bool ScDocument::DeleteTabs ( SCTAB  nTab,
SCTAB  nSheets 
)
void ScDocument::DiscardFormulaGroupContext ( )
void ScDocument::DisposeFieldEditEngine ( std::unique_ptr< ScFieldEditEngine > &  rpEditEngine)

Definition at line 1130 of file documen2.cxx.

References pCacheFieldEditEngine.

Referenced by ScColumn::GetNeededSize(), and ScCellTextData::~ScCellTextData().

void ScDocument::DoAutoOutline ( SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
SCTAB  nTab 
)

Definition at line 741 of file documen3.cxx.

References ValidTab().

Referenced by ScOutlineDocFunc::AutoOutline().

void ScDocument::DoEmptyBlock ( SCTAB  nTab,
SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow 
)

Definition at line 2021 of file documen3.cxx.

References SetString().

Referenced by ScDocFunc::MergeCells().

void ScDocument::DoMerge ( SCTAB  nTab,
SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow,
bool  bDeleteCaptions = true 
)
void ScDocument::DoMergeContents ( SCTAB  nTab,
SCCOL  nStartCol,
SCROW  nStartRow,
SCCOL  nEndCol,
SCROW  nEndRow 
)

Definition at line 1997 of file documen3.cxx.

References GetString(), and SetString().

Referenced by ScUndoMerge::DoChange(), and ScDocFunc::MergeCells().

bool ScDocument::DoSubTotals ( SCTAB  nTab,
ScSubTotalParam rParam 
)

Definition at line 759 of file documen3.cxx.

References ValidTab().

Referenced by ScDBFunc::DoSubTotals(), and ScDBDocFunc::DoSubTotals().

bool ScDocument::DrawGetPrintArea ( ScRange rRange,
bool  bSetHor,
bool  bSetVer 
) const
private

Definition at line 245 of file documen9.cxx.

References mpDrawLayer.

Referenced by GetDataStart(), GetPrintArea(), GetPrintAreaHor(), and GetPrintAreaVer().

SC_DLLPUBLIC void ScDocument::DumpColumnStorage ( SCTAB  nTab,
SCCOL  nCol 
) const
void ScDocument::EnableChangeReadOnly ( bool  bVal)
inline
void ScDocument::EnableExecuteLink ( bool  bVal)
inline
void ScDocument::EnableIdle ( bool  bDo)
inline
void ScDocument::EnableUndo ( bool  bVal)
void ScDocument::EnableUserInteraction ( bool  bVal)

Definition at line 6482 of file document.cxx.

References mbUserInteractionEnabled.

Referenced by ScExternalRefManager::loadSrcDocument().

void ScDocument::EndChangeTracking ( )
void ScDocument::EndListeningArea ( const ScRange rRange,
bool  bGroupListening,
SvtListener pListener 
)
void ScDocument::EndListeningCell ( const ScAddress rAddress,
SvtListener pListener