summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-10-10 20:24:21 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2013-10-11 12:14:27 -0400
commit7333881bb7b04f7e4e2a28638024ae82a9c14e81 (patch)
tree97548f94ab918d502b45a5dda40ece5ad4117617 /sc/inc
parent6255be7ca294d350143290c343673f264f42220c (diff)
Formula tokens, formula cells and formula interpreters to use shared strings.
Change-Id: I5da99869fc7f61ce698180fa5daa9be9db9ac132
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/formulacell.hxx6
-rw-r--r--sc/inc/formularesult.hxx4
-rw-r--r--sc/inc/simpleformulacalc.hxx2
-rw-r--r--sc/inc/token.hxx53
4 files changed, 32 insertions, 33 deletions
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx
index a4947599033d..ea80b1518300 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -244,7 +244,7 @@ public:
bool IsValueNoError();
bool IsHybridValueCell(); // for cells after import to deal with inherited number formats
double GetValue();
- OUString GetString();
+ svl::SharedString GetString();
const ScMatrix* GetMatrix();
bool GetMatrixOrigin( ScAddress& rPos ) const;
void GetResultDimensions( SCSIZE& rCols, SCSIZE& rRows );
@@ -252,7 +252,7 @@ public:
sal_uInt16 GetErrCode(); // interpret first if necessary
sal_uInt16 GetRawError(); // don't interpret, just return code or result error
bool GetErrorOrValue( sal_uInt16& rErr, double& rVal );
- bool GetErrorOrString( sal_uInt16& rErr, OUString& rStr );
+ bool GetErrorOrString( sal_uInt16& rErr, svl::SharedString& rStr );
sal_uInt8 GetMatrixFlag() const;
ScTokenArray* GetCode();
const ScTokenArray* GetCode() const;
@@ -309,7 +309,7 @@ public:
void SetResultToken( const formula::FormulaToken* pToken );
- OUString GetResultString() const;
+ svl::SharedString GetResultString() const;
void SetErrCode( sal_uInt16 n );
bool IsHyperLinkCell() const;
diff --git a/sc/inc/formularesult.hxx b/sc/inc/formularesult.hxx
index d1c235f5ed74..8a7b36543284 100644
--- a/sc/inc/formularesult.hxx
+++ b/sc/inc/formularesult.hxx
@@ -135,7 +135,7 @@ public:
bool IsMultiline() const;
bool GetErrorOrDouble( sal_uInt16& rErr, double& rVal ) const;
- bool GetErrorOrString( sal_uInt16& rErr, OUString& rStr ) const;
+ bool GetErrorOrString( sal_uInt16& rErr, svl::SharedString& rStr ) const;
/** Get error code if set or GetCellResultType() is formula::svError or svUnknown,
else 0. */
@@ -159,7 +159,7 @@ public:
/** Return string if type formula::svString or formula::svHybridCell or formula::svMatrixCell and
upper left formula::svString, else empty string. */
- const OUString& GetString() const;
+ svl::SharedString GetString() const;
/** Return matrix if type formula::svMatrixCell and ScMatrix present, else NULL. */
ScConstMatrixRef GetMatrix() const;
diff --git a/sc/inc/simpleformulacalc.hxx b/sc/inc/simpleformulacalc.hxx
index 43ff6eac4acf..4d13c6bd7a3b 100644
--- a/sc/inc/simpleformulacalc.hxx
+++ b/sc/inc/simpleformulacalc.hxx
@@ -40,7 +40,7 @@ public:
bool IsValue();
sal_uInt16 GetErrCode();
double GetValue();
- OUString GetString();
+ svl::SharedString GetString();
short GetFormatType() const { return mnFormatType; }
sal_uLong GetFormatIndex() const { return mnFormatIndex; }
diff --git a/sc/inc/token.hxx b/sc/inc/token.hxx
index 7b657e56d26f..0046c44e2262 100644
--- a/sc/inc/token.hxx
+++ b/sc/inc/token.hxx
@@ -210,19 +210,18 @@ public:
class ScExternalSingleRefToken : public ScToken
{
-private:
sal_uInt16 mnFileId;
- OUString maTabName;
+ svl::SharedString maTabName;
ScSingleRefData maSingleRef;
- ScExternalSingleRefToken(); // disabled
+ ScExternalSingleRefToken(); // disabled
public:
- ScExternalSingleRefToken( sal_uInt16 nFileId, const OUString& rTabName, const ScSingleRefData& r );
- ScExternalSingleRefToken( const ScExternalSingleRefToken& r );
- virtual ~ScExternalSingleRefToken();
+ ScExternalSingleRefToken( sal_uInt16 nFileId, const svl::SharedString& rTabName, const ScSingleRefData& r );
+ ScExternalSingleRefToken( const ScExternalSingleRefToken& r );
+ virtual ~ScExternalSingleRefToken();
virtual sal_uInt16 GetIndex() const;
- virtual const OUString& GetString() const;
+ virtual svl::SharedString GetString() const;
virtual const ScSingleRefData& GetSingleRef() const;
virtual ScSingleRefData& GetSingleRef();
virtual bool operator==( const formula::FormulaToken& rToken ) const;
@@ -232,19 +231,18 @@ public:
class ScExternalDoubleRefToken : public ScToken
{
-private:
sal_uInt16 mnFileId;
- OUString maTabName; // name of the first sheet
+ svl::SharedString maTabName; // name of the first sheet
ScComplexRefData maDoubleRef;
- ScExternalDoubleRefToken(); // disabled
+ ScExternalDoubleRefToken(); // disabled
public:
- ScExternalDoubleRefToken( sal_uInt16 nFileId, const OUString& rTabName, const ScComplexRefData& r );
- ScExternalDoubleRefToken( const ScExternalDoubleRefToken& r );
- virtual ~ScExternalDoubleRefToken();
+ ScExternalDoubleRefToken( sal_uInt16 nFileId, const svl::SharedString& rTabName, const ScComplexRefData& r );
+ ScExternalDoubleRefToken( const ScExternalDoubleRefToken& r );
+ virtual ~ScExternalDoubleRefToken();
virtual sal_uInt16 GetIndex() const;
- virtual const OUString& GetString() const;
+ virtual svl::SharedString GetString() const;
virtual const ScSingleRefData& GetSingleRef() const;
virtual ScSingleRefData& GetSingleRef();
virtual const ScSingleRefData& GetSingleRef2() const;
@@ -257,17 +255,17 @@ public:
class ScExternalNameToken : public ScToken
{
-private:
sal_uInt16 mnFileId;
- OUString maName;
-private:
- ScExternalNameToken(); // disabled
+ svl::SharedString maName;
+
+ ScExternalNameToken(); // disabled
public:
- ScExternalNameToken( sal_uInt16 nFileId, const OUString& rName );
- ScExternalNameToken( const ScExternalNameToken& r );
- virtual ~ScExternalNameToken();
+ ScExternalNameToken( sal_uInt16 nFileId, const svl::SharedString& rName );
+ ScExternalNameToken( const ScExternalNameToken& r );
+ virtual ~ScExternalNameToken();
+
virtual sal_uInt16 GetIndex() const;
- virtual const OUString& GetString() const;
+ virtual svl::SharedString GetString() const;
virtual bool operator==( const formula::FormulaToken& rToken ) const;
virtual FormulaToken* Clone() const { return new ScExternalNameToken(*this); }
};
@@ -325,7 +323,7 @@ public:
bool IsInherited() const { return bInherited; }
bool IsDisplayedAsString() const { return bDisplayedAsString; }
virtual double GetDouble() const;
- virtual const OUString & GetString() const;
+ virtual svl::SharedString GetString() const;
virtual bool operator==( const formula::FormulaToken& rToken ) const;
virtual FormulaToken* Clone() const { return new ScEmptyCellToken(*this); }
};
@@ -345,7 +343,7 @@ public:
ScMatrixCellResultToken( const ScConstMatrixRef& pMat, formula::FormulaToken* pUL );
ScMatrixCellResultToken( const ScMatrixCellResultToken& r );
virtual double GetDouble() const;
- virtual const OUString & GetString() const;
+ virtual svl::SharedString GetString() const;
virtual const ScMatrix* GetMatrix() const;
virtual bool operator==( const formula::FormulaToken& rToken ) const;
virtual FormulaToken* Clone() const;
@@ -414,11 +412,11 @@ class SC_DLLPUBLIC ScHybridCellToken : public ScToken
{
private:
double mfDouble;
- OUString maString;
+ svl::SharedString maString;
OUString maFormula;
public:
ScHybridCellToken( double f,
- const OUString & rStr,
+ const svl::SharedString & rStr,
const OUString & rFormula ) :
ScToken( formula::svHybridCell ),
mfDouble( f ), maString( rStr ),
@@ -426,7 +424,8 @@ public:
const OUString& GetFormula() const { return maFormula; }
virtual double GetDouble() const;
- virtual const OUString& GetString() const;
+
+ virtual svl::SharedString GetString() const;
virtual bool operator==( const formula::FormulaToken& rToken ) const;
virtual FormulaToken* Clone() const { return new ScHybridCellToken(*this); }
};