LibreOffice Module sc (master) 1
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
ScFormulaCell Class Referencefinal

#include <formulacell.hxx>

Inheritance diagram for ScFormulaCell:
[legend]
Collaboration diagram for ScFormulaCell:
[legend]

Public Types

enum  ScInterpretTailParameter {
  SCITP_NORMAL ,
  SCITP_FROM_ITERATION ,
  SCITP_CLOSE_ITERATION_CIRCLE
}
 
enum  CompareState {
  NotEqual = 0 ,
  EqualInvariant ,
  EqualRelativeRef
}
 
enum class  RelNameRef {
  NONE ,
  SINGLE ,
  DOUBLE
}
 

Public Member Functions

void InterpretTail (ScInterpreterContext &, ScInterpretTailParameter)
 
void HandleStuffAfterParallelCalculation (ScInterpreter *pInterpreter)
 
virtual ~ScFormulaCell () override
 
ScFormulaCellClone () const
 
ScFormulaCellClone (const ScAddress &rPos) const
 
 ScFormulaCell (ScDocument &rDoc, const ScAddress &rPos)
 
 ScFormulaCell (ScDocument &rDoc, const ScAddress &rPos, std::unique_ptr< ScTokenArray > pArray, const formula::FormulaGrammar::Grammar eGrammar=formula::FormulaGrammar::GRAM_DEFAULT, ScMatrixMode cMatInd=ScMatrixMode::NONE)
 Transfer the ownership of the passed token array instance to the formula cell being constructed. More...
 
 ScFormulaCell (ScDocument &rDoc, const ScAddress &rPos, const ScTokenArray &rArray, const formula::FormulaGrammar::Grammar eGrammar=formula::FormulaGrammar::GRAM_DEFAULT, ScMatrixMode cMatInd=ScMatrixMode::NONE)
 
 ScFormulaCell (ScDocument &rDoc, const ScAddress &rPos, const ScFormulaCellGroupRef &xGroup, const formula::FormulaGrammar::Grammar=formula::FormulaGrammar::GRAM_DEFAULT, ScMatrixMode=ScMatrixMode::NONE)
 
 ScFormulaCell (ScDocument &rDoc, const ScAddress &rPos, const OUString &rFormula, const formula::FormulaGrammar::Grammar=formula::FormulaGrammar::GRAM_DEFAULT, ScMatrixMode cMatInd=ScMatrixMode::NONE)
 With formula string and grammar to compile with. More...
 
 ScFormulaCell (const ScFormulaCell &rCell, ScDocument &rDoc, const ScAddress &rPos, ScCloneFlags nCloneFlags=ScCloneFlags::Default)
 
void SetFreeFlying (bool b)
 
size_t GetHash () const
 
OUString GetFormula (const formula::FormulaGrammar::Grammar=formula::FormulaGrammar::GRAM_DEFAULT, const ScInterpreterContext *pContext=nullptr) const
 
OUString GetFormula (sc::CompileFormulaContext &rCxt, const ScInterpreterContext *pContext=nullptr) const
 
void SetDirty (bool bDirtyFlag=true)
 
void SetDirtyVar ()
 
void SetDirtyAfterLoad ()
 
void ResetTableOpDirtyVar ()
 
void SetTableOpDirty ()
 
bool IsDirtyOrInTableOpDirty () const
 
bool GetDirty () const
 
void ResetDirty ()
 
bool NeedsListening () const
 
void SetNeedsListening (bool bVar)
 
void SetNeedsDirty (bool bVar)
 
void SetNeedNumberFormat (bool bVal)
 
bool NeedsNumberFormat () const
 
SvNumFormatType GetFormatType () const
 
void Compile (const OUString &rFormula, bool bNoListening, const formula::FormulaGrammar::Grammar)
 
void Compile (sc::CompileFormulaContext &rCxt, const OUString &rFormula, bool bNoListening=false)
 
void CompileTokenArray (bool bNoListening=false)
 
void CompileTokenArray (sc::CompileFormulaContext &rCxt, bool bNoListening=false)
 
void CompileXML (sc::CompileFormulaContext &rCxt, ScProgress &rProgress)
 
void CalcAfterLoad (sc::CompileFormulaContext &rCxt, bool bStartListening)
 
bool MarkUsedExternalReferences ()
 
bool Interpret (SCROW nStartOffset=-1, SCROW nEndOffset=-1)
 
bool IsIterCell () const
 
sal_uInt16 GetSeenInIteration () const
 
bool HasOneReference (ScRange &r) const
 
bool HasRefListExpressibleAsOneReference (ScRange &rRange) const
 
RelNameRef HasRelNameReference () const
 
bool UpdateReference (const sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc=nullptr, const ScAddress *pUndoCellPos=nullptr)
 
bool UpdatePosOnShift (const sc::RefUpdateContext &rCxt)
 Shift the position of formula cell as part of reference update. More...
 
bool UpdateReferenceOnShift (const sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc, const ScAddress *pUndoCellPos)
 Update reference in response to cell insertion or deletion. More...
 
bool UpdateReferenceOnMove (const sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc, const ScAddress *pUndoCellPos)
 Update reference in response to cell move. More...
 
void TransposeReference ()
 
void UpdateTranspose (const ScRange &rSource, const ScAddress &rDest, ScDocument *pUndoDoc)
 
void UpdateGrow (const ScRange &rArea, SCCOL nGrowX, SCROW nGrowY)
 
void UpdateInsertTab (const sc::RefUpdateInsertTabContext &rCxt)
 
void UpdateInsertTabAbs (SCTAB nTable)
 
void UpdateDeleteTab (const sc::RefUpdateDeleteTabContext &rCxt)
 
void UpdateMoveTab (const sc::RefUpdateMoveTabContext &rCxt, SCTAB nTabNo)
 
bool TestTabRefAbs (SCTAB nTable)
 
void UpdateCompile (bool bForceIfNameInUse)
 
void FindRangeNamesInUse (sc::UpdatedRangeNames &rIndexes) const
 
bool IsSubTotal () const
 
bool IsChanged () const
 
void SetChanged (bool b)
 
bool IsEmpty ()
 
bool IsEmptyDisplayedAsString ()
 
bool IsValue ()
 
bool IsValueNoError ()
 
bool IsValueNoError () const
 
double GetValue ()
 
const svl::SharedStringGetString ()
 
double GetRawValue () const
 Get a numeric value without potentially triggering re-calculation. More...
 
const svl::SharedStringGetRawString () const
 Get a string value without potentially triggering re-calculation. More...
 
const ScMatrixGetMatrix ()
 
bool GetMatrixOrigin (const ScDocument &rDoc, ScAddress &rPos) const
 
void GetResultDimensions (SCSIZE &rCols, SCSIZE &rRows)
 
sc::MatrixEdge GetMatrixEdge (const ScDocument &rDoc, ScAddress &rOrgPos) const
 
FormulaError GetErrCode ()
 
FormulaError GetRawError () const
 
bool GetErrorOrValue (FormulaError &rErr, double &rVal)
 
sc::FormulaResultValue GetResult ()
 
sc::FormulaResultValue GetResult () const
 
ScMatrixMode GetMatrixFlag () const
 
ScTokenArrayGetCode ()
 
const ScTokenArrayGetCode () const
 
void SetCode (std::unique_ptr< ScTokenArray > pNew)
 
