diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-04-26 22:53:04 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-04-30 13:10:40 -0400 |
commit | 34c491dabedf3ce4feb1db6d00df33e5573ec03c (patch) | |
tree | 4d4e93e817c27aa10fb52a0d7edbdd1c5717bd16 /sc/inc | |
parent | f32534cedd414e57790782794cacdd0f0f4adb7c (diff) |
Handle invariant group with single references.
Change-Id: Ifbbac2b11b1023a5cf3d21204c12b9740af09aaf
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/column.hxx | 7 | ||||
-rw-r--r-- | sc/inc/document.hxx | 11 | ||||
-rw-r--r-- | sc/inc/formulacell.hxx | 2 | ||||
-rw-r--r-- | sc/inc/table.hxx | 4 | ||||
-rw-r--r-- | sc/inc/token.hxx | 4 | ||||
-rw-r--r-- | sc/inc/types.hxx | 3 |
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, |