summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-06-17 19:55:58 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-06-18 08:23:06 +0200
commit20b8c7f38ae1c03dc0405a2da006ab6b2dbf3627 (patch)
treedbdef33c3fe95d50f969690d7755ae2b0a02567e
parentca47989ad60b1414f92be22a1fbf4c1d1a92dd97 (diff)
create getter for ScCellValue::mpFormula
so we can assert that it has the correct tag type Change-Id: Iab13a6d6ea1783c69395f06f28732769e5fe8b18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136059 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sc/inc/cellvalue.hxx13
-rw-r--r--sc/inc/dociter.hxx4
-rw-r--r--sc/source/core/data/cellvalue.cxx48
-rw-r--r--sc/source/core/data/clipcontext.cxx18
-rw-r--r--sc/source/core/data/column2.cxx4
-rw-r--r--sc/source/core/data/column3.cxx6
-rw-r--r--sc/source/core/data/column4.cxx2
-rw-r--r--sc/source/core/data/conditio.cxx8
-rw-r--r--sc/source/core/data/dociter.cxx18
-rw-r--r--sc/source/core/data/document.cxx2
-rw-r--r--sc/source/core/data/documentimport.cxx5
-rw-r--r--sc/source/core/data/queryevaluator.cxx18
-rw-r--r--sc/source/core/data/queryiter.cxx2
-rw-r--r--sc/source/core/data/table2.cxx6
-rw-r--r--sc/source/core/data/table3.cxx20
-rw-r--r--sc/source/core/data/table4.cxx14
-rw-r--r--sc/source/core/data/table5.cxx4
-rw-r--r--sc/source/core/data/table6.cxx6
-rw-r--r--sc/source/core/data/validat.cxx2
-rw-r--r--sc/source/core/tool/cellform.cxx4
-rw-r--r--sc/source/core/tool/chartarr.cxx2
-rw-r--r--sc/source/core/tool/chgtrack.cxx44
-rw-r--r--sc/source/core/tool/detfunc.cxx6
-rw-r--r--sc/source/core/tool/interpr1.cxx20
-rw-r--r--sc/source/core/tool/interpr4.cxx48
-rw-r--r--sc/source/core/tool/interpr5.cxx18
-rw-r--r--sc/source/core/tool/rangeseq.cxx2
-rw-r--r--sc/source/filter/dif/difexp.cxx6
-rw-r--r--sc/source/filter/excel/xetable.cxx2
-rw-r--r--sc/source/filter/html/htmlexp.cxx4
-rw-r--r--sc/source/filter/xcl97/XclExpChangeTrack.cxx2
-rw-r--r--sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx2
-rw-r--r--sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx12
-rw-r--r--sc/source/filter/xml/xmlcelli.cxx4
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx6
-rw-r--r--sc/source/ui/Accessibility/AccessibleCell.cxx2
-rw-r--r--sc/source/ui/docshell/docsh.cxx8
-rw-r--r--sc/source/ui/docshell/docsh3.cxx4
-rw-r--r--sc/source/ui/docshell/externalrefmgr.cxx4
-rw-r--r--sc/source/ui/docshell/impex.cxx4
-rw-r--r--sc/source/ui/undo/undocell.cxx2
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx18
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx2
-rw-r--r--sc/source/ui/view/cellsh1.cxx2
-rw-r--r--sc/source/ui/view/gridwin.cxx8
-rw-r--r--sc/source/ui/view/output.cxx4
-rw-r--r--sc/source/ui/view/output2.cxx16
-rw-r--r--sc/source/ui/view/tabvwsh.cxx2
-rw-r--r--sc/source/ui/view/tabvwsh5.cxx4
-rw-r--r--sc/source/ui/view/tabvwsha.cxx2
-rw-r--r--sc/source/ui/view/viewfun2.cxx2
51 files changed, 238 insertions, 228 deletions
diff --git a/sc/inc/cellvalue.hxx b/sc/inc/cellvalue.hxx
index 192e499bbb25..1095d32a3d39 100644
--- a/sc/inc/cellvalue.hxx
+++ b/sc/inc/cellvalue.hxx
@@ -41,7 +41,7 @@ public:
double mfValue1;
svl::SharedString* mpString;
EditTextObject* mpEditText1;
- ScFormulaCell* mpFormula;
+ ScFormulaCell* mpFormula1;
};
ScCellValue();
@@ -72,6 +72,14 @@ public:
mpEditText1 = nullptr;
return p;
}
+ ScFormulaCell* getFormula() const { assert(meType == CELLTYPE_FORMULA); return mpFormula1; }
+ ScFormulaCell* releaseFormula()
+ {
+ assert(meType == CELLTYPE_FORMULA);
+ auto p = mpFormula1;
+ mpFormula1 = nullptr;
+ return p;
+ }
/**
* Take cell value from specified position in specified document.
@@ -124,7 +132,7 @@ public:
double mfValue1;
const svl::SharedString* mpString;
const EditTextObject* mpEditText1;
- ScFormulaCell* mpFormula;
+ ScFormulaCell* mpFormula1;
};
ScRefCellValue();
@@ -145,6 +153,7 @@ public:
double getDouble() const { assert(meType == CELLTYPE_VALUE); return mfValue1; }
const svl::SharedString* getSharedString() const { assert(meType == CELLTYPE_STRING); return mpString; }
const EditTextObject* getEditText() const { assert(meType == CELLTYPE_EDIT); return mpEditText1; }
+ ScFormulaCell* getFormula() const { assert(meType == CELLTYPE_FORMULA); return mpFormula1; }
/**
* Take cell value from specified position in specified document.
diff --git a/sc/inc/dociter.hxx b/sc/inc/dociter.hxx
index fc1609d6daab..ff58a4181e12 100644
--- a/sc/inc/dociter.hxx
+++ b/sc/inc/dociter.hxx
@@ -235,8 +235,8 @@ public:
CellType getType() const { return maCurCell.getType();}
OUString getString() const;
const EditTextObject* getEditText() const { return maCurCell.getEditText();}
- ScFormulaCell* getFormulaCell() { return maCurCell.mpFormula;}
- const ScFormulaCell* getFormulaCell() const { return maCurCell.mpFormula;}
+ ScFormulaCell* getFormulaCell() { return maCurCell.getFormula();}
+ const ScFormulaCell* getFormulaCell() const { return maCurCell.getFormula();}
ScCellValue getCellValue() const;
const ScRefCellValue& getRefCellValue() const { return maCurCell;}
diff --git a/sc/source/core/data/cellvalue.cxx b/sc/source/core/data/cellvalue.cxx
index 6de2a253d72f..fa246b34d04b 100644
--- a/sc/source/core/data/cellvalue.cxx
+++ b/sc/source/core/data/cellvalue.cxx
@@ -100,7 +100,7 @@ bool equalsWithoutFormatImpl( const T& left, const T& right )
return aStr1 == aStr2;
}
case CELLTYPE_FORMULA:
- return equalsFormulaCells(left.mpFormula, right.mpFormula);
+ return equalsFormulaCells(left.mpFormula1, right.mpFormula1);
default:
;
}
@@ -123,7 +123,7 @@ void commitToColumn( const ScCellValue& rCell, ScColumn& rColumn, SCROW nRow )
case CELLTYPE_FORMULA:
{
ScAddress aDestPos(rColumn.GetCol(), nRow, rColumn.GetTab());
- rColumn.SetFormulaCell(nRow, new ScFormulaCell(*rCell.mpFormula, rColumn.GetDoc(), aDestPos));
+ rColumn.SetFormulaCell(nRow, new ScFormulaCell(*rCell.mpFormula1, rColumn.GetDoc(), aDestPos));
}
break;
default:
@@ -172,7 +172,7 @@ OUString getStringImpl( const CellT& rCell, const ScDocument* pDoc )
return ScEditUtil::GetString(*rCell.mpEditText1, pDoc);
break;
case CELLTYPE_FORMULA:
- return rCell.mpFormula->GetString().getString();
+ return rCell.mpFormula1->GetString().getString();
default:
;
}
@@ -193,7 +193,7 @@ OUString getRawStringImpl( const CellT& rCell, const ScDocument& rDoc )
return ScEditUtil::GetString(*rCell.mpEditText1, &rDoc);
break;
case CELLTYPE_FORMULA:
- return rCell.mpFormula->GetRawString().getString();
+ return rCell.mpFormula1->GetRawString().getString();
default:
;
}
@@ -215,7 +215,7 @@ ScCellValue::ScCellValue( const ScRefCellValue& rCell ) : meType(rCell.getType()
mpEditText1 = rCell.mpEditText1->Clone().release();
break;
case CELLTYPE_FORMULA:
- mpFormula = rCell.mpFormula->Clone();
+ mpFormula1 = rCell.mpFormula1->Clone();
break;
default:
;
@@ -239,7 +239,7 @@ ScCellValue::ScCellValue( const ScCellValue& r ) : meType(r.meType), mfValue1(r.
mpEditText1 = r.mpEditText1->Clone().release();
break;
case CELLTYPE_FORMULA:
- mpFormula = r.mpFormula->Clone();
+ mpFormula1 = r.mpFormula1->Clone();
break;
default:
;
@@ -259,7 +259,7 @@ ScCellValue::ScCellValue(ScCellValue&& r) noexcept
mpEditText1 = r.mpEditText1;
break;
case CELLTYPE_FORMULA:
- mpFormula = r.mpFormula;
+ mpFormula1 = r.mpFormula1;
break;
default:
;
@@ -283,7 +283,7 @@ void ScCellValue::clear() noexcept
delete mpEditText1;
break;
case CELLTYPE_FORMULA:
- delete mpFormula;
+ delete mpFormula1;
break;
default:
;
@@ -326,7 +326,7 @@ void ScCellValue::set( ScFormulaCell* pFormula )
{
clear();
meType = CELLTYPE_FORMULA;
- mpFormula = pFormula;
+ mpFormula1 = pFormula;
}
void ScCellValue::assign( const ScDocument& rDoc, const ScAddress& rPos )
@@ -349,7 +349,7 @@ void ScCellValue::assign( const ScDocument& rDoc, const ScAddress& rPos )
mfValue1 = aRefVal.mfValue1;
break;
case CELLTYPE_FORMULA:
- mpFormula = aRefVal.mpFormula->Clone();
+ mpFormula1 = aRefVal.mpFormula1->Clone();
break;
default:
meType = CELLTYPE_NONE; // reset to empty.
@@ -394,7 +394,7 @@ void ScCellValue::assign(const ScCellValue& rOther, ScDocument& rDestDoc, ScClon
break;
case CELLTYPE_FORMULA:
// Switch to the destination document.
- mpFormula = new ScFormulaCell(*rOther.mpFormula, rDestDoc, rOther.mpFormula->aPos, nCloneFlags);
+ mpFormula1 = new ScFormulaCell(*rOther.mpFormula1, rDestDoc, rOther.mpFormula1->aPos, nCloneFlags);
break;
default:
meType = CELLTYPE_NONE; // reset to empty.
@@ -419,7 +419,7 @@ void ScCellValue::commit( ScDocument& rDoc, const ScAddress& rPos ) const
rDoc.SetValue(rPos, mfValue1);
break;
case CELLTYPE_FORMULA:
- rDoc.SetFormulaCell(rPos, mpFormula->Clone());
+ rDoc.SetFormulaCell(rPos, mpFormula1->Clone());
break;
default:
rDoc.SetEmptyCell(rPos);
@@ -453,7 +453,7 @@ void ScCellValue::release( ScDocument& rDoc, const ScAddress& rPos )
break;
case CELLTYPE_FORMULA:
// This formula cell instance is directly placed in the document without copying.
- rDoc.SetFormulaCell(rPos, mpFormula);
+ rDoc.SetFormulaCell(rPos, mpFormula1);
break;
default:
rDoc.SetEmptyCell(rPos);
@@ -483,7 +483,7 @@ void ScCellValue::release( ScColumn& rColumn, SCROW nRow, sc::StartListeningType
break;
case CELLTYPE_FORMULA:
// This formula cell instance is directly placed in the document without copying.
- rColumn.SetFormulaCell(nRow, mpFormula, eListenType);
+ rColumn.SetFormulaCell(nRow, mpFormula1, eListenType);
break;
default:
rColumn.DeleteContent(nRow);
@@ -530,12 +530,12 @@ ScCellValue& ScCellValue::operator=(ScCellValue&& rCell) noexcept
mpEditText1 = rCell.mpEditText1;
break;
case CELLTYPE_FORMULA:
- mpFormula = rCell.mpFormula;
+ mpFormula1 = rCell.mpFormula1;
break;
default:
;
}
- //we don't need to reset mpString/mpEditText1/mpFormula if we
+ //we don't need to reset mpString/mpEditText1/mpFormula1 if we
//set meType to NONE as the ScCellValue dtor keys off the meType
rCell.meType = CELLTYPE_NONE;
@@ -562,7 +562,7 @@ ScRefCellValue::ScRefCellValue() : meType(CELLTYPE_NONE), mfValue1(0.0) {}
ScRefCellValue::ScRefCellValue( double fValue ) : meType(CELLTYPE_VALUE), mfValue1(fValue) {}
ScRefCellValue::ScRefCellValue( const svl::SharedString* pString ) : meType(CELLTYPE_STRING), mpString(pString) {}
ScRefCellValue::ScRefCellValue( const EditTextObject* pEditText ) : meType(CELLTYPE_EDIT), mpEditText1(pEditText) {}
-ScRefCellValue::ScRefCellValue( ScFormulaCell* pFormula ) : meType(CELLTYPE_FORMULA), mpFormula(pFormula) {}
+ScRefCellValue::ScRefCellValue( ScFormulaCell* pFormula ) : meType(CELLTYPE_FORMULA), mpFormula1(pFormula) {}
ScRefCellValue::ScRefCellValue( ScDocument& rDoc, const ScAddress& rPos )
{
@@ -609,7 +609,7 @@ void ScRefCellValue::commit( ScDocument& rDoc, const ScAddress& rPos ) const
rDoc.SetValue(rPos, mfValue1);
break;
case CELLTYPE_FORMULA:
- rDoc.SetFormulaCell(rPos, new ScFormulaCell(*mpFormula, rDoc, rPos));
+ rDoc.SetFormulaCell(rPos, new ScFormulaCell(*mpFormula1, rDoc, rPos));
break;
default:
rDoc.SetEmptyCell(rPos);
@@ -618,17 +618,17 @@ void ScRefCellValue::commit( ScDocument& rDoc, const ScAddress& rPos ) const
bool ScRefCellValue::hasString() const
{
- return hasStringImpl(meType, mpFormula);
+ return hasStringImpl(meType, mpFormula1);
}
bool ScRefCellValue::hasNumeric() const
{
- return hasNumericImpl(meType, mpFormula);
+ return hasNumericImpl(meType, mpFormula1);
}
bool ScRefCellValue::hasError() const
{
- return meType == CELLTYPE_FORMULA && mpFormula->GetErrCode() != FormulaError::NONE;
+ return meType == CELLTYPE_FORMULA && mpFormula1->GetErrCode() != FormulaError::NONE;
}
double ScRefCellValue::getValue()
@@ -638,7 +638,7 @@ double ScRefCellValue::getValue()
case CELLTYPE_VALUE:
return mfValue1;
case CELLTYPE_FORMULA:
- return mpFormula->GetValue();
+ return mpFormula1->GetValue();
default:
;
}
@@ -652,7 +652,7 @@ double ScRefCellValue::getRawValue() const
case CELLTYPE_VALUE:
return mfValue1;
case CELLTYPE_FORMULA:
- return mpFormula->GetRawValue();
+ return mpFormula1->GetRawValue();
default:
;
}
@@ -680,7 +680,7 @@ bool ScRefCellValue::hasEmptyValue()
return true;
if (meType == CELLTYPE_FORMULA)
- return mpFormula->IsEmpty();
+ return mpFormula1->IsEmpty();
return false;
}
diff --git a/sc/source/core/data/clipcontext.cxx b/sc/source/core/data/clipcontext.cxx
index 8b4f72d73c5e..ee97d315077b 100644
--- a/sc/source/core/data/clipcontext.cxx
+++ b/sc/source/core/data/clipcontext.cxx
@@ -193,7 +193,7 @@ void CopyFromClipContext::setSingleCell( const ScAddress& rSrcPos, const ScColum
if (bBoolean)
{
// Check if this formula cell is a boolean cell, and if so, go ahead and paste it.
- const ScTokenArray* pCode = rSrcCell.mpFormula->GetCode();
+ const ScTokenArray* pCode = rSrcCell.getFormula()->GetCode();
if (pCode && pCode->GetLen() == 1)
{
const formula::FormulaToken* p = pCode->FirstToken();
@@ -207,7 +207,7 @@ void CopyFromClipContext::setSingleCell( const ScAddress& rSrcPos, const ScColum
// Good.
break;
- FormulaError nErr = rSrcCell.mpFormula->GetErrCode();
+ FormulaError nErr = rSrcCell.getFormula()->GetErrCode();
if (nErr != FormulaError::NONE)
{
// error codes are cloned with values
@@ -222,12 +222,12 @@ void CopyFromClipContext::setSingleCell( const ScAddress& rSrcPos, const ScColum
rSrcCell.set(pErrCell);
}
}
- else if (rSrcCell.mpFormula->IsEmptyDisplayedAsString())
+ else if (rSrcCell.getFormula()->IsEmptyDisplayedAsString())
{
// Empty stays empty and doesn't become 0.
rSrcCell.clear();
}
- else if (rSrcCell.mpFormula->IsValue())
+ else if (rSrcCell.getFormula()->IsValue())
{
bool bPaste = isDateCell(rSrcCol, rSrcPos.Row()) ? bDateTime : bNumeric;
if (!bPaste)
@@ -238,11 +238,11 @@ void CopyFromClipContext::setSingleCell( const ScAddress& rSrcPos, const ScColum
}
// Turn this into a numeric cell.
- rSrcCell.set(rSrcCell.mpFormula->GetValue());
+ rSrcCell.set(rSrcCell.getFormula()->GetValue());
}
else if (bString)
{
- svl::SharedString aStr = rSrcCell.mpFormula->GetString();
+ svl::SharedString aStr = rSrcCell.getFormula()->GetString();
if (aStr.isEmpty())
{
// do not clone empty string
@@ -251,18 +251,18 @@ void CopyFromClipContext::setSingleCell( const ScAddress& rSrcPos, const ScColum
}
// Turn this into a string or edit cell.
- if (rSrcCell.mpFormula->IsMultilineResult())
+ if (rSrcCell.getFormula()->IsMultilineResult())
{
// TODO : Add shared string support to the edit engine to
// make this process simpler.
ScFieldEditEngine& rEngine = mrDestDoc.GetEditEngine();
- rEngine.SetTextCurrentDefaults(rSrcCell.mpFormula->GetString().getString());
+ rEngine.SetTextCurrentDefaults(rSrcCell.getFormula()->GetString().getString());
std::unique_ptr<EditTextObject> pObj(rEngine.CreateTextObject());
pObj->NormalizeString(mrDestDoc.GetSharedStringPool());
rSrcCell.set(*pObj);
}
else
- rSrcCell.set(rSrcCell.mpFormula->GetString());
+ rSrcCell.set(rSrcCell.getFormula()->GetString());
}
else
// We don't want to paste this.
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 208b8dac5fe3..cc806168d1ed 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -169,7 +169,7 @@ tools::Long ScColumn::GetNeededSize(
bool bCellIsValue = (aCell.getType() == CELLTYPE_VALUE);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
bCellIsValue = pFCell->IsRunning() || pFCell->IsValue();
}
@@ -282,7 +282,7 @@ tools::Long ScColumn::GetNeededSize(
bool bEditEngine = (eCellType == CELLTYPE_EDIT ||
eOrient == SvxCellOrientation::Stacked ||
IsAmbiguousScript(nScript) ||
- ((eCellType == CELLTYPE_FORMULA) && aCell.mpFormula->IsMultilineResult()));
+ ((eCellType == CELLTYPE_FORMULA) && aCell.getFormula()->IsMultilineResult()));
if (!bEditEngine) // direct output
{
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 7586b000768d..019a8b58283a 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -2562,7 +2562,7 @@ class FilterEntriesHandler
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFC = rCell.mpFormula;
+ ScFormulaCell* pFC = rCell.getFormula();
FormulaError nErr = pFC->GetErrCode();
if (nErr != FormulaError::NONE)
{
@@ -3030,7 +3030,7 @@ OUString ScColumn::GetString( const ScRefCellValue& aCell, SCROW nRow, const ScI
{
// ugly hack for ordering problem with GetNumberFormat and missing inherited formats
if (aCell.getType() == CELLTYPE_FORMULA)
- aCell.mpFormula->MaybeInterpret();
+ aCell.getFormula()->MaybeInterpret();
sal_uInt32 nFormat = GetNumberFormat( pContext ? *pContext : GetDoc().GetNonThreadedContext(), nRow);
const Color* pColor = nullptr;
@@ -3345,7 +3345,7 @@ class MaxNumStringLenHandler
sal_uInt16 nCellPrecision = mnMaxGeneralPrecision;
if (rCell.getType() == CELLTYPE_FORMULA)
{
- if (!rCell.mpFormula->IsValue())
+ if (!rCell.getFormula()->IsValue())
return;
// Limit unformatted formula cell precision to precision
diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx
index 7fd63d2dfa27..2c610d48d5fc 100644
--- a/sc/source/core/data/column4.cxx
+++ b/sc/source/core/data/column4.cxx
@@ -321,7 +321,7 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1,
std::vector<sc::RowSpan> aRanges;
aRanges.reserve(1);
aRanges.emplace_back(nRow1, nRow2);
- CloneFormulaCell(*pBlockPos, *rSrcCell.mpFormula, rSrcAttr, aRanges);
+ CloneFormulaCell(*pBlockPos, *rSrcCell.getFormula(), rSrcAttr, aRanges);
}
break;
default:
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index 7a421292e661..61fdf2fc8b87 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -735,11 +735,11 @@ static bool lcl_GetCellContent( ScRefCellValue& rCell, bool bIsStr1, double& rAr
break;
case CELLTYPE_FORMULA:
{
- bVal = rCell.mpFormula->IsValue();
+ bVal = rCell.getFormula()->IsValue();
if (bVal)
- rArg = rCell.mpFormula->GetValue();
+ rArg = rCell.getFormula()->GetValue();
else
- rArgStr = rCell.mpFormula->GetString().getString();
+ rArgStr = rCell.getFormula()->GetString().getString();
}
break;
case CELLTYPE_STRING:
@@ -952,7 +952,7 @@ bool ScConditionEntry::IsError( const ScAddress& rPos ) const
if (rCell.getType() == CELLTYPE_FORMULA)
{
- if (rCell.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (rCell.getFormula()->GetErrCode() != FormulaError::NONE)
return true;
}
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 1563a6af7e9f..2c64a22e9011 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -423,22 +423,22 @@ bool ScDBQueryDataIterator::DataAccessInternal::getCurrent(Value& rValue)
case CELLTYPE_FORMULA:
{
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
- rValue.mfValue = aCell.mpFormula->GetValue();
+ rValue.mfValue = aCell.getFormula()->GetValue();
rValue.mbIsNumber = true;
mrDoc.GetNumberFormatInfo(
mrContext, nNumFmtType, nNumFmtIndex, ScAddress(nCol, nRow, nTab));
- rValue.mnError = aCell.mpFormula->GetErrCode();
+ rValue.mnError = aCell.getFormula()->GetErrCode();
return true; // Found it!
}
else if(mpParam->mbSkipString)
incPos();
else
{
- rValue.maString = aCell.mpFormula->GetString().getString();
+ rValue.maString = aCell.getFormula()->GetString().getString();
rValue.mfValue = 0.0;
- rValue.mnError = aCell.mpFormula->GetErrCode();
+ rValue.mnError = aCell.getFormula()->GetErrCode();
rValue.mbIsNumber = false;
return true;
}
@@ -984,7 +984,7 @@ ScCellValue ScCellIterator::getCellValue() const
return ScCellValue(maCurCell.getDouble());
break;
case CELLTYPE_FORMULA:
- return ScCellValue(maCurCell.mpFormula->Clone());
+ return ScCellValue(maCurCell.getFormula()->Clone());
break;
default:
return ScCellValue();
@@ -1324,10 +1324,10 @@ bool ScHorizontalValueIterator::GetNext( double& rValue, FormulaError& rErr )
break;
case CELLTYPE_FORMULA:
{
- rErr = pCell->mpFormula->GetErrCode();
- if (rErr != FormulaError::NONE || pCell->mpFormula->IsValue())
+ rErr = pCell->getFormula()->GetErrCode();
+ if (rErr != FormulaError::NONE || pCell->getFormula()->IsValue())
{
- rValue = pCell->mpFormula->GetValue();
+ rValue = pCell->getFormula()->GetValue();
bFound = true;
}
}
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index f3c34ab49493..15f44a1ef4d5 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3612,7 +3612,7 @@ FormulaError ScDocument::GetStringForFormula( const ScAddress& rPos, OUString& r
break;
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
nErr = pFCell->GetErrCode();
if (pFCell->IsValue())
{
diff --git a/sc/source/core/data/documentimport.cxx b/sc/source/core/data/documentimport.cxx
index 6134a53d032d..5a2e77e66ffb 100644
--- a/sc/source/core/data/documentimport.cxx
+++ b/sc/source/core/data/documentimport.cxx
@@ -235,10 +235,9 @@ void ScDocumentImport::setAutoInput(const ScAddress& rPos, const OUString& rStr,
break;
case CELLTYPE_FORMULA:
if (!pStringParam)
- mpImpl->mrDoc.CheckLinkFormulaNeedingCheck( *aCell.mpFormula->GetCode());
+ mpImpl->mrDoc.CheckLinkFormulaNeedingCheck( *aCell.getFormula()->GetCode());
// This formula cell instance is directly placed in the document without copying.
- pBlockPos->miCellPos = rCells.set(pBlockPos->miCellPos, rPos.Row(), aCell.mpFormula);
- aCell.mpFormula = nullptr;
+ pBlockPos->miCellPos = rCells.set(pBlockPos->miCellPos, rPos.Row(), aCell.releaseFormula());
break;
default:
pBlockPos->miCellPos = rCells.set_empty(pBlockPos->miCellPos, rPos.Row(), rPos.Row());
diff --git a/sc/source/core/data/queryevaluator.cxx b/sc/source/core/data/queryevaluator.cxx
index ef1ef6e1c0f3..a63084726083 100644
--- a/sc/source/core/data/queryevaluator.cxx
+++ b/sc/source/core/data/queryevaluator.cxx
@@ -158,7 +158,8 @@ bool ScQueryEvaluator::isQueryByValue(const ScQueryEntry& rEntry, const ScQueryE
bool ScQueryEvaluator::isQueryByValueForCell(const ScRefCellValue& rCell)
{
- if (rCell.getType() == CELLTYPE_FORMULA && rCell.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (rCell.getType() == CELLTYPE_FORMULA
+ && rCell.getFormula()->GetErrCode() != FormulaError::NONE)
// Error values are compared as string.
return false;
@@ -208,7 +209,7 @@ std::pair<bool, bool> ScQueryEvaluator::compareByValue(const ScRefCellValue& rCe
nCellVal = rCell.getDouble();
break;
case CELLTYPE_FORMULA:
- nCellVal = rCell.mpFormula->GetValue();
+ nCellVal = rCell.getFormula()->GetValue();
break;
default:
nCellVal = 0.0;
@@ -301,10 +302,11 @@ OUString ScQueryEvaluator::getCellString(const ScRefCellValue& rCell, SCROW nRow
const ScQueryEntry& rEntry,
const svl::SharedString** sharedString)
{
- if (rCell.getType() == CELLTYPE_FORMULA && rCell.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (rCell.getType() == CELLTYPE_FORMULA
+ && rCell.getFormula()->GetErrCode() != FormulaError::NONE)
{
// Error cell is evaluated as string (for now).
- const FormulaError error = rCell.mpFormula->GetErrCode();
+ const FormulaError error = rCell.getFormula()->GetErrCode();
auto it = mCachedSharedErrorStrings.find(error);
if (it == mCachedSharedErrorStrings.end())
{
@@ -685,7 +687,7 @@ std::pair<bool, bool> ScQueryEvaluator::compareByRangeLookup(const ScRefCellValu
if (rItem.meType == ScQueryEntry::ByString)
{
if (rCell.getType() == CELLTYPE_FORMULA
- && rCell.mpFormula->GetErrCode() != FormulaError::NONE)
+ && rCell.getFormula()->GetErrCode() != FormulaError::NONE)
// Error values are compared as string.
return std::pair<bool, bool>(false, bTestEqual);
@@ -724,10 +726,10 @@ std::pair<bool, bool> ScQueryEvaluator::processEntry(SCROW nRow, SCCOL nCol, ScR
if (aCell.getType() == CELLTYPE_VALUE)
value = aCell.getDouble();
else if (aCell.getType() == CELLTYPE_FORMULA
- && aCell.mpFormula->GetErrCode() != FormulaError::NONE
- && aCell.mpFormula->IsValue())
+ && aCell.getFormula()->GetErrCode() != FormulaError::NONE
+ && aCell.getFormula()->IsValue())
{
- value = aCell.mpFormula->GetValue();
+ value = aCell.getFormula()->GetValue();
}
else
valid = false;
diff --git a/sc/source/core/data/queryiter.cxx b/sc/source/core/data/queryiter.cxx
index 7d51fff4e601..5156385c4b8f 100644
--- a/sc/source/core/data/queryiter.cxx
+++ b/sc/source/core/data/queryiter.cxx
@@ -438,7 +438,7 @@ bool ScQueryCellIteratorBase< accessType, queryType >::BinarySearch( SCCOL col,
fLastInRangeValue = aCell.getDouble();
break;
case CELLTYPE_FORMULA :
- fLastInRangeValue = aCell.mpFormula->GetValue();
+ fLastInRangeValue = aCell.getFormula()->GetValue();
break;
default:
{
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 6ee8d4237356..a8b5882a54ea 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -4119,7 +4119,7 @@ void ScTable::DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SC
if (aCell.getType() != CELLTYPE_FORMULA)
continue;
- if (!aCell.mpFormula->HasRefListExpressibleAsOneReference(aRef))
+ if (!aCell.getFormula()->HasRefListExpressibleAsOneReference(aRef))
continue;
if ( aRef.aStart.Col() == nCol && aRef.aEnd.Col() == nCol &&
@@ -4179,8 +4179,8 @@ void ScTable::CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW n
aCxt.mnColDelta = nDestCol - nStartCol;
aCxt.mnRowDelta = nDestRow - nStartRow;
aCxt.mnTabDelta = nDestTab - nTab;
- aCell.mpFormula->UpdateReference(aCxt);
- aCell.mpFormula->aPos = aDest;
+ aCell.getFormula()->UpdateReference(aCxt);
+ aCell.getFormula()->aPos = aDest;
}
if (bThisTab)
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 5e7e58d0184f..391d012344b7 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -741,13 +741,13 @@ void fillSortedColumnArray(
case CELLTYPE_FORMULA:
{
assert(rCell.mpAttr);
- ScAddress aOldPos = rCell.maCell.mpFormula->aPos;
+ ScAddress aOldPos = rCell.maCell.getFormula()->aPos;
const ScAddress aCellPos(nCol1 + j, nRow, nTab);
- ScFormulaCell* pNew = rCell.maCell.mpFormula->Clone( aCellPos );
+ ScFormulaCell* pNew = rCell.maCell.getFormula()->Clone( aCellPos );
if (pArray->IsUpdateRefs())
{
- pNew->CopyAllBroadcasters(*rCell.maCell.mpFormula);
+ pNew->CopyAllBroadcasters(*rCell.maCell.getFormula());
pNew->GetCode()->AdjustReferenceOnMovedOrigin(aOldPos, aCellPos);
}
else
@@ -760,7 +760,7 @@ void fillSortedColumnArray(
// Original source cells will be deleted during
// sc::CellStoreType::transfer(), SvtListener is a base
// class, so we need to replace it.
- auto it( ::std::find( rCellListeners.begin(), rCellListeners.end(), rCell.maCell.mpFormula));
+ auto it( ::std::find( rCellListeners.begin(), rCellListeners.end(), rCell.maCell.getFormula()));
if (it != rCellListeners.end())
*it = pNew;
}
@@ -1539,12 +1539,12 @@ short ScTable::CompareCell(
bool bStr1 = ( eType1 != CELLTYPE_VALUE );
if (eType1 == CELLTYPE_FORMULA)
{
- if (rCell1.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (rCell1.getFormula()->GetErrCode() != FormulaError::NONE)
{
bErr1 = true;
bStr1 = false;
}
- else if (rCell1.mpFormula->IsValue())
+ else if (rCell1.getFormula()->IsValue())
{
bStr1 = false;
}
@@ -1554,12 +1554,12 @@ short ScTable::CompareCell(
bool bStr2 = ( eType2 != CELLTYPE_VALUE );
if (eType2 == CELLTYPE_FORMULA)
{
- if (rCell2.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (rCell2.getFormula()->GetErrCode() != FormulaError::NONE)
{
bErr2 = true;
bStr2 = false;
}
- else if (rCell2.mpFormula->IsValue())
+ else if (rCell2.getFormula()->IsValue())
{
bStr2 = false;
}
@@ -2611,10 +2611,10 @@ SCSIZE ScTable::Query(const ScQueryParam& rParamOrg, bool bKeepSub)
if (aCell.getType() != CELLTYPE_FORMULA)
continue;
- if (!aCell.mpFormula->IsSubTotal())
+ if (!aCell.getFormula()->IsSubTotal())
continue;
- if (RefVisible(aCell.mpFormula))
+ if (RefVisible(aCell.getFormula()))
bValid = true;
}
}
diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx
index 71e2c6aba984..035e086ce2bb 100644
--- a/sc/source/core/data/table4.cxx
+++ b/sc/source/core/data/table4.cxx
@@ -1495,7 +1495,7 @@ OUString ScTable::GetAutoFillPreview( const ScRange& rSource, SCCOL nEndX, SCROW
nStart = aCell.getDouble();
break;
case CELLTYPE_FORMULA:
- nStart = aCell.mpFormula->GetValue();
+ nStart = aCell.getFormula()->GetValue();
break;
default:
nStart = 0.0;
@@ -1766,7 +1766,7 @@ void ScTable::FillSeriesSimple(
case CELLTYPE_FORMULA:
{
FillFormulaVertical(
- *rSrcCell.mpFormula, rInner, rCol, nIMin, nIMax, pProgress, rProgress);
+ *rSrcCell.getFormula(), rInner, rCol, nIMin, nIMax, pProgress, rProgress);
}
break;
default:
@@ -1805,7 +1805,7 @@ void ScTable::FillSeriesSimple(
if (bHidden)
continue;
- FillFormula(rSrcCell.mpFormula, rCol, rRow, (rInner == nIMax));
+ FillFormula(rSrcCell.getFormula(), rCol, rRow, (rInner == nIMax));
if (pProgress)
pProgress->SetStateOnPercent(++rProgress);
}
@@ -1890,7 +1890,7 @@ void ScTable::FillAutoSimple(
aSrcCell = GetCellValue(rCol, nSource);
if (nISrcStart == nISrcEnd && aSrcCell.getType() == CELLTYPE_FORMULA)
{
- FillFormulaVertical(*aSrcCell.mpFormula, rInner, rCol, nIStart, nIEnd, pProgress, rProgress);
+ FillFormulaVertical(*aSrcCell.getFormula(), rInner, rCol, nIStart, nIEnd, pProgress, rProgress);
return;
}
const SvNumFormatType nFormatType = rDocument.GetFormatTable()->GetType(
@@ -1984,7 +1984,7 @@ void ScTable::FillAutoSimple(
break;
case CELLTYPE_FORMULA :
FillFormula(
- aSrcCell.mpFormula, rCol, rRow, (rInner == nIEnd));
+ aSrcCell.getFormula(), rCol, rRow, (rInner == nIEnd));
if (nFormulaCounter - nActFormCnt > nMaxFormCnt)
nMaxFormCnt = nFormulaCounter - nActFormCnt;
break;
@@ -2236,7 +2236,7 @@ void ScTable::FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
if (aSrcCell.getType() == CELLTYPE_VALUE)
nStartVal = aSrcCell.getDouble();
else
- nStartVal = aSrcCell.mpFormula->GetValue();
+ nStartVal = aSrcCell.getFormula()->GetValue();
if (eFillCmd == FILL_LINEAR)
{
if (nStepValue == 0.0)
@@ -2363,7 +2363,7 @@ void ScTable::FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
else if (eCellType == CELLTYPE_VALUE || eCellType == CELLTYPE_FORMULA)
{
const double nStartVal = (eCellType == CELLTYPE_VALUE ? aSrcCell.getDouble() :
- aSrcCell.mpFormula->GetValue());
+ aSrcCell.getFormula()->GetValue());
double nVal = nStartVal;
tools::Long nIndex = 0;
diff --git a/sc/source/core/data/table5.cxx b/sc/source/core/data/table5.cxx
index 5de4908ee226..ad136f53bb4b 100644
--- a/sc/source/core/data/table5.cxx
+++ b/sc/source/core/data/table5.cxx
@@ -1238,7 +1238,7 @@ void ScTable::InvalidateTextWidth(const ScAddress* pAdrFrom, const ScAddress* pA
rCol.Broadcast(nRow);
break;
case CELLTYPE_FORMULA:
- aCell.mpFormula->SetDirty();
+ aCell.getFormula()->SetDirty();
break;
default:
{
@@ -1280,7 +1280,7 @@ void ScTable::InvalidateTextWidth(const ScAddress* pAdrFrom, const ScAddress* pA
aCol[nCol].Broadcast(nRow);
break;
case CELLTYPE_FORMULA:
- aCell.mpFormula->SetDirty();
+ aCell.getFormula()->SetDirty();
break;
default:
{
diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index 29f7d7ef886b..6d983811af9d 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -88,7 +88,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::Colum
case SvxSearchCellType::FORMULA:
{
if ( eCellType == CELLTYPE_FORMULA )
- aString = aCell.mpFormula->GetFormula(rDocument.GetGrammar());
+ aString = aCell.getFormula()->GetFormula(rDocument.GetGrammar());
else if ( eCellType == CELLTYPE_EDIT )
bMultiLine = lcl_GetTextWithBreaks(*aCell.getEditText(), &rDocument, aString);
else
@@ -165,7 +165,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::Colum
// Don't split the matrix, only replace Matrix formulas
if (eCellType == CELLTYPE_FORMULA)
{
- cMatrixFlag = aCell.mpFormula->GetMatrixFlag();
+ cMatrixFlag = aCell.getFormula()->GetMatrixFlag();
if(cMatrixFlag == ScMatrixMode::Reference)
return bFound;
}
@@ -260,7 +260,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::Colum
aString, rDocument.GetGrammar(), cMatrixFlag );
SCCOL nMatCols;
SCROW nMatRows;
- aCell.mpFormula->GetMatColsRows(nMatCols, nMatRows);
+ aCell.getFormula()->GetMatColsRows(nMatCols, nMatRows);
pFCell->SetMatColsRows( nMatCols, nMatRows );
aCol[nCol].SetFormulaCell(nRow, pFCell);
}
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index 3140a01c3978..c4ee30152af2 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -589,7 +589,7 @@ bool ScValidationData::IsDataValid( ScRefCellValue& rCell, const ScAddress& rPos
break;
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
bIsVal = pFCell->IsValue();
if ( bIsVal )
nVal = pFCell->GetValue();
diff --git a/sc/source/core/tool/cellform.cxx b/sc/source/core/tool/cellform.cxx
index 6c06d2e279f1..3da99aec0b2f 100644
--- a/sc/source/core/tool/cellform.cxx
+++ b/sc/source/core/tool/cellform.cxx
@@ -62,7 +62,7 @@ OUString ScCellFormat::GetString( const ScRefCellValue& rCell, sal_uInt32 nForma
}
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
if ( bFormula )
{
return pFCell->GetFormula();
@@ -147,7 +147,7 @@ OUString ScCellFormat::GetInputString(
case CELLTYPE_FORMULA:
{
OUString str;
- ScFormulaCell* pFC = rCell.mpFormula;
+ ScFormulaCell* pFC = rCell.getFormula();
if (pFC->IsEmptyDisplayedAsString())
; // empty
else if (pFC->IsValue())
diff --git a/sc/source/core/tool/chartarr.cxx b/sc/source/core/tool/chartarr.cxx
index ba2c30b17941..e9e277601fed 100644
--- a/sc/source/core/tool/chartarr.cxx
+++ b/sc/source/core/tool/chartarr.cxx
@@ -94,7 +94,7 @@ double getCellValue( ScDocument& rDoc, const ScAddress& rPos, double fDefault, b
break;
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
if (pFCell && pFCell->GetErrCode() == FormulaError::NONE && pFCell->IsValue())
fRet = pFCell->GetValue();
}
diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx
index d78070de6569..29cc75e5d5a6 100644
--- a/sc/source/core/tool/chgtrack.cxx
+++ b/sc/source/core/tool/chgtrack.cxx
@@ -1368,7 +1368,7 @@ void ScChangeActionContent::SetValueString(
rCell = ScCellValue(new ScFormulaCell(
*pDoc, aBigRange.aStart.MakeAddress(*pDoc), rStr,
pDoc->GetGrammar() ));
- rCell.mpFormula->SetInChangeTrack(true);
+ rCell.getFormula()->SetInChangeTrack(true);
}
else
rValue = rStr;
@@ -1441,7 +1441,7 @@ OUString ScChangeActionContent::GetRefString(
ScBigRange aLocalBigRange( GetBigRange() );
SCCOL nC;
SCROW nR;
- rCell.mpFormula->GetMatColsRows( nC, nR );
+ rCell.getFormula()->GetMatColsRows( nC, nR );
aLocalBigRange.aEnd.IncCol( nC-1 );
aLocalBigRange.aEnd.IncRow( nR-1 );
return ScChangeAction::GetRefString( aLocalBigRange, rDoc, bFlag3D );
@@ -1570,7 +1570,7 @@ OUString ScChangeActionContent::GetStringOfCell(
return ScEditUtil::GetString(*rCell.getEditText(), pDoc);
return OUString();
case CELLTYPE_FORMULA:
- return rCell.mpFormula->GetFormula();
+ return rCell.getFormula()->GetFormula();
default:
return OUString();
}
@@ -1585,7 +1585,7 @@ ScChangeActionContentCellType ScChangeActionContent::GetContentCellType( const S
case CELLTYPE_EDIT :
return SC_CACCT_NORMAL;
case CELLTYPE_FORMULA :
- switch (rCell.mpFormula->GetMatrixFlag())
+ switch (rCell.getFormula()->GetMatrixFlag())
{
case ScMatrixMode::NONE :
return SC_CACCT_NORMAL;
@@ -1610,7 +1610,7 @@ ScChangeActionContentCellType ScChangeActionContent::GetContentCellType( const S
return SC_CACCT_NORMAL;
case CELLTYPE_FORMULA:
{
- const ScFormulaCell* pCell = rCell.mpFormula;
+ const ScFormulaCell* pCell = rCell.getFormula();
switch (pCell->GetMatrixFlag())
{
case ScMatrixMode::NONE :
@@ -1660,7 +1660,7 @@ void ScChangeActionContent::SetValue(
}
break;
case CELLTYPE_FORMULA :
- rCell.mpFormula->SetInChangeTrack(true);
+ rCell.getFormula()->SetInChangeTrack(true);
break;
default:
{
@@ -1685,7 +1685,7 @@ void ScChangeActionContent::SetCell( OUString& rStr, ScCellValue& rCell, sal_uLo
pDoc->GetFormatTable()->GetInputLineString(rCell.getDouble(), nFormat, rStr);
break;
case CELLTYPE_FORMULA :
- rCell.mpFormula->SetInChangeTrack(true);
+ rCell.getFormula()->SetInChangeTrack(true);
break;
default:
{
@@ -1713,7 +1713,7 @@ OUString ScChangeActionContent::GetValueString(
case CELLTYPE_VALUE : // Is always in rValue
return rValue;
case CELLTYPE_FORMULA :
- return GetFormulaString(rCell.mpFormula);
+ return GetFormulaString(rCell.getFormula());
case CELLTYPE_NONE:
default:
return OUString();
@@ -1780,7 +1780,7 @@ void ScChangeActionContent::PutValueToDoc(
{
SCCOL nC;
SCROW nR;
- rCell.mpFormula->GetMatColsRows(nC, nR);
+ rCell.getFormula()->GetMatColsRows(nC, nR);
OSL_ENSURE( nC>0 && nR>0, "ScChangeActionContent::PutValueToDoc: MatColsRows?" );
ScRange aRange( aPos );
if ( nC > 1 )
@@ -1792,7 +1792,7 @@ void ScChangeActionContent::PutValueToDoc(
aDestMark.SetMarkArea( aRange );
pDoc->InsertMatrixFormula( aPos.Col(), aPos.Row(),
aRange.aEnd.Col(), aRange.aEnd.Row(),
- aDestMark, OUString(), rCell.mpFormula->GetCode());
+ aDestMark, OUString(), rCell.getFormula()->GetCode());
}
break;
case SC_CACCT_MATREF :
@@ -1893,9 +1893,9 @@ void ScChangeActionContent::UpdateReference( const ScChangeTrack* pTrack,
// Move is Source here and Target there
// Position needs to be adjusted before that
if ( bOldFormula )
- maOldCell.mpFormula->aPos = aBigRange.aStart.MakeAddress(pTrack->GetDocument());
+ maOldCell.getFormula()->aPos = aBigRange.aStart.MakeAddress(pTrack->GetDocument());
if ( bNewFormula )
- maNewCell.mpFormula->aPos = aBigRange.aStart.MakeAddress(pTrack->GetDocument());
+ maNewCell.getFormula()->aPos = aBigRange.aStart.MakeAddress(pTrack->GetDocument());
if ( nDx )
{
aTmpRange.aStart.IncCol( nDx );
@@ -1927,9 +1927,9 @@ void ScChangeActionContent::UpdateReference( const ScChangeTrack* pTrack,
aRefCxt.mnTabDelta = nDz;
if ( bOldFormula )
- maOldCell.mpFormula->UpdateReference(aRefCxt);
+ maOldCell.getFormula()->UpdateReference(aRefCxt);
if ( bNewFormula )
- maNewCell.mpFormula->UpdateReference(aRefCxt);
+ maNewCell.getFormula()->UpdateReference(aRefCxt);
if ( aBigRange.aStart.IsValid( pTrack->GetDocument() ) )
return;
@@ -1942,7 +1942,7 @@ void ScChangeActionContent::UpdateReference( const ScChangeTrack* pTrack,
if ( bOldFormula )
{
formula::FormulaToken* t;
- ScTokenArray* pArr = maOldCell.mpFormula->GetCode();
+ ScTokenArray* pArr = maOldCell.getFormula()->GetCode();
formula::FormulaTokenArrayPlainIterator aIter(*pArr);
while ( ( t = aIter.GetNextReference() ) != nullptr )
lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
@@ -1953,7 +1953,7 @@ void ScChangeActionContent::UpdateReference( const ScChangeTrack* pTrack,
if ( bNewFormula )
{
formula::FormulaToken* t;
- ScTokenArray* pArr = maNewCell.mpFormula->GetCode();
+ ScTokenArray* pArr = maNewCell.getFormula()->GetCode();
formula::FormulaTokenArrayPlainIterator aIter(*pArr);
while ( ( t = aIter.GetNextReference() ) != nullptr )
lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
@@ -2537,11 +2537,11 @@ bool ScChangeTrack::IsMatrixFormulaRangeDifferent(
nC1 = nC2 = 0;
nR1 = nR2 = 0;
- if (rOldCell.getType() == CELLTYPE_FORMULA && rOldCell.mpFormula->GetMatrixFlag() == ScMatrixMode::Formula)
- rOldCell.mpFormula->GetMatColsRows(nC1, nR1);
+ if (rOldCell.getType() == CELLTYPE_FORMULA && rOldCell.getFormula()->GetMatrixFlag() == ScMatrixMode::Formula)
+ rOldCell.getFormula()->GetMatColsRows(nC1, nR1);
- if (rNewCell.getType() == CELLTYPE_FORMULA && rNewCell.mpFormula->GetMatrixFlag() == ScMatrixMode::Formula)
- rNewCell.mpFormula->GetMatColsRows(nC1, nR1);
+ if (rNewCell.getType() == CELLTYPE_FORMULA && rNewCell.getFormula()->GetMatrixFlag() == ScMatrixMode::Formula)
+ rNewCell.getFormula()->GetMatColsRows(nC1, nR1);
return nC1 != nC2 || nR1 != nR2;
}
@@ -2862,7 +2862,7 @@ void ScChangeTrack::Dependencies( ScChangeAction* pAct )
if ( ScChangeActionContent::GetContentCellType(rCell) == SC_CACCT_MATREF )
{
ScAddress aOrg;
- bool bOrgFound = rCell.mpFormula->GetMatrixOrigin(rDoc, aOrg);
+ bool bOrgFound = rCell.getFormula()->GetMatrixOrigin(rDoc, aOrg);
ScChangeActionContent* pContent = (bOrgFound ? SearchContentAt( aOrg, pAct ) : nullptr);
if ( pContent && pContent->IsMatrixOrigin() )
{
@@ -4010,7 +4010,7 @@ bool ScChangeTrack::SelectContent( ScChangeAction* pAct, bool bOldest )
{
SCCOL nC;
SCROW nR;
- rCell.mpFormula->GetMatColsRows(nC, nR);
+ rCell.getFormula()->GetMatColsRows(nC, nR);
aBigRange.aEnd.IncCol( nC-1 );
aBigRange.aEnd.IncRow( nR-1 );
}
diff --git a/sc/source/core/tool/detfunc.cxx b/sc/source/core/tool/detfunc.cxx
index 8cabace6a55c..a757a9edd628 100644
--- a/sc/source/core/tool/detfunc.cxx
+++ b/sc/source/core/tool/detfunc.cxx
@@ -811,7 +811,7 @@ sal_uInt16 ScDetectiveFunc::InsertPredLevel( SCCOL nCol, SCROW nRow, ScDetective
if (aCell.getType() != CELLTYPE_FORMULA)
return DET_INS_EMPTY;
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
if (pFCell->IsRunning())
return DET_INS_CIRCULAR;
@@ -899,7 +899,7 @@ sal_uInt16 ScDetectiveFunc::FindPredLevel( SCCOL nCol, SCROW nRow, sal_uInt16 nL
if (aCell.getType() != CELLTYPE_FORMULA)
return nLevel;
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
if (pFCell->IsRunning())
return nLevel;
@@ -956,7 +956,7 @@ sal_uInt16 ScDetectiveFunc::InsertErrorLevel( SCCOL nCol, SCROW nRow, ScDetectiv
if (aCell.getType() != CELLTYPE_FORMULA)
return DET_INS_EMPTY;
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
if (pFCell->IsRunning())
return DET_INS_CIRCULAR;
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index b41bec6b7c3b..13745246a8b2 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -2057,7 +2057,7 @@ bool ScInterpreter::IsString()
bRes = true;
break;
case CELLTYPE_FORMULA :
- bRes = (!aCell.mpFormula->IsValue() && !aCell.mpFormula->IsEmpty());
+ bRes = (!aCell.getFormula()->IsValue() && !aCell.getFormula()->IsEmpty());
break;
default:
; // nothing
@@ -2654,7 +2654,7 @@ void ScInterpreter::ScIsValue()
bRes = true;
break;
case CELLTYPE_FORMULA :
- bRes = (aCell.mpFormula->IsValue() && !aCell.mpFormula->IsEmpty());
+ bRes = (aCell.getFormula()->IsValue() && !aCell.getFormula()->IsEmpty());
break;
default:
; // nothing
@@ -2806,7 +2806,7 @@ void ScInterpreter::ScFormula()
switch (aCell.getType())
{
case CELLTYPE_FORMULA :
- aFormula = aCell.mpFormula->GetFormula(formula::FormulaGrammar::GRAM_UNSPECIFIED, &mrContext);
+ aFormula = aCell.getFormula()->GetFormula(formula::FormulaGrammar::GRAM_UNSPECIFIED, &mrContext);
pResMat->PutString( mrStrPool.intern( aFormula), i,j);
break;
default:
@@ -2832,7 +2832,7 @@ void ScInterpreter::ScFormula()
switch (aCell.getType())
{
case CELLTYPE_FORMULA :
- aFormula = aCell.mpFormula->GetFormula(formula::FormulaGrammar::GRAM_UNSPECIFIED, &mrContext);
+ aFormula = aCell.getFormula()->GetFormula(formula::FormulaGrammar::GRAM_UNSPECIFIED, &mrContext);
break;
default:
SetError( FormulaError::NotAvailable );
@@ -3052,7 +3052,7 @@ bool ScInterpreter::IsEven()
bRes = true;
break;
case CELLTYPE_FORMULA :
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
fVal = GetCellValue(aAdr, aCell);
bRes = true;
@@ -3234,7 +3234,7 @@ void ScInterpreter::ScT()
bValue = true;
break;
case CELLTYPE_FORMULA :
- bValue = aCell.mpFormula->IsValue();
+ bValue = aCell.getFormula()->IsValue();
break;
default:
; // nothing
@@ -5113,7 +5113,7 @@ bool isCellContentEmpty( const ScRefCellValue& rCell )
// OOo and LibreOffice prior to 4.4 did not treat ="" as blank in
// COUNTBLANK(), we now do for Excel interoperability.
/* TODO: introduce yet another compatibility option? */
- sc::FormulaResultValue aRes = rCell.mpFormula->GetResult();
+ sc::FormulaResultValue aRes = rCell.getFormula()->GetResult();
if (aRes.meType != sc::FormulaResultValue::String)
return false;
if (!aRes.maString.isEmpty())
@@ -5297,7 +5297,7 @@ void ScInterpreter::IterateParametersIf( ScIterFuncIf eFunc )
bIsString = false;
break;
case CELLTYPE_FORMULA :
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
fVal = GetCellValue(aAdr, aCell);
bIsString = false;
@@ -5651,7 +5651,7 @@ void ScInterpreter::ScCountIf()
bIsString = false;
break;
case CELLTYPE_FORMULA :
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
fVal = GetCellValue(aAdr, aCell);
bIsString = false;
@@ -5921,7 +5921,7 @@ void ScInterpreter::IterateParametersIfs( double(*ResultFunc)( const sc::ParamIf
bIsString = false;
break;
case CELLTYPE_FORMULA :
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
fVal = GetCellValue(aAdr, aCell);
bIsString = false;
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 4d0723140294..6f48fb96f3b2 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -133,7 +133,7 @@ sal_uInt32 ScInterpreter::GetCellNumberFormat( const ScAddress& rPos, ScRefCellV
else
{
if (rCell.getType() == CELLTYPE_FORMULA)
- nErr = rCell.mpFormula->GetErrCode();
+ nErr = rCell.getFormula()->GetErrCode();
else
nErr = FormulaError::NONE;
nFormat = mrDoc.GetNumberFormat( mrContext, rPos );
@@ -156,7 +156,7 @@ double ScInterpreter::GetValueCellValue( const ScAddress& rPos, double fOrig )
FormulaError ScInterpreter::GetCellErrCode( const ScRefCellValue& rCell )
{
- return rCell.getType() == CELLTYPE_FORMULA ? rCell.mpFormula->GetErrCode() : FormulaError::NONE;
+ return rCell.getType() == CELLTYPE_FORMULA ? rCell.getFormula()->GetErrCode() : FormulaError::NONE;
}
double ScInterpreter::ConvertStringToValue( const OUString& rStr )
@@ -193,7 +193,7 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, ScRefCellValue&
{
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
FormulaError nErr = pFCell->GetErrCode();
if( nErr == FormulaError::NONE )
{
@@ -253,7 +253,7 @@ void ScInterpreter::GetCellString( svl::SharedString& rStr, ScRefCellValue& rCel
break;
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
nErr = pFCell->GetErrCode();
if (pFCell->IsValue())
{
@@ -323,10 +323,10 @@ bool ScInterpreter::CreateDoubleArr(SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
nVal = GetValueCellValue(aAdr, aCell.getDouble());
break;
case CELLTYPE_FORMULA :
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
- nErr = aCell.mpFormula->GetErrCode();
- nVal = aCell.mpFormula->GetValue();
+ nErr = aCell.getFormula()->GetErrCode();
+ nVal = aCell.getFormula()->GetValue();
}
else
bOk = false;
@@ -403,10 +403,10 @@ bool ScInterpreter::CreateStringArr(SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
aStr = aCell.getString(&mrDoc);
break;
case CELLTYPE_FORMULA:
- if (!aCell.mpFormula->IsValue())
+ if (!aCell.getFormula()->IsValue())
{
- nErr = aCell.mpFormula->GetErrCode();
- aStr = aCell.mpFormula->GetString().getString();
+ nErr = aCell.getFormula()->GetErrCode();
+ aStr = aCell.getFormula()->GetString().getString();
}
else
bOk = false;
@@ -511,11 +511,11 @@ bool ScInterpreter::CreateCellArr(SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
nVal = GetValueCellValue(aAdr, aCell.getDouble());
break;
case CELLTYPE_FORMULA :
- nErr = aCell.mpFormula->GetErrCode();
- if (aCell.mpFormula->IsValue())
- nVal = aCell.mpFormula->GetValue();
+ nErr = aCell.getFormula()->GetErrCode();
+ if (aCell.getFormula()->IsValue())
+ nVal = aCell.getFormula()->GetValue();
else
- aStr = aCell.mpFormula->GetString().getString();
+ aStr = aCell.getFormula()->GetString().getString();
break;
default :
bOk = false;
@@ -698,7 +698,7 @@ void ScInterpreter::PushCellResultToken( bool bDisplayEmptyAsString,
FormulaError nErr = FormulaError::NONE;
if (aCell.getType() == CELLTYPE_FORMULA)
- nErr = aCell.mpFormula->GetErrCode();
+ nErr = aCell.getFormula()->GetErrCode();
if (nErr != FormulaError::NONE)
{
@@ -1410,7 +1410,7 @@ void ScInterpreter::PopRefListPushMatrixOrRef()
ScAddress aAdr( nCol, nRow, nTab);
ScRefCellValue aCell(mrDoc, aAdr);
if (aCell.hasError())
- xMat->PutError( aCell.mpFormula->GetErrCode(), 0, i);
+ xMat->PutError( aCell.getFormula()->GetErrCode(), 0, i);
else if (aCell.hasEmptyValue())
xMat->PutEmpty( 0, i);
else if (aCell.hasString())
@@ -3554,16 +3554,16 @@ bool ScInterpreter::SetSbxVariable( SbxVariable* pVar, const ScAddress& rPos )
pVar->PutString(aCell.getString(&mrDoc));
break;
case CELLTYPE_FORMULA :
- nErr = aCell.mpFormula->GetErrCode();
+ nErr = aCell.getFormula()->GetErrCode();
if( nErr == FormulaError::NONE )
{
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
- nVal = aCell.mpFormula->GetValue();
+ nVal = aCell.getFormula()->GetValue();
pVar->PutDouble( nVal );
}
else
- pVar->PutString(aCell.mpFormula->GetString().getString());
+ pVar->PutString(aCell.getFormula()->GetString().getString());
}
else
{
@@ -3614,7 +3614,7 @@ void ScInterpreter::ScTableOp()
{ // emulate broadcast and indirectly collect cell pointers
ScRefCellValue aCell(mrDoc, rPos);
if (aCell.getType() == CELLTYPE_FORMULA)
- aCell.mpFormula->SetTableOpDirty();
+ aCell.getFormula()->SetTableOpDirty();
}
}
else
@@ -3627,7 +3627,7 @@ void ScInterpreter::ScTableOp()
ScRefCellValue aCell(mrDoc, aTableOp.aFormulaPos);
if (aCell.getType() == CELLTYPE_FORMULA)
- aCell.mpFormula->SetDirtyVar();
+ aCell.getFormula()->SetDirtyVar();
if (aCell.hasNumeric())
{
PushDouble(GetCellValue(aTableOp.aFormulaPos, aCell));
@@ -3658,8 +3658,8 @@ void ScInterpreter::ScTableOp()
if (aCell.getType() == CELLTYPE_FORMULA)
{
- aCell.mpFormula->SetDirtyVar();
- aCell.mpFormula->GetErrCode(); // recalculate original
+ aCell.getFormula()->SetDirtyVar();
+ aCell.getFormula()->GetErrCode(); // recalculate original
}
// Reset all dirty flags so next incarnation does really collect all cell
diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index f3905eedc665..c8bd1c31a5b8 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -427,7 +427,7 @@ ScMatrixRef ScInterpreter::CreateMatrixFromDoubleRef( const FormulaToken* pToken
}
else if (aCell.hasError())
{
- pMat->PutError( aCell.mpFormula->GetErrCode(), nMatCol, nMatRow);
+ pMat->PutError( aCell.getFormula()->GetErrCode(), nMatCol, nMatRow);
}
else if (aCell.hasNumeric())
{
@@ -650,12 +650,12 @@ void ScInterpreter::ScMatValue()
ScRefCellValue aCell(mrDoc, aAdr);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- FormulaError nErrCode = aCell.mpFormula->GetErrCode();
+ FormulaError nErrCode = aCell.getFormula()->GetErrCode();
if (nErrCode != FormulaError::NONE)
PushError( nErrCode);
else
{
- const ScMatrix* pMat = aCell.mpFormula->GetMatrix();
+ const ScMatrix* pMat = aCell.getFormula()->GetMatrix();
CalculateMatrixValue(pMat,nC,nR);
}
}
@@ -3223,7 +3223,7 @@ void ScInterpreter::ScMatRef()
return;
}
- if (aCell.mpFormula->IsRunning())
+ if (aCell.getFormula()->IsRunning())
{
// Twisted odd corner case where an array element's cell tries to
// access the top left matrix while it is still running, see tdf#88737
@@ -3233,7 +3233,7 @@ void ScInterpreter::ScMatRef()
return;
}
- const ScMatrix* pMat = aCell.mpFormula->GetMatrix();
+ const ScMatrix* pMat = aCell.getFormula()->GetMatrix();
if (pMat)
{
SCSIZE nCols, nRows;
@@ -3298,14 +3298,14 @@ void ScInterpreter::ScMatRef()
nFuncFmtType = nCurFmtType;
nFuncFmtIndex = nCurFmtIndex;
// If not a result matrix, obtain the cell value.
- FormulaError nErr = aCell.mpFormula->GetErrCode();
+ FormulaError nErr = aCell.getFormula()->GetErrCode();
if (nErr != FormulaError::NONE)
PushError( nErr );
- else if (aCell.mpFormula->IsValue())
- PushDouble(aCell.mpFormula->GetValue());
+ else if (aCell.getFormula()->IsValue())
+ PushDouble(aCell.getFormula()->GetValue());
else
{
- svl::SharedString aVal = aCell.mpFormula->GetString();
+ svl::SharedString aVal = aCell.getFormula()->GetString();
PushString( aVal );
}
}
diff --git a/sc/source/core/tool/rangeseq.cxx b/sc/source/core/tool/rangeseq.cxx
index a014705026ce..c4ceea23d3e1 100644
--- a/sc/source/core/tool/rangeseq.cxx
+++ b/sc/source/core/tool/rangeseq.cxx
@@ -266,7 +266,7 @@ bool ScRangeToSequence::FillMixedArray( uno::Any& rAny, ScDocument& rDoc, const
continue;
}
- if (aCell.getType() == CELLTYPE_FORMULA && aCell.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (aCell.getType() == CELLTYPE_FORMULA && aCell.getFormula()->GetErrCode() != FormulaError::NONE)
{
// if NV is allowed, leave empty for errors
bHasErrors = true;
diff --git a/sc/source/filter/dif/difexp.cxx b/sc/source/filter/dif/difexp.cxx
index cff9ad812ce8..4b433c3a5704 100644
--- a/sc/source/filter/dif/difexp.cxx
+++ b/sc/source/filter/dif/difexp.cxx
@@ -173,9 +173,9 @@ void ScFormatFilterPluginImpl::ScExportDif( SvStream& rOut, ScDocument* pDoc,
bWriteStringData = true;
break;
case CELLTYPE_FORMULA:
- if (aCell.mpFormula->GetErrCode() != FormulaError::NONE)
+ if (aCell.getFormula()->GetErrCode() != FormulaError::NONE)
aOS.append(pNumDataERROR);
- else if (aCell.mpFormula->IsValue())
+ else if (aCell.getFormula()->IsValue())
{
aOS.append(pNumData);
aString = pDoc->GetInputString( nColCnt, nRowCnt, nTab );
@@ -184,7 +184,7 @@ void ScFormatFilterPluginImpl::ScExportDif( SvStream& rOut, ScDocument* pDoc,
}
else
{
- aString = aCell.mpFormula->GetString().getString();
+ aString = aCell.getFormula()->GetString().getString();
bWriteStringData = true;
}
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index c2b7138f6d60..f8afeb672fa9 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -2700,7 +2700,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) :
xCell = new XclExpFormulaCell(
GetRoot(), aXclPos, pPattern, nMergeBaseXFId,
- *rScCell.mpFormula, maArrayBfr, maShrfmlaBfr, maTableopBfr);
+ *rScCell.getFormula(), maArrayBfr, maShrfmlaBfr, maTableopBfr);
}
break;
diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx
index d7e8ea2c7339..a032a44de20f 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -1096,7 +1096,7 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SC
fVal = pDoc->RoundValueAsShown( fVal, nFormat );
break;
case CELLTYPE_FORMULA:
- fVal = aCell.mpFormula->GetValue();
+ fVal = aCell.getFormula()->GetValue();
break;
default:
OSL_FAIL( "value data with unsupported cell type" );
@@ -1180,7 +1180,7 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SC
bool bWriteHyperLink(false);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
if (pFCell->IsHyperLinkCell())
{
OUString aCellText;
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
index 3ab4836a0b4b..f3ccb382e1b2 100644
--- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx
+++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
@@ -898,7 +898,7 @@ void XclExpChTrCellContent::GetCellData(
break;
case CELLTYPE_FORMULA:
{
- const ScFormulaCell* pFmlCell = rScCell.mpFormula;
+ const ScFormulaCell* pFmlCell = rScCell.getFormula();
rpData->mpFormulaCell = pFmlCell;
const ScTokenArray* pTokenArray = pFmlCell->GetCode();
diff --git a/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
index c3356ea79dff..1a3b22e6aad0 100644
--- a/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
@@ -295,7 +295,7 @@ void ScChangeTrackingExportHelper::WriteFormulaCell(const ScCellValue& rCell, co
{
assert(rCell.getType() == CELLTYPE_FORMULA);
- ScFormulaCell* pFormulaCell = rCell.mpFormula;
+ ScFormulaCell* pFormulaCell = rCell.getFormula();
OUString sAddress;
const ScDocument* pDoc = rExport.GetDocument();
ScRangeStringConverter::GetStringFromAddress(sAddress, pFormulaCell->aPos, pDoc, ::formula::FormulaGrammar::CONV_OOO);
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
index 13d5a4906375..26e4acbf80ce 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
@@ -60,7 +60,7 @@ const ScCellValue& ScMyCellInfo::CreateCell(ScDocument& rDoc)
sal_Int32 nOffset(0);
ScRangeStringConverter::GetAddressFromString(aPos, sFormulaAddress, rDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
maCell.set(new ScFormulaCell(rDoc, aPos, sFormula, eGrammar, nMatrixFlag));
- maCell.mpFormula->SetMatColsRows(static_cast<SCCOL>(nMatrixCols), static_cast<SCROW>(nMatrixRows));
+ maCell.getFormula()->SetMatColsRows(static_cast<SCCOL>(nMatrixCols), static_cast<SCROW>(nMatrixRows));
}
if ((nType == css::util::NumberFormat::DATE || nType == css::util::NumberFormat::TIME) && sInputString.isEmpty())
@@ -671,12 +671,12 @@ void ScXMLChangeTrackingImportHelper::SetNewCell(const ScMyContentAction* pActio
}
else
{
- ScMatrixMode nMatrixFlag = aCell.mpFormula->GetMatrixFlag();
+ ScMatrixMode nMatrixFlag = aCell.getFormula()->GetMatrixFlag();
// With GRAM_ODFF reference detection is faster on compilation.
/* FIXME: new cell should be created with a clone
* of the token array instead. Any reason why this
* wasn't done? */
- OUString sFormula = aCell.mpFormula->GetFormula(formula::FormulaGrammar::GRAM_ODFF);
+ OUString sFormula = aCell.getFormula()->GetFormula(formula::FormulaGrammar::GRAM_ODFF);
// #i87826# [Collaboration] Rejected move destroys formulas
// FIXME: adjust ScFormulaCell::GetFormula(), so that the right formula string
@@ -696,10 +696,10 @@ void ScXMLChangeTrackingImportHelper::SetNewCell(const ScMyContentAction* pActio
{
SCCOL nCols;
SCROW nRows;
- aCell.mpFormula->GetMatColsRows(nCols, nRows);
- aNewCell.mpFormula->SetMatColsRows(nCols, nRows);
+ aCell.getFormula()->GetMatColsRows(nCols, nRows);
+ aNewCell.getFormula()->SetMatColsRows(nCols, nRows);
}
- aNewCell.mpFormula->SetInChangeTrack(true);
+ aNewCell.getFormula()->SetInChangeTrack(true);
pChangeActionContent->SetNewCell(aNewCell, &rDoc, OUString());
// #i40704# don't overwrite the formula string via SetNewValue()
}
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx
index ea5a463b9ab5..1ee22c93e9b5 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -1029,7 +1029,7 @@ void ScXMLTableRowCellContext::PutTextCell( const ScAddress& rCurrentPos,
bDoIncrement = aCell.getType() == CELLTYPE_FORMULA;
if ( bDoIncrement )
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
OUString aCellString;
if (maStringValue)
aCellString = *maStringValue;
@@ -1122,7 +1122,7 @@ void ScXMLTableRowCellContext::PutValueCell( const ScAddress& rCurrentPos )
ScRefCellValue aCell(*rXMLImport.GetDocument(), rCurrentPos);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
SetFormulaCell(pFCell);
if (pFCell)
pFCell->SetNeedNumberFormat( true );
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 7c69587ddb46..57c041f7f5ee 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -3169,7 +3169,7 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 nEqualCellCount)
if (aCell.maBaseCell.getType() == CELLTYPE_FORMULA)
{
const bool bIsMatrix(bIsFirstMatrixCell || aCell.bIsMatrixCovered);
- ScFormulaCell* pFormulaCell = aCell.maBaseCell.mpFormula;
+ ScFormulaCell* pFormulaCell = aCell.maBaseCell.getFormula();
if (!bIsMatrix || bIsFirstMatrixCell)
{
if (!mpCompileFormulaCxt)
@@ -3262,9 +3262,9 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 nEqualCellCount)
{
WriteEditCell(aCell.maBaseCell.getEditText());
}
- else if (aCell.maBaseCell.getType() == CELLTYPE_FORMULA && aCell.maBaseCell.mpFormula->IsMultilineResult())
+ else if (aCell.maBaseCell.getType() == CELLTYPE_FORMULA && aCell.maBaseCell.getFormula()->IsMultilineResult())
{
- WriteMultiLineFormulaResult(aCell.maBaseCell.mpFormula);
+ WriteMultiLineFormulaResult(aCell.maBaseCell.getFormula());
}
else
{
diff --git a/sc/source/ui/Accessibility/AccessibleCell.cxx b/sc/source/ui/Accessibility/AccessibleCell.cxx
index 0e9c174251c1..a23b9bb10292 100644
--- a/sc/source/ui/Accessibility/AccessibleCell.cxx
+++ b/sc/source/ui/Accessibility/AccessibleCell.cxx
@@ -430,7 +430,7 @@ void ScAccessibleCell::FillPrecedents(utl::AccessibleRelationSetHelper* pRelatio
ScRefCellValue aCell(*mpDoc, maCellAddress);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- ScFormulaCell* pCell = aCell.mpFormula;
+ ScFormulaCell* pCell = aCell.getFormula();
ScDetectiveRefIter aIter(*mpDoc, pCell);
ScRange aRef;
while ( aIter.GetNextRef( aRef ) )
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 23c43335365c..e5ab8cede75c 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -2125,15 +2125,15 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt,
FormulaError nErrCode;
if ( bShowFormulas )
{
- aString = pCell->mpFormula->GetFormula();
+ aString = pCell->getFormula()->GetFormula();
bString = true;
}
- else if ((nErrCode = pCell->mpFormula->GetErrCode()) != FormulaError::NONE)
+ else if ((nErrCode = pCell->getFormula()->GetErrCode()) != FormulaError::NONE)
{
aString = ScGlobal::GetErrorString( nErrCode );
bString = true;
}
- else if (pCell->mpFormula->IsValue())
+ else if (pCell->getFormula()->IsValue())
{
sal_uInt32 nFormat = m_pDocument->GetNumberFormat(aPos);
if ( bFixedWidth || bSaveAsShown )
@@ -2157,7 +2157,7 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt,
aString = ScCellFormat::GetString(*pCell, nFormat, &pDummy, rFormatter, *m_pDocument);
}
else
- aString = pCell->mpFormula->GetString().getString();
+ aString = pCell->getFormula()->GetString().getString();
bString = true;
}
}
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 7ea21893a425..803ba61f8a7a 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -985,7 +985,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
ScMatrixMode eMatrix = ScMatrixMode::NONE;
const ScCellValue& rCell = static_cast<const ScChangeActionContent*>(pSourceAction)->GetNewCell();
if (rCell.getType() == CELLTYPE_FORMULA)
- eMatrix = rCell.mpFormula->GetMatrixFlag();
+ eMatrix = rCell.getFormula()->GetMatrixFlag();
switch ( eMatrix )
{
case ScMatrixMode::NONE :
@@ -995,7 +995,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
{
SCCOL nCols;
SCROW nRows;
- rCell.mpFormula->GetMatColsRows(nCols, nRows);
+ rCell.getFormula()->GetMatColsRows(nCols, nRows);
aSourceRange.aEnd.SetCol( aPos.Col() + nCols - 1 );
aSourceRange.aEnd.SetRow( aPos.Row() + nRows - 1 );
aValue = aValue.copy(1, aValue.getLength()-2); // remove the 1st and last characters.
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index c05a42812729..6c994b9a2a68 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -1521,7 +1521,7 @@ static FormulaToken* convertToToken( ScDocument& rHostDoc, const ScDocument& rSr
return new formula::FormulaDoubleToken(rCell.getDouble());
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
FormulaError nError = pFCell->GetErrCode();
if (nError != FormulaError::NONE)
return new FormulaErrorToken( nError);
@@ -2948,7 +2948,7 @@ public:
break;
case CELLTYPE_FORMULA:
{
- sc::FormulaResultValue aRes = aCell.mpFormula->GetResult();
+ sc::FormulaResultValue aRes = aCell.getFormula()->GetResult();
switch (aRes.meType)
{
case sc::FormulaResultValue::Value:
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 78fbe41cdd6d..e26af9455929 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -1948,7 +1948,7 @@ bool ScImportExport::Doc2Text( SvStream& rStrm )
{
if (bFormulas)
{
- aCellStr = aCell.mpFormula->GetFormula();
+ aCellStr = aCell.getFormula()->GetFormula();
if( aCellStr.indexOf( cSep ) != -1 )
lcl_WriteString( rStrm, aCellStr, cStr, cStr );
else
@@ -2426,7 +2426,7 @@ bool ScImportExport::Doc2Sylk( SvStream& rStrm )
checkformula:
if( bForm )
{
- const ScFormulaCell* pFCell = aCell.mpFormula;
+ const ScFormulaCell* pFCell = aCell.getFormula();
switch ( pFCell->GetMatrixFlag() )
{
case ScMatrixMode::Reference :
diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx
index 80f4298ce1bb..480238023ef5 100644
--- a/sc/source/ui/undo/undocell.cxx
+++ b/sc/source/ui/undo/undocell.cxx
@@ -471,7 +471,7 @@ void ScUndoSetCell::SetValue( const ScCellValue& rVal )
rDoc.SetEditText(maPos, rVal.getEditText()->Clone());
break;
case CELLTYPE_FORMULA:
- rDoc.SetFormulaCell(maPos, rVal.mpFormula->Clone());
+ rDoc.SetFormulaCell(maPos, rVal.getFormula()->Clone());
break;
default:
;
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 1d30e76aa6ee..da10552151ea 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -1332,7 +1332,7 @@ static OUString lcl_GetInputString( ScDocument& rDoc, const ScAddress& rPos, boo
CellType eType = aCell.getType();
if (eType == CELLTYPE_FORMULA)
{
- ScFormulaCell* pForm = aCell.mpFormula;
+ ScFormulaCell* pForm = aCell.getFormula();
return pForm->GetFormula( formula::FormulaGrammar::mapAPItoGrammar( bEnglish, false));
}
@@ -4802,8 +4802,8 @@ OUString SAL_CALL ScCellRangeObj::getArrayFormula()
ScRefCellValue aCell2(rDoc, aRange.aEnd);
if (aCell1.getType() == CELLTYPE_FORMULA && aCell2.getType() == CELLTYPE_FORMULA)
{
- const ScFormulaCell* pFCell1 = aCell1.mpFormula;
- const ScFormulaCell* pFCell2 = aCell2.mpFormula;
+ const ScFormulaCell* pFCell1 = aCell1.getFormula();
+ const ScFormulaCell* pFCell2 = aCell2.getFormula();
ScAddress aStart1;
ScAddress aStart2;
if (pFCell1->GetMatrixOrigin(rDoc, aStart1) && pFCell2->GetMatrixOrigin(rDoc, aStart2))
@@ -4866,8 +4866,8 @@ uno::Sequence<sheet::FormulaToken> SAL_CALL ScCellRangeObj::getArrayTokens()
ScRefCellValue aCell2(rDoc, aRange.aEnd);
if (aCell1.getType() == CELLTYPE_FORMULA && aCell2.getType() == CELLTYPE_FORMULA)
{
- const ScFormulaCell* pFCell1 = aCell1.mpFormula;
- const ScFormulaCell* pFCell2 = aCell2.mpFormula;
+ const ScFormulaCell* pFCell1 = aCell1.getFormula();
+ const ScFormulaCell* pFCell2 = aCell2.getFormula();
ScAddress aStart1;
ScAddress aStart2;
if (pFCell1->GetMatrixOrigin(rDoc, aStart1) && pFCell2->GetMatrixOrigin(rDoc, aStart2))
@@ -6161,7 +6161,7 @@ void SAL_CALL ScCellObj::setFormulaResult( double nValue )
ScRefCellValue aCell(pDocSh->GetDocument(), aCellPos);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- ScFormulaCell* pCell = aCell.mpFormula;
+ ScFormulaCell* pCell = aCell.getFormula();
pCell->SetHybridDouble( nValue );
pCell->ResetDirty();
pCell->SetChanged(false);
@@ -6245,7 +6245,7 @@ table::CellContentType ScCellObj::GetContentType_Impl()
ScRefCellValue aCell(pDocSh->GetDocument(), aCellPos);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- bool bValue = aCell.mpFormula->IsValue();
+ bool bValue = aCell.getFormula()->IsValue();
return bValue ? table::CellContentType_VALUE : table::CellContentType_TEXT;
}
}
@@ -6265,7 +6265,7 @@ sal_Int32 SAL_CALL ScCellObj::getError()
FormulaError nError = FormulaError::NONE;
ScRefCellValue aCell(pDocSh->GetDocument(), aCellPos);
if (aCell.getType() == CELLTYPE_FORMULA)
- nError = aCell.mpFormula->GetErrCode();
+ nError = aCell.getFormula()->GetErrCode();
return static_cast<sal_Int32>(nError);
}
@@ -6284,7 +6284,7 @@ uno::Sequence<sheet::FormulaToken> SAL_CALL ScCellObj::getTokens()
ScRefCellValue aCell(rDoc, aCellPos);
if (aCell.getType() == CELLTYPE_FORMULA)
{
- ScTokenArray* pTokenArray = aCell.mpFormula->GetCode();
+ ScTokenArray* pTokenArray = aCell.getFormula()->GetCode();
if (pTokenArray)
ScTokenConversion::ConvertToTokenSequence(rDoc, aSequence, *pTokenArray);
}
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 50ee015adfb1..acbd5272b037 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -2558,7 +2558,7 @@ void ScChart2DataSequence::BuildDataCache()
break;
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
FormulaError nErr = pFCell->GetErrCode();
if (nErr != FormulaError::NONE)
break;
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 30a796e9f646..3c8e0fa061eb 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -3431,7 +3431,7 @@ void ScCellShell::ExecuteFillSingleEdit()
if (aCell.getType() == CELLTYPE_FORMULA)
{
aInit = "=";
- const ScTokenArray* pCode = aCell.mpFormula->GetCode();
+ const ScTokenArray* pCode = aCell.getFormula()->GetCode();
sc::TokenStringContext aCxt(rDoc, rDoc.GetGrammar());
aInit += pCode->CreateString(aCxt, aCurPos);
}
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 3bab80f8e94e..0d585cc430df 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -288,7 +288,7 @@ static bool lcl_IsEditableMatrix( ScDocument& rDoc, const ScRange& rRange )
ScRefCellValue aCell(rDoc, rRange.aEnd);
ScAddress aPos;
- return (aCell.getType() == CELLTYPE_FORMULA && aCell.mpFormula->GetMatrixOrigin(rDoc, aPos) && aPos == rRange.aStart);
+ return (aCell.getType() == CELLTYPE_FORMULA && aCell.getFormula()->GetMatrixOrigin(rDoc, aPos) && aPos == rRange.aStart);
}
static void lcl_UnLockComment( ScDrawView* pView, const Point& rPos, const ScViewData& rViewData )
@@ -335,7 +335,7 @@ static bool lcl_GetHyperlinkCell(
}
else if (rCell.getType() == CELLTYPE_EDIT)
bFound = true;
- else if (rCell.getType() == CELLTYPE_FORMULA && rCell.mpFormula->IsHyperLinkCell())
+ else if (rCell.getType() == CELLTYPE_FORMULA && rCell.getFormula()->IsHyperLinkCell())
bFound = true;
else
return false; // other cell
@@ -5728,7 +5728,7 @@ bool ScGridWindow::GetEditUrl( const Point& rPos,
// cell ( or other type ? ) with a hyperlink associated with it.
{
if (sURL.isEmpty())
- pTextObj = aCell.mpFormula->CreateURLObject();
+ pTextObj = aCell.getFormula()->CreateURLObject();
else
{
OUString aRepres = sURL;
@@ -5737,7 +5737,7 @@ bool ScGridWindow::GetEditUrl( const Point& rPos,
if (aCell.hasNumeric())
aRepres = OUString::number(aCell.getValue());
else if (aCell.getType() == CELLTYPE_FORMULA)
- aRepres = aCell.mpFormula->GetString().getString();
+ aRepres = aCell.getFormula()->GetString().getString();
pTextObj = ScEditUtil::CreateURLObjectFromURL(rDoc, sURL, aRepres);
}
diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx
index a9bdc4c3baef..24c94fd993f2 100644
--- a/sc/source/ui/view/output.cxx
+++ b/sc/source/ui/view/output.cxx
@@ -1837,7 +1837,7 @@ void ScOutputData::FindChanged()
if (rCell.getType() != CELLTYPE_FORMULA)
continue;
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
if (pFCell->IsRunning())
// still being interpreted. Skip it.
continue;
@@ -1886,7 +1886,7 @@ void ScOutputData::FindChanged()
if (rCell.getType() != CELLTYPE_FORMULA)
continue;
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
if (pFCell->IsRunning())
// still being interpreted. Skip it.
continue;
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 64bb99ffc098..bd757cb7581f 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -611,7 +611,7 @@ void ScDrawStringsVars::SetTextToWidthOrHash( ScRefCellValue& rCell, tools::Long
if (eType == CELLTYPE_FORMULA)
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
if (pFCell->GetErrCode() != FormulaError::NONE || pOutput->mbShowFormulas)
{
SetHashText(); // If the error string doesn't fit, always use "###". Also for "display formulas" (#i116691#)
@@ -864,7 +864,7 @@ static void lcl_DoHyperlinkResult( const OutputDevice* pDev, const tools::Rectan
OUString aURL;
if (rCell.getType() == CELLTYPE_FORMULA)
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
OUString aCellText;
if ( pFCell->IsHyperLinkCell() )
pFCell->GetURLResult( aURL, aCellText );
@@ -1724,10 +1724,10 @@ tools::Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, co
{
bool bFormulaCell = (aCell.getType() == CELLTYPE_FORMULA);
if ( bFormulaCell )
- lcl_CreateInterpretProgress(bProgress, mpDoc, aCell.mpFormula);
+ lcl_CreateInterpretProgress(bProgress, mpDoc, aCell.getFormula());
if ( aVars.SetText(aCell) )
pOldPattern = nullptr;
- bUseEditEngine = aVars.HasEditCharacters() || (bFormulaCell && aCell.mpFormula->IsMultilineResult());
+ bUseEditEngine = aVars.HasEditCharacters() || (bFormulaCell && aCell.getFormula()->IsMultilineResult());
}
tools::Long nTotalMargin = 0;
SvxCellHorJustify eOutHorJust = SvxCellHorJustify::Standard;
@@ -1737,7 +1737,7 @@ tools::Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, co
bCellIsValue = ( eCellType == CELLTYPE_VALUE );
if ( eCellType == CELLTYPE_FORMULA )
{
- ScFormulaCell* pFCell = aCell.mpFormula;
+ ScFormulaCell* pFCell = aCell.getFormula();
bCellIsValue = pFCell->IsRunning() || pFCell->IsValue();
}
@@ -2130,7 +2130,7 @@ tools::Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, co
}
// PDF: whole-cell hyperlink from formula?
- bool bHasURL = pPDFData && aCell.getType() == CELLTYPE_FORMULA && aCell.mpFormula->IsHyperLinkCell();
+ bool bHasURL = pPDFData && aCell.getType() == CELLTYPE_FORMULA && aCell.getFormula()->IsHyperLinkCell();
if (bPaint && bHasURL)
{
tools::Rectangle aURLRect( aURLStart, aVars.GetTextSize() );
@@ -2192,7 +2192,7 @@ static bool lcl_SafeIsValue( ScRefCellValue& rCell )
return true;
case CELLTYPE_FORMULA:
{
- ScFormulaCell* pFCell = rCell.mpFormula;
+ ScFormulaCell* pFCell = rCell.getFormula();
if (pFCell->IsRunning() || pFCell->IsValue())
return true;
}
@@ -2559,7 +2559,7 @@ bool ScOutputData::DrawEditParam::isHyperlinkCell() const
if (maCell.getType() != CELLTYPE_FORMULA)
return false;
- return maCell.mpFormula->IsHyperLinkCell();
+ return maCell.getFormula()->IsHyperLinkCell();
}
bool ScOutputData::DrawEditParam::isVerticallyOriented() const
diff --git a/sc/source/ui/view/tabvwsh.cxx b/sc/source/ui/view/tabvwsh.cxx
index 666d07a66fc7..f948d8326002 100644
--- a/sc/source/ui/view/tabvwsh.cxx
+++ b/sc/source/ui/view/tabvwsh.cxx
@@ -112,7 +112,7 @@ OUString ScTabViewShell::GetFormula(const ScAddress& rAddress)
ScRefCellValue aCell(rDoc, rAddress);
if (!aCell.isEmpty() && aCell.getType() == CELLTYPE_FORMULA)
{
- return aCell.mpFormula->GetFormula();
+ return aCell.getFormula()->GetFormula();
}
return OUString();
}
diff --git a/sc/source/ui/view/tabvwsh5.cxx b/sc/source/ui/view/tabvwsh5.cxx
index 6b35721986a8..b701cc327e5e 100644
--- a/sc/source/ui/view/tabvwsh5.cxx
+++ b/sc/source/ui/view/tabvwsh5.cxx
@@ -339,9 +339,9 @@ std::unique_ptr<SvxNumberInfoItem> ScTabViewShell::MakeNumberInfoItem( ScDocumen
case CELLTYPE_FORMULA:
{
- if (aCell.mpFormula->IsValue())
+ if (aCell.getFormula()->IsValue())
{
- nCellValue = aCell.mpFormula->GetValue();
+ nCellValue = aCell.getFormula()->GetValue();
eValType = SvxNumberValueType::Number;
}
else
diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index 461f31ff7d08..f559732fff74 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -708,7 +708,7 @@ void ScTabViewShell::UpdateInputHandler( bool bForce /* = sal_False */, bool bSt
if (rCell.getType() == CELLTYPE_FORMULA)
{
if (!bHideFormula)
- aString = rCell.mpFormula->GetFormula();
+ aString = rCell.getFormula()->GetFormula();
}
else if (rCell.getType() == CELLTYPE_EDIT)
{
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 16230b5a17a6..30f3d3fe083f 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -277,7 +277,7 @@ static ScAutoSum lcl_IsAutoSumData( ScDocument& rDoc, SCCOL nCol, SCROW nRow,
if (aCell.getType() == CELLTYPE_FORMULA)
{
ScAutoSum val = ScAutoSumNone;
- ScTokenArray* pCode = aCell.mpFormula->GetCode();
+ ScTokenArray* pCode = aCell.getFormula()->GetCode();
if ( pCode )
{
switch( pCode->GetOuterFuncOpCode() )