bool IsRunning () const
 
void SetRunning (bool bVal)
 
void CompileDBFormula (sc::CompileFormulaContext &rCxt)
 
void CompileColRowNameFormula (sc::CompileFormulaContext &rCxt)
 
ScFormulaCellGetPrevious () const
 
ScFormulaCellGetNext () const
 
void SetPrevious (ScFormulaCell *pF)
 
void SetNext (ScFormulaCell *pF)
 
ScFormulaCellGetPreviousTrack () const
 
ScFormulaCellGetNextTrack () const
 
void SetPreviousTrack (ScFormulaCell *pF)
 
void SetNextTrack (ScFormulaCell *pF)
 
virtual void Notify (const SfxHint &rHint) override
 
virtual void Query (SvtListener::QueryBase &rQuery) const override
 
void SetCompile (bool bVal)
 
ScDocumentGetDocument () const
 
void SetMatColsRows (SCCOL nCols, SCROW nRows)
 
void GetMatColsRows (SCCOL &nCols, SCROW &nRows) const
 
void SetInChangeTrack (bool bVal)
 
bool IsInChangeTrack () const
 
void AddRecalcMode (ScRecalcMode)
 
void SetHybridDouble (double n)
 For import only: set a double result. More...
 
void SetHybridString (const svl::SharedString &r)
 For import only: set a string result. More...
 
void SetHybridEmptyDisplayedAsString ()
 For import only: set an empty cell result to be displayed as empty string. More...
 
void SetHybridFormula (const OUString &r, const formula::FormulaGrammar::Grammar eGrammar)
 For import only: set a temporary formula string to be compiled later. More...
 
OUString GetHybridFormula () const
 
void SetResultMatrix (SCCOL nCols, SCROW nRows, const ScConstMatrixRef &pMat, const formula::FormulaToken *pUL)
 
void SetResultDouble (double n)
 For import only: set a double result. More...
 
void SetResultToken (const formula::FormulaToken *pToken)
 
const svl::SharedStringGetResultString () const
 
bool HasHybridStringResult () const
 
void SetErrCode (FormulaError n)
 
void SetResultError (FormulaError n)
 
bool IsHyperLinkCell () const
 
std::unique_ptr< EditTextObjectCreateURLObject ()
 
void GetURLResult (OUString &rURL, OUString &rCellText)
 
bool IsMultilineResult ()
 Determines whether or not the result string contains more than one paragraph. More...
 
bool NeedsInterpret () const
 
void MaybeInterpret ()
 
ScFormulaCellGroupRef CreateCellGroup (SCROW nLen, bool bInvariant)
 Turn a non-grouped cell into the top of a grouped cell. More...
 
const ScFormulaCellGroupRefGetCellGroup () const
 
void SetCellGroup (const ScFormulaCellGroupRef &xRef)
 
CompareState CompareByTokenArray (const ScFormulaCell &rOther) const
 
bool InterpretFormulaGroup (SCROW nStartOffset=-1, SCROW nEndOffset=-1)
 
void StartListeningTo (ScDocument &rDoc)
 
void StartListeningTo (sc::StartListeningContext &rCxt)
 
void EndListeningTo (ScDocument &rDoc, ScTokenArray *pArr=nullptr, ScAddress aPos=ScAddress())
 
void EndListeningTo (sc::EndListeningContext &rCxt)
 
bool IsShared () const
 
bool IsSharedTop () const
 
SCROW GetSharedTopRow () const
 
SCROW GetSharedLength () const
 
sal_Int32 GetWeight () const
 
ScTokenArrayGetSharedCode ()
 
const ScTokenArrayGetSharedCode () const
 
void SyncSharedCode ()
 
bool IsPostponedDirty () const
 
void SetIsExtRef ()
 
bool GetSeenInPath () const
 
void SetSeenInPath (bool bSet)
 
void Dump () const
 
- Public Member Functions inherited from SvtListener
 SvtListener ()=default
 
 SvtListener (const SvtListener &r)=default
 
virtual ~SvtListener () COVERITY_NOEXCEPT_FALSE
 
bool StartListening (SvtBroadcaster &rBroadcaster)
 
void EndListening (SvtBroadcaster &rBroadcaster)
 
void EndListeningAll ()
 
void CopyAllBroadcasters (const SvtListener &r)
 
bool HasBroadcaster () const
 
virtual void Notify (const SfxHint &rHint)
 
virtual void Query (QueryBase &rQuery) const
 

Public Attributes

ScAddress aPos
 

Private Member Functions

bool UpdateReferenceOnCopy (const sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc, const ScAddress *pUndoCellPos)
 Update reference in response to cell copy-n-paste. More...
 
 ScFormulaCell (const ScFormulaCell &)=delete
 
bool CheckComputeDependencies (sc::FormulaLogger::GroupScope &rScope, bool fromFirstRow, SCROW nStartOffset, SCROW nEndOffset, bool bCalcDependencyOnly=false)
 
bool InterpretFormulaGroupThreading (sc::FormulaLogger::GroupScope &aScope, bool &bDependencyComputed, bool &bDependencyCheckFailed, SCROW nStartOffset, SCROW nEndOffset)
 
bool InterpretFormulaGroupOpenCL (sc::FormulaLogger::GroupScope &aScope, bool &bDependencyComputed, bool &bDependencyCheckFailed)
 
bool InterpretInvariantFormulaGroup ()
 

Private Attributes

ScFormulaCellGroupRef mxGroup
 
bool bDirty: 1
 
bool bTableOpDirty: 1
 
bool bChanged: 1
 
bool bRunning: 1
 
bool bCompile: 1
 
bool bSubTotal: 1
 
bool bIsIterCell: 1
 
bool bInChangeTrack: 1
 
bool bNeedListening: 1
 
bool mbNeedsNumberFormat: 1
 
bool mbAllowNumberFormatChange: 1
 
bool mbPostponedDirty: 1
 
bool mbIsExtRef: 1
 
bool mbSeenInPath: 1
 
bool mbFreeFlying: 1
 
ScMatrixMode cMatrixFlag: 8
 
sal_uInt16 nSeenInIteration: 16
 
SvNumFormatType nFormatType: 16
 
ScFormulaResult aResult
 
formula::FormulaGrammar::Grammar eTempGrammar
 
ScTokenArraypCode
 
ScDocumentrDocument
 
ScFormulaCellpPrevious
 
ScFormulaCellpNext
 
ScFormulaCellpPreviousTrack
 
ScFormulaCellpNextTrack
 

Detailed Description

Definition at line 120 of file formulacell.hxx.

Member Enumeration Documentation

◆ CompareState

Enumerator
NotEqual 
EqualInvariant 
EqualRelativeRef 

Definition at line 186 of file formulacell.hxx.

◆ RelNameRef

enum class ScFormulaCell::RelNameRef
strong
Enumerator
NONE 

no relative reference from named expression

SINGLE 

only single cell relative reference

DOUBLE 

at least one range relative reference from named expression

Definition at line 281 of file formulacell.hxx.

◆ ScInterpretTailParameter

Enumerator
SCITP_NORMAL 
SCITP_FROM_ITERATION 
SCITP_CLOSE_ITERATION_CIRCLE 

Definition at line 176 of file formulacell.hxx.

Constructor & Destructor Documentation

◆ ScFormulaCell() [1/7]

ScFormulaCell::ScFormulaCell ( const ScFormulaCell )
privatedelete

