summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <er@openoffice.org>2001-02-13 17:51:12 +0000
committerEike Rathke <er@openoffice.org>2001-02-13 17:51:12 +0000
commit15df1e749bb8b69ee0372f3d7d26c100ebf659ef (patch)
treed75a1f5a1f66d7d7894955ccaf9ef2575edbe546
parent43aa4086f31417be160b6e81647cc3dcbfa3b5e1 (diff)
new: TableOpDirty
-rw-r--r--sc/inc/brdcst.hxx5
-rw-r--r--sc/inc/cell.hxx7
-rw-r--r--sc/inc/column.hxx5
-rw-r--r--sc/inc/document.hxx23
-rw-r--r--sc/inc/table.hxx5
5 files changed, 34 insertions, 11 deletions
diff --git a/sc/inc/brdcst.hxx b/sc/inc/brdcst.hxx
index 48da9616900c..240b760fe7e7 100644
--- a/sc/inc/brdcst.hxx
+++ b/sc/inc/brdcst.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: brdcst.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: hr $ $Date: 2000-09-18 16:44:48 $
+ * last change: $Author: er $ $Date: 2001-02-13 18:51:12 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -78,6 +78,7 @@ class ScBaseCell;
#define SC_HINT_DYING SFX_HINT_DYING
#define SC_HINT_DATACHANGED SFX_HINT_DATACHANGED
+#define SC_HINT_TABLEOPDIRTY SFX_HINT_USER00
class ScHint : public SfxSimpleHint
{
diff --git a/sc/inc/cell.hxx b/sc/inc/cell.hxx
index 00814436510a..b871ffc2e383 100644
--- a/sc/inc/cell.hxx
+++ b/sc/inc/cell.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cell.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: nn $ $Date: 2000-11-23 20:20:12 $
+ * last change: $Author: er $ $Date: 2001-02-13 18:51:12 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -282,6 +282,7 @@ private:
BOOL bSubTotal : 1; // ist ein SubTotal
BOOL bIsIterCell : 1; // kennzeichnet Zellen mit cirk. Refs.
BOOL bInChangeTrack: 1; // Zelle ist im ChangeTrack
+ BOOL bTableOpDirty : 1; // dirty for TableOp
BYTE cMatrixFlag; // 1 = links oben, 2 = Restmatrix, 0 = keine
public:
@@ -317,6 +318,8 @@ public:
void SetDirty();
inline void SetDirtyVar() { bDirty = TRUE; }
+ void SetTableOpDirty();
+ BOOL IsDirtyOrInTableOpDirty();
BOOL GetDirty() const { return bDirty; }
void Compile(const String& rFormula, BOOL bNoListening = FALSE );
void CompileTokenArray( BOOL bNoListening = FALSE );
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index db3248695ba8..541a2dd3fe75 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: column.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: hr $ $Date: 2000-09-18 16:44:48 $
+ * last change: $Author: er $ $Date: 2001-02-13 18:51:12 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -298,6 +298,7 @@ public:
void SetDirty( const ScRange& );
void SetDirtyVar();
void SetDirtyAfterLoad();
+ void SetTableOpDirty( const ScRange& );
void CalcAll();
void CalcAfterLoad();
void CompileAll();
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 940193c90198..948f650a8ef2 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: document.hxx,v $
*
- * $Revision: 1.18 $
+ * $Revision: 1.19 $
*
- * last change: $Author: nn $ $Date: 2001-02-08 19:30:20 $
+ * last change: $Author: er $ $Date: 2001-02-13 18:51:12 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -87,6 +87,9 @@
#include "rangelst.hxx"
#endif
+#ifndef _SC_BRDCST_HXX
+#include "brdcst.hxx"
+#endif
class KeyEvent;
class OutputDevice;
@@ -382,6 +385,7 @@ private:
ULONG nFormulaCodeInTree; // FormelRPN im Formelbaum
USHORT nInterpretLevel; // >0 wenn im Interpreter
USHORT nMacroInterpretLevel; // >0 wenn Macro im Interpreter
+ USHORT nInterpreterTableOpLevel; // >0 if in Interpreter TableOp
USHORT nMaxTableNumber;
USHORT nSrcVer; // Dateiversion (Laden/Speichern)
USHORT nSrcMaxRow; // Zeilenzahl zum Laden/Speichern
@@ -781,6 +785,7 @@ public:
void SetDirty();
void SetDirty( const ScRange& );
void SetDirtyVar();
+ void SetTableOpDirty( const ScRange& ); // for Interpreter TableOp
void CalcAll();
void CalcAfterLoad();
void CompileAll();
@@ -1367,7 +1372,7 @@ public:
void ClearFormulaTree();
void AppendToFormulaTrack( ScFormulaCell* pCell );
void RemoveFromFormulaTrack( ScFormulaCell* pCell );
- void TrackFormulas();
+ void TrackFormulas( ULONG nHintId = SC_HINT_DATACHANGED );
USHORT GetFormulaTrackCount() const { return nFormulaTrackCount; }
BOOL IsInFormulaTree( ScFormulaCell* pCell ) const;
BOOL IsInFormulaTrack( ScFormulaCell* pCell ) const;
@@ -1402,6 +1407,18 @@ public:
if ( nMacroInterpretLevel )
nMacroInterpretLevel--;
}
+ BOOL IsInInterpreterTableOp() const { return nInterpreterTableOpLevel != 0; }
+ USHORT GetInterpreterTableOpLevel() { return nInterpreterTableOpLevel; }
+ void IncInterpreterTableOpLevel()
+ {
+ if ( nInterpreterTableOpLevel < USHRT_MAX )
+ nInterpreterTableOpLevel++;
+ }
+ void DecInterpreterTableOpLevel()
+ {
+ if ( nInterpreterTableOpLevel )
+ nInterpreterTableOpLevel--;
+ }
BOOL IsInDtorClear() const { return bInDtorClear; }
void SetExpandRefs( BOOL bVal ) { bExpandRefs = bVal; }
BOOL IsExpandRefs() { return bExpandRefs; }
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 18985c571f82..07156810d3e9 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: table.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: nn $ $Date: 2001-01-22 14:08:26 $
+ * last change: $Author: er $ $Date: 2001-02-13 18:51:12 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -381,6 +381,7 @@ public:
void SetDirty( const ScRange& );
void SetDirtyAfterLoad();
void SetDirtyVar();
+ void SetTableOpDirty( const ScRange& );
void CalcAll();
void CalcAfterLoad();
void CompileAll();