summaryrefslogtreecommitdiffstats
path: root/sc/inc/dpobject.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-03-08 15:49:31 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-03-09 11:13:35 -0500
commit593f6ac1064184f1faee60155c412b964f6f86a1 (patch)
tree1398b81fd493356ad21ca744cd325f4778c66bfc /sc/inc/dpobject.hxx
parentGet normal grouping to work again. (diff)
downloadcore-593f6ac1064184f1faee60155c412b964f6f86a1.tar.gz
core-593f6ac1064184f1faee60155c412b964f6f86a1.zip
Added hook to create group field data at cache creation time.
This is to avoid group data to be added multiple times in case of multiple pivot tables referencing the same pivot cache.
Diffstat (limited to 'sc/inc/dpobject.hxx')
-rw-r--r--sc/inc/dpobject.hxx18
1 files changed, 12 insertions, 6 deletions
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index d77fbc13caa0..5f3963d95bd6 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -70,6 +70,7 @@ class ScSheetSourceDesc;
struct PivotField;
class ScDPCacheTable;
class ScDPTableData;
+class ScDPDimensionSaveData;
struct ScDPServiceDesc
{
@@ -276,14 +277,14 @@ public:
public:
SheetCaches(ScDocument* pDoc);
bool hasCache(const ScRange& rRange) const;
- const ScDPCache* getCache(const ScRange& rRange);
+ const ScDPCache* getCache(const ScRange& rRange, const ScDPDimensionSaveData* pDimData);
size_t size() const;
void updateReference(
UpdateRefMode eMode, const ScRange& r, SCsCOL nDx, SCsROW nDy, SCsTAB nDz);
private:
- void updateCache(const ScRange& rRange, std::set<ScDPObject*>& rRefs);
+ void updateCache(const ScRange& rRange, const ScDPDimensionSaveData* pDimData, std::set<ScDPObject*>& rRefs);
bool remove(const ScDPCache* p);
};
@@ -299,10 +300,13 @@ public:
public:
NameCaches(ScDocument* pDoc);
bool hasCache(const rtl::OUString& rName) const;
- const ScDPCache* getCache(const ::rtl::OUString& rName, const ScRange& rRange);
+ const ScDPCache* getCache(
+ const ::rtl::OUString& rName, const ScRange& rRange, const ScDPDimensionSaveData* pDimData);
size_t size() const;
private:
- void updateCache(const rtl::OUString& rName, const ScRange& rRange, std::set<ScDPObject*>& rRefs);
+ void updateCache(
+ const rtl::OUString& rName, const ScRange& rRange,
+ const ScDPDimensionSaveData* pDimData, std::set<ScDPObject*>& rRefs);
bool remove(const ScDPCache* p);
};
@@ -335,14 +339,16 @@ public:
public:
DBCaches(ScDocument* pDoc);
bool hasCache(sal_Int32 nSdbType, const rtl::OUString& rDBName, const rtl::OUString& rCommand) const;
- const ScDPCache* getCache(sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand);
+ const ScDPCache* getCache(
+ sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand,
+ const ScDPDimensionSaveData* pDimData);
private:
com::sun::star::uno::Reference<com::sun::star::sdbc::XRowSet> createRowSet(
sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand);
void updateCache(sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand,
- std::set<ScDPObject*>& rRefs);
+ const ScDPDimensionSaveData* pDimData, std::set<ScDPObject*>& rRefs);
bool remove(const ScDPCache* p);
};