Referenced by Clone(), and UpdateTranspose().

◆ ~ScFormulaCell()

ScFormulaCell::~ScFormulaCell ( )
overridevirtual

◆ ScFormulaCell() [2/7]

ScFormulaCell::ScFormulaCell ( ScDocument rDoc,
const ScAddress rPos 
)

Definition at line 580 of file formulacell.cxx.

References NUMBER.

◆ ScFormulaCell() [3/7]

ScFormulaCell::ScFormulaCell ( ScDocument rDoc,
const ScAddress rPos,
std::unique_ptr< ScTokenArray pArray,
const formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_DEFAULT,
ScMatrixMode  cMatInd = ScMatrixMode::NONE 
)

◆ ScFormulaCell() [4/7]

ScFormulaCell::ScFormulaCell ( ScDocument rDoc,
const ScAddress rPos,
const ScTokenArray rArray,
const formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_DEFAULT,
ScMatrixMode  cMatInd = ScMatrixMode::NONE 
)

◆ ScFormulaCell() [5/7]

ScFormulaCell::ScFormulaCell ( ScDocument rDoc,
const ScAddress rPos,
const ScFormulaCellGroupRef xGroup,
const formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_DEFAULT,
ScMatrixMode  cInd = ScMatrixMode::NONE 
)

Definition at line 749 of file formulacell.cxx.

References ScDocument::AddSubTotalCell(), bSubTotal, and rDocument.

◆ ScFormulaCell() [6/7]

ScFormulaCell::ScFormulaCell ( ScDocument rDoc,
const ScAddress rPos,
const OUString &  rFormula,
const formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_DEFAULT,
ScMatrixMode  cMatInd = ScMatrixMode::NONE 
)

With formula string and grammar to compile with.

formula::FormulaGrammar::GRAM_DEFAULT effectively isformula::FormulaGrammar::GRAM_NATIVE_UI that also includes formula::FormulaGrammar::CONV_UNSPECIFIED, therefore uses the address convention associated with rPos::nTab by default.

Definition at line 610 of file formulacell.cxx.

References Compile(), NUMBER, and pCode.

◆ ScFormulaCell() [7/7]

ScFormulaCell::ScFormulaCell ( const ScFormulaCell rCell,
ScDocument rDoc,
const ScAddress rPos,
ScCloneFlags  nCloneFlags = ScCloneFlags::Default 
)

Member Function Documentation

◆ AddRecalcMode()

void ScFormulaCell::AddRecalcMode ( ScRecalcMode  nBits)

◆ CalcAfterLoad()

void ScFormulaCell::CalcAfterLoad ( sc::CompileFormulaContext rCxt,
bool  bStartListening 
)

◆ CheckComputeDependencies()

bool ScFormulaCell::CheckComputeDependencies ( sc::FormulaLogger::GroupScope rScope,
bool  fromFirstRow,
SCROW  nStartOffset,
SCROW  nEndOffset,
bool  bCalcDependencyOnly = false 
)
private

◆ Clone() [1/2]

ScFormulaCell * ScFormulaCell::Clone ( ) const

◆ Clone() [2/2]

ScFormulaCell * ScFormulaCell::Clone ( const ScAddress rPos) const

Definition at line 940 of file formulacell.cxx.

References Default, rDocument, and ScFormulaCell().

◆ CompareByTokenArray()

ScFormulaCell::CompareState ScFormulaCell::CompareByTokenArray ( const ScFormulaCell rOther) const

◆ Compile() [1/2]

void ScFormulaCell::Compile ( const OUString &  rFormula,
bool  bNoListening,
const formula::FormulaGrammar::Grammar  eGrammar 
)

◆ Compile() [2/2]

void ScFormulaCell::Compile ( sc::CompileFormulaContext rCxt,
const OUString &  rFormula,
bool  bNoListening = false 
)

◆ CompileColRowNameFormula()

void ScFormulaCell::CompileColRowNameFormula ( sc::CompileFormulaContext rCxt)

◆ CompileDBFormula()

void ScFormulaCell::CompileDBFormula ( sc::CompileFormulaContext rCxt)

◆ CompileTokenArray() [1/2]

void ScFormulaCell::CompileTokenArray ( bool  bNoListening = false)

◆ CompileTokenArray() [2/2]

void ScFormulaCell::CompileTokenArray ( sc::CompileFormulaContext rCxt,
bool  bNoListening = false 
)

◆ CompileXML()

void ScFormulaCell::CompileXML ( sc::CompileFormulaContext rCxt,
ScProgress rProgress 
)

◆ CreateCellGroup()

ScFormulaCellGroupRef ScFormulaCell::CreateCellGroup ( SCROW  nLen,
bool  bInvariant 
)

Turn a non-grouped cell into the top of a grouped cell.

Definition at line 3997 of file formulacell.cxx.

References mxGroup, pCode, and SAL_INFO.

Referenced by CompileXML(), sc::SharedFormulaUtil::groupFormulaCells(), and sc::SharedFormulaUtil::joinFormulaCells().

◆ CreateURLObject()

std::unique_ptr< EditTextObject > ScFormulaCell::CreateURLObject ( )

◆ Dump()

void ScFormulaCell::Dump ( ) const

◆ EndListeningTo() [1/2]

void ScFormulaCell::EndListeningTo ( sc::EndListeningContext rCxt)

◆ EndListeningTo() [2/2]

void ScFormulaCell::EndListeningTo ( ScDocument rDoc,
ScTokenArray pArr = nullptr,
ScAddress  aPos = ScAddress() 
)

◆ FindRangeNamesInUse()

void ScFormulaCell::FindRangeNamesInUse ( sc::UpdatedRangeNames rIndexes) const

Definition at line 3939 of file formulacell.cxx.

References lcl_FindRangeNamesInUse(), pCode, and rDocument.

◆ GetCellGroup()

const ScFormulaCellGroupRef & ScFormulaCell::GetCellGroup ( ) const
inline

◆ GetCode() [1/2]

ScTokenArray * ScFormulaCell::GetCode ( )
inline

◆ GetCode() [2/2]

const ScTokenArray * ScFormulaCell::GetCode ( ) const
inline

Definition at line 356 of file formulacell.hxx.

◆ GetDirty()

bool ScFormulaCell::GetDirty ( ) const
inline

◆ GetDocument()

ScDocument & ScFormulaCell::GetDocument ( ) const
inline

◆ GetErrCode()

FormulaError ScFormulaCell::GetErrCode ( )

Definition at line 2967 of file formulacell.cxx.

References aResult, formula::FormulaTokenArray::GetCodeError(), ScFormulaResult::GetResultError(), MaybeInterpret(), and pCode.

