summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-10-05 16:07:51 +0200
committerEike Rathke <erack@redhat.com>2015-10-05 18:47:46 +0200
commit6516d5e299bdf0e7aa03d1004763f6d10db48546 (patch)
tree512e833071d0b448d16d982a03b9f49551ee013c
parent42268b559a718a182cc41476f0d05e1af82f64ae (diff)
add half decoupled ScInterpreter::ConvertStringToValue()
... for back calls of ScMatrix in preparation of tdf#91453 Change-Id: Ife94d1675c1bc7c5611586e3f352ff69264469d7
-rw-r--r--sc/source/core/inc/interpre.hxx5
-rw-r--r--sc/source/core/tool/interpr4.cxx5
2 files changed, 10 insertions, 0 deletions
diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
index 1bda8a88a448..85ede44132cf 100644
--- a/sc/source/core/inc/interpre.hxx
+++ b/sc/source/core/inc/interpre.hxx
@@ -204,6 +204,11 @@ void ReplaceCell( SCCOL& rCol, SCROW& rRow, SCTAB& rTab ); // for TableOp
bool IsTableOpInRange( const ScRange& );
sal_uLong GetCellNumberFormat( const ScAddress& rPos, ScRefCellValue& rCell );
double ConvertStringToValue( const OUString& );
+public:
+/** For matrix back calls into the current interpreter.
+ Uses rError instead of nGlobalError and rCurFmtType instead of nCurFmtType. */
+double ConvertStringToValue( const OUString&, sal_uInt16& rError, short& rCurFmtType );
+private:
double GetCellValue( const ScAddress&, ScRefCellValue& rCell );
double GetCellValueOrZero( const ScAddress&, ScRefCellValue& rCell );
double GetValueCellValue( const ScAddress&, double fOrig );
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 3f95e6d638ce..68d182ca5f83 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -193,6 +193,11 @@ double ScInterpreter::ConvertStringToValue( const OUString& rStr )
return fValue;
}
+double ScInterpreter::ConvertStringToValue( const OUString& rStr, sal_uInt16& rError, short& rCurFmtType )
+{
+ return ScGlobal::ConvertStringToValue( rStr, maCalcConfig, rError, mnStringNoValueError, pFormatter, rCurFmtType);
+}
+
double ScInterpreter::GetCellValue( const ScAddress& rPos, ScRefCellValue& rCell )
{
sal_uInt16 nErr = nGlobalError;