diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-09-04 18:33:41 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-09-06 01:38:31 -0400 |
commit | e462eb1183c0e52c06786296b39c121ea3671199 (patch) | |
tree | 55efc399557f44b69267f2e3b33057989e693e91 /sc/inc | |
parent | 69047ec117cd2e0885efec1824e9c00555da4800 (diff) |
Allow storage of string arrays in vector ref tokens.
Change-Id: Id2bc5a0343afeae387d896a9c369586a13081cd5
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/column.hxx | 3 | ||||
-rw-r--r-- | sc/inc/document.hxx | 5 | ||||
-rw-r--r-- | sc/inc/formulagroup.hxx | 9 | ||||
-rw-r--r-- | sc/inc/table.hxx | 3 |
4 files changed, 14 insertions, 6 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 7308d221d066..ba79c23fb83c 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -35,6 +35,7 @@ #include <mdds/flat_segment_tree.hpp> namespace editeng { class SvxBorderLine; } +namespace formula { struct VectorRefArray; } namespace sc { struct FormulaGroupContext; @@ -469,7 +470,7 @@ public: formula::FormulaTokenRef ResolveStaticReference( SCROW nRow ); bool ResolveStaticReference( ScMatrix& rMat, SCCOL nMatCol, SCROW nRow1, SCROW nRow2 ); void FillMatrix( ScMatrix& rMat, size_t nMatCol, SCROW nRow1, SCROW nRow2 ) const; - const double* FetchDoubleArray( sc::FormulaGroupContext& rCxt, SCROW nRow1, SCROW nRow2 ); + formula::VectorRefArray FetchVectorRefArray( sc::FormulaGroupContext& rCxt, SCROW nRow1, SCROW nRow2 ); void SetFormulaResults( SCROW nRow, const double* pResults, size_t nLen ); void SetNumberFormat( SCROW nRow, sal_uInt32 nNumberFormat ); diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index b91e8d3f5294..6949b6d686d3 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -49,6 +49,8 @@ #include "markdata.hxx" namespace editeng { class SvxBorderLine; } +namespace formula { struct VectorRefArray; } + namespace sc { struct FormulaGroupContext; class StartListeningContext; @@ -59,6 +61,7 @@ namespace sc { struct RefUpdateContext; class EditTextIterator; } + class SvxFontItem; class KeyEvent; @@ -1983,7 +1986,7 @@ public: formula::FormulaTokenRef ResolveStaticReference( const ScAddress& rPos ); formula::FormulaTokenRef ResolveStaticReference( const ScRange& rRange ); - const double* FetchDoubleArray( + formula::VectorRefArray FetchVectorRefArray( sc::FormulaGroupContext& rCxt, const ScAddress& rPos, SCROW nLength ); SvtBroadcaster* GetBroadcaster( const ScAddress& rPos ); diff --git a/sc/inc/formulagroup.hxx b/sc/inc/formulagroup.hxx index 9963fc96ad91..776b24d9b348 100644 --- a/sc/inc/formulagroup.hxx +++ b/sc/inc/formulagroup.hxx @@ -23,10 +23,13 @@ namespace sc { struct FormulaGroupContext : boost::noncopyable { - typedef std::vector<double> DoubleArrayType; - typedef boost::ptr_vector<DoubleArrayType> ArrayStoreType; + typedef std::vector<double> NumArrayType; + typedef std::vector<OUString> StrArrayType; + typedef boost::ptr_vector<NumArrayType> NumArrayStoreType; + typedef boost::ptr_vector<StrArrayType> StrArrayStoreType; - ArrayStoreType maArrays; + NumArrayStoreType maNumArrays; + StrArrayStoreType maStrArrays; }; /** diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index 69d25205fe8b..88166427f4a1 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -49,6 +49,7 @@ namespace com { namespace sun { namespace star { } } } } +namespace formula { struct VectorRefArray; } namespace sc { struct FormulaGroupContext; class StartListeningContext; @@ -850,7 +851,7 @@ public: ScFormulaVectorState GetFormulaVectorState( SCCOL nCol, SCROW nRow ) const; formula::FormulaTokenRef ResolveStaticReference( SCCOL nCol, SCROW nRow ); formula::FormulaTokenRef ResolveStaticReference( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ); - const double* FetchDoubleArray( + formula::VectorRefArray FetchVectorRefArray( sc::FormulaGroupContext& rCxt, SCCOL nCol, SCROW nRow1, SCROW nRow2 ); ScRefCellValue GetRefCellValue( SCCOL nCol, SCROW nRow ); |