diff options
-rw-r--r-- | sc/inc/formularesult.hxx | 8 | ||||
-rw-r--r-- | sc/source/core/tool/formularesult.cxx | 24 |
2 files changed, 17 insertions, 15 deletions
diff --git a/sc/inc/formularesult.hxx b/sc/inc/formularesult.hxx index 9150ab939869..b19b001640a1 100644 --- a/sc/inc/formularesult.hxx +++ b/sc/inc/formularesult.hxx @@ -47,9 +47,11 @@ struct FormulaResultValue and memory consumption. */ class ScFormulaResult { - enum class Multiline { - Unknown, False, True - }; + typedef unsigned char Multiline; + static const Multiline MULTILINE_UNKNOWN = 0; + static const Multiline MULTILINE_FALSE = 1; + static const Multiline MULTILINE_TRUE = 2; + // Clone token if the 16-bit only reference counter is nearing it's // capacity during fill or copy&paste, leaving 4k for temporary passing // around. (That should be enough for all times (TM) ;-) diff --git a/sc/source/core/tool/formularesult.cxx b/sc/source/core/tool/formularesult.cxx index 417777b85437..2c1b646f605a 100644 --- a/sc/source/core/tool/formularesult.cxx +++ b/sc/source/core/tool/formularesult.cxx @@ -22,7 +22,7 @@ FormulaResultValue::FormulaResultValue( FormulaError nErr ) : meType(Error), mfV ScFormulaResult::ScFormulaResult() : mpToken(nullptr), mnError(FormulaError::NONE), mbToken(true), mbEmpty(false), mbEmptyDisplayedAsString(false), - meMultiline(Multiline::Unknown) {} + meMultiline(MULTILINE_UNKNOWN) {} ScFormulaResult::ScFormulaResult( const ScFormulaResult & r ) : mnError( r.mnError), mbToken( r.mbToken), @@ -56,7 +56,7 @@ ScFormulaResult::ScFormulaResult( const ScFormulaResult & r ) : ScFormulaResult::ScFormulaResult( const formula::FormulaToken* p ) : mnError(FormulaError::NONE), mbToken(false), mbEmpty(false), mbEmptyDisplayedAsString(false), - meMultiline(Multiline::Unknown) + meMultiline(MULTILINE_UNKNOWN) { SetToken( p); } @@ -72,7 +72,7 @@ void ScFormulaResult::ResetToDefaults() mnError = FormulaError::NONE; mbEmpty = false; mbEmptyDisplayedAsString = false; - meMultiline = Multiline::Unknown; + meMultiline = MULTILINE_UNKNOWN; } void ScFormulaResult::ResolveToken( const formula::FormulaToken * p ) @@ -93,20 +93,20 @@ void ScFormulaResult::ResolveToken( const formula::FormulaToken * p ) mbToken = false; // set in case mnError is 0 now, which shouldn't happen but ... mfValue = 0.0; - meMultiline = Multiline::False; + meMultiline = MULTILINE_FALSE; break; case formula::svEmptyCell: mbEmpty = true; mbEmptyDisplayedAsString = static_cast<const ScEmptyCellToken*>(p)->IsDisplayedAsString(); p->DecRef(); mbToken = false; - meMultiline = Multiline::False; + meMultiline = MULTILINE_FALSE; break; case formula::svDouble: mfValue = p->GetDouble(); p->DecRef(); mbToken = false; - meMultiline = Multiline::False; + meMultiline = MULTILINE_FALSE; break; default: mpToken = p; @@ -212,7 +212,7 @@ void ScFormulaResult::SetDouble( double f ) mpToken->DecRef(); mfValue = f; mbToken = false; - meMultiline = Multiline::False; + meMultiline = MULTILINE_FALSE; } } @@ -300,15 +300,15 @@ bool ScFormulaResult::IsValueNoError() const bool ScFormulaResult::IsMultiline() const { - if (meMultiline == Multiline::Unknown) + if (meMultiline == MULTILINE_UNKNOWN) { svl::SharedString aStr = GetString(); if (!aStr.isEmpty() && aStr.getString().indexOf('\n') != -1) - const_cast<ScFormulaResult*>(this)->meMultiline = Multiline::True; + const_cast<ScFormulaResult*>(this)->meMultiline = MULTILINE_TRUE; else - const_cast<ScFormulaResult*>(this)->meMultiline = Multiline::False; + const_cast<ScFormulaResult*>(this)->meMultiline = MULTILINE_FALSE; } - return meMultiline == Multiline::True; + return meMultiline == MULTILINE_TRUE; } bool ScFormulaResult::GetErrorOrDouble( FormulaError& rErr, double& rVal ) const @@ -513,7 +513,7 @@ void ScFormulaResult::SetHybridDouble( double f ) { mfValue = f; mbToken = false; - meMultiline = Multiline::False; + meMultiline = MULTILINE_FALSE; } } |