summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorBenjamin Ni <benjaminniri@hotmail.com>2015-05-27 09:00:45 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-05-30 09:06:58 +0000
commit51262ef0d11d9aef246001d8a9b1c1d8753023bd (patch)
tree182de28064a0d9e58a3e0f3c0a2dd0aa735293b8 /sc/inc
parent71eeb8aa5897349073d0a6235a034bec26465040 (diff)
Implemented formula group count statistic
Change-Id: I8b9c11fdd4b6e4343b467f1e5b1d1e96f1dd3140 Reviewed-on: https://gerrit.libreoffice.org/15927 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/column.hxx1
-rw-r--r--sc/inc/dociter.hxx18
-rw-r--r--sc/inc/document.hxx4
-rw-r--r--sc/inc/table.hxx1
4 files changed, 24 insertions, 0 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 9d9679308d49..d5e66254d243 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -145,6 +145,7 @@ friend class ScValueIterator;
friend class ScHorizontalValueIterator;
friend class ScDBQueryDataIterator;
friend class ScQueryCellIterator;
+friend class ScFormulaGroupIterator;
friend class ScCellIterator;
friend class ScHorizontalCellIterator;
friend class ScHorizontalAttrIterator;
diff --git a/sc/inc/dociter.hxx b/sc/inc/dociter.hxx
index 5b32930858b7..49a782e3fe3c 100644
--- a/sc/inc/dociter.hxx
+++ b/sc/inc/dociter.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_SC_INC_DOCITER_HXX
#include "address.hxx"
+#include "formulagroup.hxx"
#include <tools/solar.h>
#include "global.hxx"
#include "scdllapi.h"
@@ -184,6 +185,23 @@ public:
bool GetNext(Value& rValue);
};
+class ScFormulaGroupIterator
+{
+private:
+ ScDocument* mpDoc;
+ SCTAB mnTab;
+ SCCOL mnCol;
+ bool mbNullCol;
+ size_t mnIndex;
+ std::vector<sc::FormulaGroupEntry> maEntries;
+
+public:
+ ScFormulaGroupIterator( ScDocument* pDoc );
+
+ sc::FormulaGroupEntry* first();
+ sc::FormulaGroupEntry* next();
+};
+
/**
* Walk through all cells in an area. For SubTotal and Aggregate depending on mnSubTotalFlags.
**/
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 7ea90f19015f..79ea55532137 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -231,10 +231,12 @@ struct ScDocStat
OUString aDocName;
SCTAB nTableCount;
sal_uLong nCellCount;
+ sal_uLong nFormulaCount;
sal_uInt16 nPageCount;
ScDocStat()
: nTableCount(0)
, nCellCount(0)
+ , nFormulaCount(0)
, nPageCount(0)
{
}
@@ -251,6 +253,7 @@ class ScDocument
friend class ScValueIterator;
friend class ScHorizontalValueIterator;
friend class ScDBQueryDataIterator;
+friend class ScFormulaGroupIterator;
friend class ScCellIterator;
friend class ScQueryCellIterator;
friend class ScHorizontalCellIterator;
@@ -465,6 +468,7 @@ public:
bool IsUsingEmbededFonts() { return mbUseEmbedFonts; }
void SetIsUsingEmbededFonts( bool bUse ) { mbUseEmbedFonts = bUse; }
SC_DLLPUBLIC sal_uLong GetCellCount() const; // all cells
+ SC_DLLPUBLIC sal_uLong GetFormulaGroupCount() const; // all cells
sal_uLong GetCodeCount() const; // RPN-Code in formulas
DECL_LINK( GetUserDefinedColor, sal_uInt16 * );
// number formatter
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 7454188f04a7..8bbf7df98f13 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -209,6 +209,7 @@ friend class ScDocument; // for FillInfo
friend class ScValueIterator;
friend class ScHorizontalValueIterator;
friend class ScDBQueryDataIterator;
+friend class ScFormulaGroupIterator;
friend class ScCellIterator;
friend class ScQueryCellIterator;
friend class ScHorizontalCellIterator;