Referenced by ScDocShell::AsciiSave(), ScChart2DataSequence::BuildDataCache(), ScFunctionAccess::callFunction(), ScQueryEvaluator::compareByRangeLookup(), ScTable::CompareCell(), convertToToken(), ScColumn::CopyStaticToDocument(), ScInterpreter::CreateCellArr(), ScInterpreter::CreateDoubleArr(), ScInterpreter::CreateMatrixFromDoubleRef(), ScInterpreter::CreateStringArr(), ScInterpreter::GetCellErrCode(), ScInterpreter::GetCellNumberFormat(), ScQueryEvaluator::getCellString(), ScInterpreter::GetCellString(), ScInterpreter::GetCellValueOrZero(), ScCellIterator::getCurrent(), ScDBQueryDataIterator::DataAccessInternal::getCurrent(), ScCellObj::getError(), ScCellFormat::GetInputString(), ScHorizontalValueIterator::GetNext(), ScCellObj::GetResultType_Impl(), ScValidationData::GetSelectionFromFormula(), ScCellShell::GetState(), ScCellFormat::GetString(), ScDocument::GetStringForFormula(), ScRefCellValue::hasError(), ScDetectiveFunc::HasError(), ScConditionEntry::IsError(), ScQueryEvaluator::isQueryByValueForCell(), lcl_HasErrors(), ScInterpreter::PopRefListPushMatrixOrRef(), ScQueryEvaluator::processEntry(), ScInterpreter::PushCellResultToken(), ScCellRangesBase::queryFormulaCells(), XclExpFormulaCell::SaveXml(), ScFormatFilterPluginImpl::ScExportDif(), ScInterpreter::ScMatRef(), ScInterpreter::ScMatValue(), ScInterpreter::ScTableOp(), sc::CopyFromClipContext::setSingleCell(), ScDrawStringsVars::SetTextToWidthOrHash(), ScDocument::Solver(), ScTransferObj::StripRefs(), ScXMLExport::WriteCell(), and XclExpFormulaCell::WriteContents().

◆ GetErrorOrValue()

bool ScFormulaCell::GetErrorOrValue ( FormulaError rErr,
double &  rVal 
)

◆ GetFormatType()

SvNumFormatType ScFormulaCell::GetFormatType ( ) const
inline

◆ GetFormula() [1/2]

OUString ScFormulaCell::GetFormula ( const formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_DEFAULT,
const ScInterpreterContext pContext = nullptr 
) const

◆ GetFormula() [2/2]

OUString ScFormulaCell::GetFormula ( sc::CompileFormulaContext rCxt,
const ScInterpreterContext pContext = nullptr 
) const

◆ GetHash()

size_t ScFormulaCell::GetHash ( ) const

Definition at line 945 of file formulacell.cxx.

References ScTokenArray::GetHash(), and pCode.

Referenced by CompareByTokenArray().

◆ GetHybridFormula()

OUString ScFormulaCell::GetHybridFormula ( ) const

Definition at line 2678 of file formulacell.cxx.

References aResult, and ScFormulaResult::GetHybridFormula().

◆ GetMatColsRows()

void ScFormulaCell::GetMatColsRows ( SCCOL nCols,
SCROW nRows 
) const

◆ GetMatrix()

const ScMatrix * ScFormulaCell::GetMatrix ( )

◆ GetMatrixEdge()

sc::MatrixEdge ScFormulaCell::GetMatrixEdge ( const ScDocument rDoc,
ScAddress rOrgPos 
) const

◆ GetMatrixFlag()

ScMatrixMode ScFormulaCell::GetMatrixFlag ( ) const
inline

◆ GetMatrixOrigin()

bool ScFormulaCell::GetMatrixOrigin ( const ScDocument rDoc,
ScAddress rPos 
) const

◆ GetNext()

ScFormulaCell * ScFormulaCell::GetNext ( ) const
inline

◆ GetNextTrack()

ScFormulaCell * ScFormulaCell::GetNextTrack ( ) const
inline

◆ GetPrevious()

ScFormulaCell * ScFormulaCell::GetPrevious ( ) const
inline

◆ GetPreviousTrack()

ScFormulaCell * ScFormulaCell::GetPreviousTrack ( ) const
inline

◆ GetRawError()

FormulaError ScFormulaCell::GetRawError ( ) const

◆ GetRawString()

const svl::SharedString & ScFormulaCell::GetRawString ( ) const

Get a string value without potentially triggering re-calculation.

Definition at line 2807 of file formulacell.cxx.

References aResult, formula::FormulaTokenArray::GetCodeError(), svl::SharedString::getEmptyString(), ScFormulaResult::GetResultError(), ScFormulaResult::GetString(), and pCode.

Referenced by GetString().

◆ GetRawValue()

double ScFormulaCell::GetRawValue ( ) const

Get a numeric value without potentially triggering re-calculation.

Definition at line 2799 of file formulacell.cxx.

References aResult, formula::FormulaTokenArray::GetCodeError(), ScFormulaResult::GetDouble(), ScFormulaResult::GetResultError(), and pCode.

Referenced by ScRefCellValue::getRawValue(), and GetValue().

◆ GetResult() [1/2]

sc::FormulaResultValue ScFormulaCell::GetResult ( )

◆ GetResult() [2/2]

sc::FormulaResultValue ScFormulaCell::GetResult ( ) const

◆ GetResultDimensions()

void ScFormulaCell::GetResultDimensions ( SCSIZE rCols,
SCSIZE rRows 
)

◆ GetResultString()

const svl::SharedString & ScFormulaCell::GetResultString ( ) const

◆ GetSeenInIteration()

sal_uInt16 ScFormulaCell::GetSeenInIteration ( ) const
inline

Definition at line 268 of file formulacell.hxx.

Referenced by Interpret().

◆ GetSeenInPath()

bool ScFormulaCell::GetSeenInPath ( ) const
inline

◆ GetSharedCode() [1/2]

ScTokenArray * ScFormulaCell::GetSharedCode ( )

Definition at line 5500 of file formulacell.cxx.

References mxGroup.

Referenced by XclExpShrfmlaBuffer::CreateOrExtendShrfmla(), and GetWeight().

◆ GetSharedCode() [2/2]

const ScTokenArray * ScFormulaCell::GetSharedCode ( ) const

Definition at line 5505 of file formulacell.cxx.

References mxGroup.

◆ GetSharedLength()

SCROW ScFormulaCell::GetSharedLength ( ) const

◆ GetSharedTopRow()

SCROW ScFormulaCell::GetSharedTopRow ( ) const

◆ GetString()

const svl::SharedString & ScFormulaCell::GetString ( )

◆ GetURLResult()

void ScFormulaCell::GetURLResult ( OUString &  rURL,
OUString &  rCellText 
)

◆ GetValue()

double ScFormulaCell::GetValue ( )

◆ GetWeight()

sal_Int32 ScFormulaCell::GetWeight ( ) const

◆ HandleStuffAfterParallelCalculation()

void ScFormulaCell::HandleStuffAfterParallelCalculation ( ScInterpreter pInterpreter)

◆ HasHybridStringResult()

bool ScFormulaCell::HasHybridStringResult ( ) const

◆ HasOneReference()

bool ScFormulaCell::HasOneReference ( ScRange r) const

◆ HasRefListExpressibleAsOneReference()

bool ScFormulaCell::HasRefListExpressibleAsOneReference ( ScRange rRange) const

◆ HasRelNameReference()

ScFormulaCell::RelNameRef ScFormulaCell::HasRelNameReference ( ) const

◆ Interpret()

bool ScFormulaCell::Interpret ( SCROW  nStartOffset = -1,
SCROW  nEndOffset = -1 
)

Definition at line 1500 of file formulacell.cxx.

