summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-04-26 22:53:04 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-04-30 13:10:40 -0400
commit34c491dabedf3ce4feb1db6d00df33e5573ec03c (patch)
tree4d4e93e817c27aa10fb52a0d7edbdd1c5717bd16 /sc/inc
parentf32534cedd414e57790782794cacdd0f0f4adb7c (diff)
Handle invariant group with single references.
Change-Id: Ifbbac2b11b1023a5cf3d21204c12b9740af09aaf
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/column.hxx7
-rw-r--r--sc/inc/document.hxx11
-rw-r--r--sc/inc/formulacell.hxx2
-rw-r--r--sc/inc/table.hxx4
-rw-r--r--sc/inc/token.hxx4
-rw-r--r--sc/inc/types.hxx3
6 files changed, 17 insertions, 14 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 866fce3bf113..157bc173e98f 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -25,11 +25,13 @@
#include "address.hxx"
#include "rangenam.hxx"
#include "types.hxx"
-#include <boost/intrusive_ptr.hpp>
+#include "formula/types.hxx"
#include <set>
#include <vector>
+#include <boost/intrusive_ptr.hpp>
+
#define DEBUG_COLUMN_STORAGE 0
#if DEBUG_COLUMN_STORAGE
@@ -448,7 +450,8 @@ public:
size_t GetFormulaHash( SCROW nRow ) const;
ScFormulaVectorState GetFormulaVectorState( SCROW nRow ) const;
- bool ResolveVectorReference( SCROW nRow1, SCROW nRow2 );
+ formula::FormulaTokenRef ResolveStaticReference( SCROW nRow );
+ bool ResolveStaticReference( ScMatrix& rMat, SCCOL nMatCol, SCROW nRow1, SCROW nRow2 );
ScRefCellValue GetRefCellValue( SCROW );
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 052b81d208e9..cdb80e041e95 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -32,6 +32,7 @@
#include "sortparam.hxx"
#include "types.hxx"
#include "formula/grammar.hxx"
+#include "formula/types.hxx"
#include <com/sun/star/chart2/XChartDocument.hpp>
#include "typedstrdata.hxx"
#include "compressedarray.hxx"
@@ -1940,14 +1941,8 @@ public:
ScFormulaVectorState GetFormulaVectorState( const ScAddress& rPos ) const;
- /**
- * Check if the range contains any "dirty" formula cells. In the future
- * we'll use this function to interpret those "dirty" formula cells on
- * demand.
- *
- * @return true if the range is totally clean, false otherwise.
- */
- bool ResolveVectorReference( const ScAddress& rPos, SCROW nEndRow );
+ formula::FormulaTokenRef ResolveStaticReference( const ScAddress& rPos );
+ formula::FormulaTokenRef ResolveStaticReference( const ScRange& rRange );
private: // CLOOK-Impl-methods
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx
index e6239e3f2226..397fd9c72fe4 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -282,6 +282,8 @@ public:
*/
void SetResultDouble( double n ) { aResult.SetDouble( n); }
+ double GetResultDouble() const { return aResult.GetDouble(); }
+
void SetErrCode( sal_uInt16 n );
bool IsHyperLinkCell() const;
EditTextObject* CreateURLObject();
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index eb5f7561a1ef..c04b902135d1 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -30,6 +30,7 @@
#include "compressedarray.hxx"
#include "postit.hxx"
#include "types.hxx"
+#include "formula/types.hxx"
#include <set>
#include <map>
@@ -819,7 +820,8 @@ public:
size_t GetFormulaHash( SCCOL nCol, SCROW nRow ) const;
ScFormulaVectorState GetFormulaVectorState( SCCOL nCol, SCROW nRow ) const;
- bool ResolveVectorReference( SCCOL nCol, SCROW nRow1, SCROW nRow2 );
+ formula::FormulaTokenRef ResolveStaticReference( SCCOL nCol, SCROW nRow );
+ formula::FormulaTokenRef ResolveStaticReference( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
ScRefCellValue GetRefCellValue( SCCOL nCol, SCROW nRow );
diff --git a/sc/inc/token.hxx b/sc/inc/token.hxx
index a54055561bae..abd3cd5c06cc 100644
--- a/sc/inc/token.hxx
+++ b/sc/inc/token.hxx
@@ -31,13 +31,11 @@
#include "scdllapi.h"
#include "formula/IFunctionDescription.hxx"
#include "formula/token.hxx"
-
+#include "types.hxx"
class ScJumpMatrix;
-class ScToken;
typedef ::std::vector< ScComplexRefData > ScRefList;
-typedef ::boost::intrusive_ptr<ScToken> ScTokenRef;
class SC_DLLPUBLIC ScToken : public formula::FormulaToken
{
diff --git a/sc/inc/types.hxx b/sc/inc/types.hxx
index 7227472aa949..1af6e2d73b62 100644
--- a/sc/inc/types.hxx
+++ b/sc/inc/types.hxx
@@ -17,6 +17,9 @@ class ScMatrix;
typedef ::boost::intrusive_ptr<ScMatrix> ScMatrixRef;
typedef ::boost::intrusive_ptr<const ScMatrix> ScConstMatrixRef;
+class ScToken;
+typedef ::boost::intrusive_ptr<ScToken> ScTokenRef;
+
/**
* When vectorization is enabled, we could potentially mass-calculate a
* series of formula token arrays in adjacent formula cells in one step,