summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-09-04 18:33:41 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-09-06 01:38:31 -0400
commite462eb1183c0e52c06786296b39c121ea3671199 (patch)
tree55efc399557f44b69267f2e3b33057989e693e91 /sc/inc
parent69047ec117cd2e0885efec1824e9c00555da4800 (diff)
Allow storage of string arrays in vector ref tokens.
Change-Id: Id2bc5a0343afeae387d896a9c369586a13081cd5
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/column.hxx3
-rw-r--r--sc/inc/document.hxx5
-rw-r--r--sc/inc/formulagroup.hxx9
-rw-r--r--sc/inc/table.hxx3
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 );