References ScRecursionHelper::AbortDependencyComputation(), ScRecursionHelper::AnyCycleMemberInDependencyEvalMode(), ScRecursionHelper::AnyParentFGInCycle(), aPos, ScRecursionHelper::AreGroupsIndependent(), aResult, bChanged, bDirty, bIsIterCell, bRunning, ScRecursionHelper::CheckFGIndependence(), ScRecursionHelper::Clear(), ScDocument::DecInterpretLevel(), ScRecursionHelper::EndIteration(), ForceCalculationCore, ForceCalculationNone, ScRecursionHelper::GetConvergingReference(), ScRecursionHelper::GetDepComputeLevel(), ScDocument::GetDocOptions(), ScFormulaResult::GetDouble(), ScCalcConfig::getForceCalculationType(), ScDocument::GetFormatTable(), ScInterpreterContextGetterGuard::GetInterpreterContext(), ScRecursionHelper::GetIteration(), ScRecursionHelper::GetIterationEnd(), ScRecursionHelper::GetIterationStart(), ScDocOptions::GetIterCount(), ScRecursionHelper::GetLastIterationStart(), ScRecursionHelper::GetList(), ScRecursionHelper::GetRecursionCount(), ScDocument::GetRecursionHelper(), ScRecursionHelper::GetRecursionInIterationStack(), ScFormulaResult::GetResultError(), GetSeenInIteration(), ScFormulaResult::GetString(), ScDocument::IncInterpretLevel(), ScRecursionHelper::IncIteration(), ScRecursionHelper::Insert(), InterpretFormulaGroup(), InterpretTail(), ScRecursionHelper::IsAbortingDependencyComputation(), IsDirtyOrInTableOpDirty(), ScRecursionHelper::IsDoingIteration(), ScRecursionHelper::IsDoingRecursion(), ScDocument::IsInDdeLinkUpdate(), ScRecursionHelper::IsInIterationReturn(), ScRecursionHelper::IsInRecursionReturn(), ScRecursionHelper::IsInReturn(), ScDocOptions::IsIter(), IsIterCell(), ScFormulaResult::IsValue(), MAXRECURSION, mbFreeFlying, mbSeenInPath, mxGroup, nSeenInIteration, ScFormulaRecursionEntry::pCell, rDocument, ResetDirty(), ScRecursionHelper::ResumeIteration(), SCITP_CLOSE_ITERATION_CIRCLE, SCITP_FROM_ITERATION, SCITP_NORMAL, ScRecursionHelper::SetDoingRecursion(), ScRecursionHelper::SetInIterationReturn(), ScRecursionHelper::SetInRecursionReturn(), ScFormulaResult::SetResultError(), and ScRecursionHelper::StartIteration().

Referenced by ScDocument::CalcFormulaTree(), ScColumn::CopyStaticToDocument(), ScDetectiveFunc::FindPredLevel(), ScDetectiveFunc::FindSuccLevel(), GetMatrix(), ScValidationData::GetSelectionFromFormula(), ScDetectiveFunc::InsertErrorLevel(), ScDetectiveFunc::InsertPredLevel(), ScDetectiveFunc::InsertSuccLevel(), lcl_InterpretSpan(), ScDocFunc::SetFormulaCell(), and ScDocument::Solver().

◆ InterpretFormulaGroup()

bool ScFormulaCell::InterpretFormulaGroup ( SCROW  nStartOffset = -1,
SCROW  nEndOffset = -1 
)

◆ InterpretFormulaGroupOpenCL()

bool ScFormulaCell::InterpretFormulaGroupOpenCL ( sc::FormulaLogger::GroupScope aScope,
bool &  bDependencyComputed,
bool &  bDependencyCheckFailed 
)
private

◆ InterpretFormulaGroupThreading()

bool ScFormulaCell::InterpretFormulaGroupThreading ( sc::FormulaLogger::GroupScope aScope,
bool &  bDependencyComputed,
bool &  bDependencyCheckFailed,
SCROW  nStartOffset,
SCROW  nEndOffset 
)
private

◆ InterpretInvariantFormulaGroup()

bool ScFormulaCell::InterpretInvariantFormulaGroup ( )
private

◆ InterpretTail()

void ScFormulaCell::InterpretTail ( ScInterpreterContext rContext,
ScInterpretTailParameter  eTailParam 
)

Definition at line 1885 of file formulacell.cxx.

References aPos, aResult, ScFormulaResult::Assign(), ATTR_VALIDDATA(), BCA_LISTEN_ALWAYS, bChanged, bIsIterCell, bRunning, cMatrixFlag, ScAddress::Col(), CompileTokenArray(), ScProgress::Enabled(), ScDocument::EndListeningArea(), EndListeningTo(), Formula, ScDocument::GetAttr(), ScFormulaResult::GetCellResultToken(), ScFormulaResult::GetCellResultType(), formula::FormulaTokenArray::GetCodeError(), formula::FormulaTokenArray::GetCodeLen(), ScDocument::GetDocOptions(), ScFormulaResult::GetDouble(), GetDoubleErrorValue(), ScInterpreter::GetError(), ScInterpreterContext::GetFormatTable(), ScDocument::GetFormulaCodeInTree(), ScFormulaResult::GetHybridFormula(), ScProgress::GetInterpretProgress(), ScRecursionHelper::GetIteration(), ScDocOptions::GetIterCount(), ScDocOptions::GetIterEps(), formula::FormulaTokenArray::GetLen(), ScFormulaResult::GetMatrix(), ScDocument::GetNumberFormat(), ScInterpreter::GetNumResult(), ScDocument::GetRecursionHelper(), ScFormulaResult::GetResultError(), ScInterpreter::GetResultToken(), ScInterpreter::GetResultType(), ScInterpreter::GetRetFormatIndex(), ScInterpreter::GetRetFormatType(), ScGlobal::GetStandardFormat(), ScFormulaResult::GetString(), ScInterpreter::GetStringResult(), ScFormulaResult::GetType(), SvNumberFormatter::GetType(), ScDocument::GetValidationEntry(), ScInterpreter::GetVolatileType(), ScInterpreter::Init(), ScInterpreter::Interpret(), ScRecursionHelper::IsAbortingDependencyComputation(), ScDocOptions::IsCalcAsShown(), SvNumberFormatter::IsCompatible(), IsDirtyOrInTableOpDirty(), formula::FormulaTokenArray::IsHyperLink(), ScDocument::IsInLayoutStrings(), ScRecursionHelper::IsInReturn(), formula::FormulaTokenArray::IsRecalcModeAlways(), formula::FormulaTokenArray::IsRecalcModeForced(), ScDocument::IsStreamValid(), ScDocument::IsThreadedGroupCalcInProgress(), ScFormulaResult::IsValue(), ScInterpreterContext::maDelayedSetNumberFormat, mbAllowNumberFormatChange, mbNeedsNumberFormat, MIN_NO_CODES_PER_PROGRESS_UPDATE, nFormatType, NONE, ScInterpreter::NOT_VOLATILE, nSeenInIteration, NUMBERFORMAT_ENTRY_NOT_FOUND, pCode, pData, ScInterpreterContext::pInterpreter, ScDocument::PutInFormulaTree(), rDocument, Reference, ScDocument::RemoveFromFormulaTree(), ResetDirty(), ScDocument::RoundValueAsShown(), ScAddress::Row(), SCITP_CLOSE_ITERATION_CIRCLE, SCITP_FROM_ITERATION, SCITP_NORMAL, formula::FormulaTokenArray::SetCodeError(), ScFormulaResult::SetDouble(), formula::FormulaTokenArray::SetExclusiveRecalcModeAlways(), formula::FormulaTokenArray::SetExclusiveRecalcModeNormal(), formula::FormulaTokenArray::SetHyperLink(), ScDocument::SetNumberFormat(), ScFormulaResult::SetResultError(), ScProgress::SetStateCountDownOnPercent(), ScDocument::SetStreamValid(), ScFormulaResult::SetToken(), StartListeningTo(), SV_COUNTRY_LANGUAGE_OFFSET, svDouble, svError, svHybridCell, svString, formula::svUnknown, svUnknown, ScAddress::Tab(), ScInterpreter::VOLATILE, and ScInterpreter::VOLATILE_MACRO.

