summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-08-22 22:57:05 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-08-28 21:37:08 -0400
commitf5aeaa3845ae794a6320f082b1354f946d96cec1 (patch)
treeb44cd1de8be9f7a03372c50239af59daf4cce10e /sc/inc
parent902e3898d385875029fda3b42c1854b159a18483 (diff)
bnc#822173: Initial work on exporting pivot cache and pivot table to xlsx.
Still not perfect, but it somewhat does work. Change-Id: Ic248e20f7ab18a37f56b2034f57551dded956bab
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/dpcache.hxx1
-rw-r--r--sc/inc/dpobject.hxx4
-rw-r--r--sc/inc/dpoutput.hxx3
3 files changed, 7 insertions, 1 deletions
diff --git a/sc/inc/dpcache.hxx b/sc/inc/dpcache.hxx
index 63242435a7db..ecb35145d59a 100644
--- a/sc/inc/dpcache.hxx
+++ b/sc/inc/dpcache.hxx
@@ -156,6 +156,7 @@ public:
long GetDimMemberCount(long nDim) const;
SCROW GetOrder( long nDim, SCROW nIndex ) const;
+ const IndexArrayType* GetFieldIndexArray( size_t nDim ) const;
const ItemsType& GetDimMemberValues( SCCOL nDim ) const;
bool InitFromDoc(ScDocument* pDoc, const ScRange& rRange);
bool InitFromDataBase(DBConnector& rDB);
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index 1ff70249ae16..46e20001be0b 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -132,6 +132,7 @@ public:
ScRange GetNewOutputRange( bool& rOverflow );
ScRange GetOutputRangeByType( sal_Int32 nType );
+ ScRange GetOutputRangeByType( sal_Int32 nType ) const;
void SetSaveData(const ScDPSaveData& rData);
ScDPSaveData* GetSaveData() const { return pSaveData; }
@@ -287,9 +288,12 @@ public:
UpdateRefMode eMode, const ScRange& r, SCsCOL nDx, SCsROW nDy, SCsTAB nDz);
SC_DLLPUBLIC ScDPCache* getExistingCache(const ScRange& rRange);
+ SC_DLLPUBLIC const ScDPCache* getExistingCache(const ScRange& rRange) const;
void updateCache(const ScRange& rRange, std::set<ScDPObject*>& rRefs);
bool remove(const ScDPCache* p);
+
+ SC_DLLPUBLIC const std::vector<ScRange>& getAllRanges() const;
};
/**
diff --git a/sc/inc/dpoutput.hxx b/sc/inc/dpoutput.hxx
index 2127d37d7e4a..440f097bba8c 100644
--- a/sc/inc/dpoutput.hxx
+++ b/sc/inc/dpoutput.hxx
@@ -112,7 +112,8 @@ public:
void SetPosition( const ScAddress& rPos );
void Output(); //! Refresh?
- ScRange GetOutputRange( sal_Int32 nRegionType = ::com::sun::star::sheet::DataPilotOutputRangeType::WHOLE );
+ ScRange GetOutputRange( sal_Int32 nRegionType = ::com::sun::star::sheet::DataPilotOutputRangeType::WHOLE );
+ ScRange GetOutputRange( sal_Int32 nRegionType = ::com::sun::star::sheet::DataPilotOutputRangeType::WHOLE ) const;
long GetHeaderRows();
bool HasError(); // range overflow or exception from source