diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2005-03-08 10:27:14 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2005-03-08 10:27:14 +0000 |
commit | 8dc8021550d33bd28e8a9053fe22c8972ea699f9 (patch) | |
tree | 59669da050eaf2a13037684acd55497c8d437208 /sc/inc/cell.hxx | |
parent | ef80f426c6346524b1c35bcb25c7b846aa80c007 (diff) |
INTEGRATION: CWS calcer (1.16.30); FILE MERGED
2005/02/21 15:17:20 er 1.16.30.3: RESYNC: (1.16-1.17); FILE MERGED
2005/02/18 18:52:23 er 1.16.30.2: #i20986# #i21124# #i4874# #i7309# new algorithm for recursions and iterations
2004/11/16 14:20:32 er 1.16.30.1: initialization order (gcc warning)
Diffstat (limited to 'sc/inc/cell.hxx')
-rw-r--r-- | sc/inc/cell.hxx | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/sc/inc/cell.hxx b/sc/inc/cell.hxx index 97807a51d435..b97061cf440f 100644 --- a/sc/inc/cell.hxx +++ b/sc/inc/cell.hxx @@ -2,9 +2,9 @@ * * $RCSfile: cell.hxx,v $ * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * - * last change: $Author: hr $ $Date: 2004-11-09 17:53:48 $ + * last change: $Author: vg $ $Date: 2005-03-08 11:27:14 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -271,7 +271,6 @@ class ScIndexMap; class ScFormulaCell : public ScBaseCell, public SvtListener { private: - static INT8 nIterMode; // Markiert cirk. Iteration String aErgString; double nErgValue; ScTokenArray* pCode; // das neue Token-Array @@ -284,6 +283,7 @@ private: ULONG nFormatIndex; // durch Berechnung gesetztes Format SCCOL nMatCols; // wenn MM_FORMULA Matrixzelle SCROW nMatRows; // belegte Area + USHORT nSeenInIteration; // Iteration cycle in which the cell was last encountered short nFormatType; BOOL bIsValue : 1; // Result is numerical, not textual BOOL bDirty : 1; // Must be (re)calculated @@ -297,6 +297,14 @@ private: BOOL bNeedListening : 1; // Listeners need to be re-established after UpdateReference BYTE cMatrixFlag; // 1 = links oben, 2 = Restmatrix, 0 = keine + enum ScInterpretTailParameter + { + SCITP_NORMAL, + SCITP_FROM_ITERATION, + SCITP_CLOSE_ITERATION_CIRCLE + }; + void InterpretTail( ScInterpretTailParameter ); + public: #ifdef USE_MEMPOOL @@ -335,7 +343,7 @@ public: inline void SetDirtyVar() { bDirty = TRUE; } inline void ResetTableOpDirtyVar() { bTableOpDirty = FALSE; } void SetTableOpDirty(); - BOOL IsDirtyOrInTableOpDirty(); + BOOL IsDirtyOrInTableOpDirty() const; BOOL GetDirty() const { return bDirty; } BOOL NeedsListening() const { return bNeedListening; } void SetNeedsListening( BOOL bVar ) { bNeedListening = bVar; } @@ -344,6 +352,8 @@ public: void CompileXML( ScProgress& rProgress ); // compile temporary string tokens void CalcAfterLoad(); void Interpret(); + inline BOOL IsIterCell() const { return bIsIterCell; } + inline USHORT GetSeenInIteration() const { return nSeenInIteration; } BOOL HasOneReference( ScRange& r ) const; BOOL HasRelNameReference() const; @@ -466,15 +476,19 @@ public: // ScBaseCell inline ScBaseCell::ScBaseCell( CellType eNewType ) : - eCellType( eNewType ), pNote( NULL ), - pBroadcaster( NULL ), nTextWidth( TEXTWIDTH_DIRTY ), nScriptType( SC_SCRIPTTYPE_UNKNOWN ) + pBroadcaster( NULL ), + nTextWidth( TEXTWIDTH_DIRTY ), + eCellType( eNewType ), + nScriptType( SC_SCRIPTTYPE_UNKNOWN ) { } inline ScBaseCell::ScBaseCell( const ScBaseCell& rBaseCell, ScDocument* pDoc ) : + pBroadcaster( NULL ), + nTextWidth( rBaseCell.nTextWidth ), eCellType( rBaseCell.eCellType ), - pBroadcaster( NULL ), nTextWidth( rBaseCell.nTextWidth ), nScriptType( SC_SCRIPTTYPE_UNKNOWN ) + nScriptType( SC_SCRIPTTYPE_UNKNOWN ) { if (rBaseCell.pNote) pNote = new ScPostIt( *rBaseCell.pNote, pDoc ); |