Referenced by ScColumn::CalculateInThread(), and Interpret().

◆ IsChanged()

bool ScFormulaCell::IsChanged ( ) const
inline

Definition at line 325 of file formulacell.hxx.

Referenced by ScOutputData::FindChanged().

◆ IsDirtyOrInTableOpDirty()

bool ScFormulaCell::IsDirtyOrInTableOpDirty ( ) const
inline

Definition at line 240 of file formulacell.hxx.

References ScDocument::IsInInterpreterTableOp().

Referenced by GetMatrix(), Interpret(), and InterpretTail().

◆ IsEmpty()

bool ScFormulaCell::IsEmpty ( )

◆ IsEmptyDisplayedAsString()

bool ScFormulaCell::IsEmptyDisplayedAsString ( )

◆ IsHyperLinkCell()

bool ScFormulaCell::IsHyperLinkCell ( ) const

◆ IsInChangeTrack()

bool ScFormulaCell::IsInChangeTrack ( ) const
inline

Definition at line 383 of file formulacell.hxx.

Referenced by EndListeningTo(), SetDirty(), SetTableOpDirty(), and StartListeningTo().

◆ IsIterCell()

bool ScFormulaCell::IsIterCell ( ) const
inline

Definition at line 267 of file formulacell.hxx.

Referenced by Interpret().

◆ IsMultilineResult()

bool ScFormulaCell::IsMultilineResult ( )

◆ IsPostponedDirty()

bool ScFormulaCell::IsPostponedDirty ( ) const
inline

Definition at line 503 of file formulacell.hxx.

◆ IsRunning()

bool ScFormulaCell::IsRunning ( ) const
inline

◆ IsShared()

bool ScFormulaCell::IsShared ( ) const

◆ IsSharedTop()

bool ScFormulaCell::IsSharedTop ( ) const

◆ IsSubTotal()

bool ScFormulaCell::IsSubTotal ( ) const
inline

◆ IsValue()

bool ScFormulaCell::IsValue ( )

Definition at line 2760 of file formulacell.cxx.

References aResult, ScFormulaResult::IsValue(), and MaybeInterpret().

Referenced by ScDocShell::AsciiSave(), ScChart2DataSequence::BuildDataCache(), ScFunctionAccess::callFunction(), ScTable::CompareCell(), convertToToken(), ScColumn::CopyStaticToDocument(), ScInterpreter::CreateCellArr(), ScInterpreter::CreateDoubleArr(), ScInterpreter::CreateStringArr(), ScValidationData::DoMacro(), ScValidationData::DoScript(), ScInterpreter::GetCellString(), ScInterpreter::GetCellValueOrZero(), ScCellObj::GetContentType_Impl(), ScDBQueryDataIterator::DataAccessInternal::getCurrent(), ScCellFormat::GetInputString(), ScColumn::GetNeededSize(), ScHorizontalValueIterator::GetNext(), ScCellObj::GetResultType_Impl(), ScValidationData::GetSelectionFromFormula(), ScCellFormat::GetString(), ScDocument::GetStringForFormula(), GetURLResult(), ScColumn::GetValue(), ScConditionEntry::Interpret(), ScValidationData::IsDataValid(), ScInterpreter::IsEven(), IsMultilineResult(), ScInterpreter::IsString(), ScInterpreter::IterateParametersIf(), ScInterpreter::IterateParametersIfs(), ScOutputData::LayoutStrings(), lcl_GetCellContent(), lcl_SafeIsValue(), ScTabViewShell::MakeNumberInfoItem(), ScQueryEvaluator::processEntry(), ScCellRangesBase::queryFormulaCells(), ScInterpreter::ScCountIf(), ScFormatFilterPluginImpl::ScExportDif(), ScInterpreter::ScIsValue(), ScInterpreter::ScMatRef(), ScInterpreter::ScT(), sc::CopyFromClipContext::setSingleCell(), ScDrawStringsVars::SetTextToWidthOrHash(), ScTransferObj::StripRefs(), ScXMLExport::WriteCell(), and ScChangeTrackingExportHelper::WriteFormulaCell().

◆ IsValueNoError() [1/2]

bool ScFormulaCell::IsValueNoError ( )

◆ IsValueNoError() [2/2]

bool ScFormulaCell::IsValueNoError ( ) const

◆ MarkUsedExternalReferences()

bool ScFormulaCell::MarkUsedExternalReferences ( )

◆ MaybeInterpret()

void ScFormulaCell::MaybeInterpret ( )
inline

◆ NeedsInterpret()

bool ScFormulaCell::NeedsInterpret ( ) const
inline

◆ NeedsListening()

bool ScFormulaCell::NeedsListening ( ) const
inline

Definition at line 247 of file formulacell.hxx.

Referenced by ScColumn::AttachNewFormulaCell().

◆ NeedsNumberFormat()

bool ScFormulaCell::NeedsNumberFormat ( ) const
inline

Definition at line 251 of file formulacell.hxx.

◆ Notify()

void ScFormulaCell::Notify ( const SfxHint rHint)
overridevirtual

◆ Query()

void ScFormulaCell::Query ( SvtListener::QueryBase rQuery) const
overridevirtual

◆ ResetDirty()

void ScFormulaCell::ResetDirty ( )

◆ ResetTableOpDirtyVar()

void ScFormulaCell::ResetTableOpDirtyVar ( )

Definition at line 2577 of file formulacell.cxx.

References bTableOpDirty.

◆ SetCellGroup()

void ScFormulaCell::SetCellGroup ( const ScFormulaCellGroupRef xRef)

◆ SetChanged()

void ScFormulaCell::SetChanged ( bool  b)

◆ SetCode()

void ScFormulaCell::SetCode ( std::unique_ptr< ScTokenArray pNew)

Definition at line 3949 of file formulacell.cxx.

References mxGroup, and pCode.

◆ SetCompile()

void ScFormulaCell::SetCompile ( bool  bVal)

Definition at line 2381 of file formulacell.cxx.

References bCompile.

◆ SetDirty()

void ScFormulaCell::SetDirty ( bool  bDirtyFlag = true)

◆ SetDirtyAfterLoad()

void ScFormulaCell::SetDirtyAfterLoad ( )

◆ SetDirtyVar()

void ScFormulaCell::SetDirtyVar ( )

◆ SetErrCode()

void ScFormulaCell::SetErrCode ( FormulaError  n)

◆ SetFreeFlying()

void ScFormulaCell::SetFreeFlying ( bool  b)
inline

Definition at line 225 of file formulacell.hxx.

Referenced by ScConditionEntry::Interpret().

◆ SetHybridDouble()

void ScFormulaCell::SetHybridDouble ( double  n)

◆ SetHybridEmptyDisplayedAsString()

void ScFormulaCell::SetHybridEmptyDisplayedAsString ( )

For import only: set an empty cell result to be displayed as empty string.

If for whatever reason you have to use both, SetHybridDouble() and SetHybridEmptyDisplayedAsString() or SetHybridFormula(), use SetHybridDouble() first for performance reasons and use SetHybridEmptyDisplayedAsString() last because SetHybridDouble() and SetHybridString() will override it.

Definition at line 2667 of file formulacell.cxx.

References aResult, and ScFormulaResult::SetHybridEmptyDisplayedAsString().

Referenced by ScXMLTableRowCellContext::SetFormulaCell().

◆ SetHybridFormula()

void ScFormulaCell::SetHybridFormula ( const OUString &  r,
const formula::FormulaGrammar::Grammar  eGrammar 
)

For import only: set a temporary formula string to be compiled later.

If for whatever reason you have to use both, SetHybridDouble() and SetHybridString() or SetHybridFormula(), use SetHybridDouble() first for performance reasons.

Definition at line 2672 of file formulacell.cxx.

References aResult, eTempGrammar, and ScFormulaResult::SetHybridFormula().

Referenced by ScCellObj::setFormulaString().

◆ SetHybridString()

void ScFormulaCell::SetHybridString ( const svl::SharedString r)

For import only: set a string result.

If for whatever reason you have to use both, SetHybridDouble() and SetHybridString() or SetHybridFormula(), use SetHybridDouble() first for performance reasons.

Definition at line 2662 of file formulacell.cxx.

References aResult, and ScFormulaResult::SetHybridString().

Referenced by ScXMLTableRowCellContext::PutTextCell(), and ScXMLTableRowCellContext::SetFormulaCell().

◆ SetInChangeTrack()

void ScFormulaCell::SetInChangeTrack ( bool  bVal)

◆ SetIsExtRef()

void ScFormulaCell::SetIsExtRef ( )
inline

Definition at line 505 of file formulacell.hxx.

◆ SetMatColsRows()

void ScFormulaCell::SetMatColsRows ( SCCOL  nCols,
SCROW  nRows 
)

◆ SetNeedNumberFormat()

void ScFormulaCell::SetNeedNumberFormat ( bool  bVal)

◆ SetNeedsDirty()

void ScFormulaCell::SetNeedsDirty ( bool  bVar)

Definition at line 1090 of file formulacell.cxx.

References mbPostponedDirty.

◆ SetNeedsListening()

void ScFormulaCell::SetNeedsListening ( bool  bVar)

◆ SetNext()

void ScFormulaCell::SetNext ( ScFormulaCell pF)

Definition at line 3993 of file formulacell.cxx.

References pNext.

Referenced by ScDocument::PutInFormulaTree(), and ScDocument::RemoveFromFormulaTree().

◆ SetNextTrack()

void ScFormulaCell::SetNextTrack ( ScFormulaCell pF)

Definition at line 3995 of file formulacell.cxx.

References pNextTrack.

Referenced by ScDocument::AppendToFormulaTrack(), and ScDocument::RemoveFromFormulaTrack().

◆ SetPrevious()

void ScFormulaCell::SetPrevious ( ScFormulaCell pF)

Definition at line 3992 of file formulacell.cxx.

References pPrevious.

Referenced by ScDocument::PutInFormulaTree(), and ScDocument::RemoveFromFormulaTree().

◆ SetPreviousTrack()

void ScFormulaCell::SetPreviousTrack ( ScFormulaCell pF)

◆ SetResultDouble()

void ScFormulaCell::SetResultDouble ( double  n)

For import only: set a double result.

Use this instead of SetHybridDouble() if there is no (temporary) formula string because the formula is present as a token array, as it is the case for binary Excel import.

Definition at line 2604 of file formulacell.cxx.

References aResult, n, and ScFormulaResult::SetDouble().

Referenced by ImportExcel::Formula(), ScColumn::SetFormulaResults(), and ImportExcel::Shrfmla().

◆ SetResultError()

void ScFormulaCell::SetResultError ( FormulaError  n)

Definition at line 2641 of file formulacell.cxx.

References aResult, n, and ScFormulaResult::SetResultError().

Referenced by ScColumn::SetFormulaResults().

◆ SetResultMatrix()

void ScFormulaCell::SetResultMatrix ( SCCOL  nCols,
SCROW  nRows,
const ScConstMatrixRef pMat,
const formula::FormulaToken pUL 
)

Definition at line 2624 of file formulacell.cxx.

References aResult, and ScFormulaResult::SetMatrix().

Referenced by ScXMLTableRowCellContext::AddFormulaCell().

◆ SetResultToken()

void ScFormulaCell::SetResultToken ( const formula::FormulaToken pToken)

Definition at line 2609 of file formulacell.cxx.

References aResult, and ScFormulaResult::SetToken().

◆ SetRunning()

void ScFormulaCell::SetRunning ( bool  bVal)

◆ SetSeenInPath()

void ScFormulaCell::SetSeenInPath ( bool  bSet)
inline

◆ SetTableOpDirty()

void ScFormulaCell::SetTableOpDirty ( )

◆ StartListeningTo() [1/2]

void ScFormulaCell::StartListeningTo ( sc::StartListeningContext rCxt)

◆ StartListeningTo() [2/2]

void ScFormulaCell::StartListeningTo ( ScDocument rDoc)

◆ SyncSharedCode()

void ScFormulaCell::SyncSharedCode ( )

Definition at line 5510 of file formulacell.cxx.

References mxGroup, and pCode.

◆ TestTabRefAbs()

bool ScFormulaCell::TestTabRefAbs ( SCTAB  nTable)

◆ TransposeReference()

void ScFormulaCell::TransposeReference ( )

◆ UpdateCompile()

void ScFormulaCell::UpdateCompile ( bool  bForceIfNameInUse)

◆ UpdateDeleteTab()

void ScFormulaCell::UpdateDeleteTab ( const sc::RefUpdateDeleteTabContext rCxt)

◆ UpdateGrow()

void ScFormulaCell::UpdateGrow ( const ScRange rArea,
SCCOL  nGrowX,
SCROW  nGrowY 
)

◆ UpdateInsertTab()

void ScFormulaCell::UpdateInsertTab ( const sc::RefUpdateInsertTabContext rCxt)

◆ UpdateInsertTabAbs()

void ScFormulaCell::UpdateInsertTabAbs ( SCTAB  nTable)

◆ UpdateMoveTab()

void ScFormulaCell::UpdateMoveTab ( const sc::RefUpdateMoveTabContext rCxt,
SCTAB  nTabNo 
)

◆ UpdatePosOnShift()

bool ScFormulaCell::UpdatePosOnShift ( const sc::RefUpdateContext rCxt)

Shift the position of formula cell as part of reference update.

Returns
true if the position has shifted, false otherwise.

Definition at line 3116 of file formulacell.cxx.

References aPos, ScRange::Contains(), sc::RefUpdateContext::maRange, sc::RefUpdateContext::meMode, sc::RefUpdateContext::mnColDelta, sc::RefUpdateContext::mnRowDelta, sc::RefUpdateContext::mnTabDelta, ScAddress::Move(), sc::RefUpdateContext::mrDoc, ScAddress::UNINITIALIZED, and URM_INSDEL.

Referenced by UpdateReference(), and UpdateReferenceOnShift().

◆ UpdateReference()

bool ScFormulaCell::UpdateReference ( const sc::RefUpdateContext rCxt,
ScDocument pUndoDoc = nullptr,
const ScAddress pUndoCellPos = nullptr 
)

◆ UpdateReferenceOnCopy()

bool ScFormulaCell::UpdateReferenceOnCopy ( const sc::RefUpdateContext rCxt,
ScDocument pUndoDoc,
const ScAddress pUndoCellPos 
)
private

◆ UpdateReferenceOnMove()

bool ScFormulaCell::UpdateReferenceOnMove ( const sc::RefUpdateContext rCxt,
ScDocument pUndoDoc,
const ScAddress pUndoCellPos 
)

◆ UpdateReferenceOnShift()

bool ScFormulaCell::UpdateReferenceOnShift ( const sc::RefUpdateContext rCxt,
ScDocument pUndoDoc,
const ScAddress pUndoCellPos 
)

◆ UpdateTranspose()

void ScFormulaCell::UpdateTranspose ( const ScRange rSource,
const ScAddress rDest,
ScDocument pUndoDoc 
)

Member Data Documentation

◆ aPos

ScAddress ScFormulaCell::aPos

Definition at line 188 of file formulacell.hxx.

Referenced by ScDocument::AddDelayedFormulaGroupingCell(), ScDocument::AddTableOpFormulaCell(), ScCellValue::assign(), ScColumn::AttachNewFormulaCells(), CalcAfterLoad(), CanBeUsedForSorterCache(), Clone(), Compile(), CompileTokenArray(), CompileXML(), ScTable::CopyData(), ScColumn::DetachFormulaCell(), ScValidationData::DoCalcError(), ScViewFunc::DoRefConversion(), EndListeningTo(), ScOutputData::FindChanged(), XclExpChTrCellContent::GetCellData(), GetFormula(), ScChangeActionContent::GetFormulaString(), GetMatrixEdge(), GetMatrixOrigin(), GetURLResult(), HandleStuffAfterParallelCalculation(), HasOneReference(), HasRefListExpressibleAsOneReference(), sc::FormulaLogger::GroupScope::Impl::Impl(), Interpret(), InterpretFormulaGroup(), InterpretFormulaGroupThreading(), InterpretInvariantFormulaGroup(), InterpretTail(), sc::SharedFormulaUtil::joinFormulaCells(), lcl_AddFormulaGroupBoundaries(), lcl_EvalDirty(), MarkUsedExternalReferences(), Notify(), ScCompiler::ParseColRowName(), ScCompiler::ParseTableRefColumn(), sc::FormulaGroupAreaListener::Query(), Query(), XclExpFormulaCell::SaveXml(), ScFormulaCell(), ScFormulaListener::ScFormulaListener(), SetDirty(), sc::SharedFormulaUtil::splitFormulaCellGroup(), sc::SharedFormulaUtil::startListeningAsGroup(), StartListeningTo(), TestTabRefAbs(), sc::SharedFormulaUtil::unshareFormulaCell(), UpdateDeleteTab(), UpdateGrow(), UpdateInsertTab(), UpdateMoveTab(), UpdatePosOnShift(), ScChangeActionContent::UpdateReference(), UpdateReferenceOnCopy(), UpdateReferenceOnMove(), UpdateReferenceOnShift(), UpdateTranspose(), and ScChangeTrackingExportHelper::WriteFormulaCell().

◆ aResult

ScFormulaResult ScFormulaCell::aResult
private

◆ bChanged

bool ScFormulaCell::bChanged
private

◆ bCompile

bool ScFormulaCell::bCompile
private

◆ bDirty

bool ScFormulaCell::bDirty
private

◆ bInChangeTrack

bool ScFormulaCell::bInChangeTrack
private

Definition at line 131 of file formulacell.hxx.

Referenced by SetInChangeTrack().

◆ bIsIterCell

bool ScFormulaCell::bIsIterCell
private

Definition at line 130 of file formulacell.hxx.

Referenced by Interpret(), and InterpretTail().

◆ bNeedListening

bool ScFormulaCell::bNeedListening
private

Definition at line 132 of file formulacell.hxx.

Referenced by SetNeedsListening().

◆ bRunning

bool ScFormulaCell::bRunning
private

Definition at line 127 of file formulacell.hxx.

Referenced by Interpret(), InterpretTail(), and SetRunning().

◆ bSubTotal

bool ScFormulaCell::bSubTotal
private

Definition at line 129 of file formulacell.hxx.

Referenced by CalcAfterLoad(), CompileTokenArray(), CompileXML(), Notify(), and ScFormulaCell().

◆ bTableOpDirty

bool ScFormulaCell::bTableOpDirty
private

Definition at line 125 of file formulacell.hxx.

Referenced by Notify(), ResetDirty(), ResetTableOpDirtyVar(), and SetTableOpDirty().

◆ cMatrixFlag

ScMatrixMode ScFormulaCell::cMatrixFlag
private

◆ eTempGrammar

formula::FormulaGrammar::Grammar ScFormulaCell::eTempGrammar
private

◆ mbAllowNumberFormatChange

bool ScFormulaCell::mbAllowNumberFormatChange
private

Definition at line 134 of file formulacell.hxx.

Referenced by InterpretTail(), and SetNeedNumberFormat().

◆ mbFreeFlying

bool ScFormulaCell::mbFreeFlying
private

Definition at line 139 of file formulacell.hxx.

Referenced by Interpret().

◆ mbIsExtRef

bool ScFormulaCell::mbIsExtRef
private

Definition at line 137 of file formulacell.hxx.

Referenced by CompileXML().

◆ mbNeedsNumberFormat

bool ScFormulaCell::mbNeedsNumberFormat
private

Definition at line 133 of file formulacell.hxx.

Referenced by InterpretTail(), and SetNeedNumberFormat().

◆ mbPostponedDirty

bool ScFormulaCell::mbPostponedDirty
private

◆ mbSeenInPath

bool ScFormulaCell::mbSeenInPath
private

Definition at line 138 of file formulacell.hxx.

Referenced by Interpret().

◆ mxGroup

ScFormulaCellGroupRef ScFormulaCell::mxGroup
private

◆ nFormatType

SvNumFormatType ScFormulaCell::nFormatType
private

◆ nSeenInIteration

sal_uInt16 ScFormulaCell::nSeenInIteration
private

Definition at line 141 of file formulacell.hxx.

Referenced by Interpret(), and InterpretTail().

◆ pCode

ScTokenArray* ScFormulaCell::pCode
private

◆ pNext

ScFormulaCell* ScFormulaCell::pNext
private

Definition at line 150 of file formulacell.hxx.

Referenced by SetNext().

◆ pNextTrack

ScFormulaCell* ScFormulaCell::pNextTrack
private

Definition at line 152 of file formulacell.hxx.

Referenced by SetNextTrack().

◆ pPrevious

ScFormulaCell* ScFormulaCell::pPrevious
private

Definition at line 149 of file formulacell.hxx.

Referenced by SetPrevious().

◆ pPreviousTrack

ScFormulaCell* ScFormulaCell::pPreviousTrack
private

Definition at line 151 of file formulacell.hxx.

Referenced by SetPreviousTrack().

◆ rDocument

ScDocument& ScFormulaCell::rDocument
private

The documentation for this class was generated from the following files: