summaryrefslogtreecommitdiff
path: root/sc/inc/dpobject.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@suse.com>2012-03-06 15:09:40 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-03-09 11:13:32 -0500
commitabb5bc40caf58e32a05fb8e04e4f0de9c8de6489 (patch)
tree4f52dec96f24279b8c7d36c417d01d7987c0152c /sc/inc/dpobject.hxx
parent1957c22f6267cc3466c96fdfe4dfccb87e7873a9 (diff)
Only load members of the clicked field, not of all fields.
This can mean the difference of 10 seconds vs 0.01 second depending on the type of data.
Diffstat (limited to 'sc/inc/dpobject.hxx')
-rw-r--r--sc/inc/dpobject.hxx21
1 files changed, 13 insertions, 8 deletions
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index 407e559fb9a2..d77fbc13caa0 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -45,16 +45,18 @@
#include <boost/ptr_container/ptr_map.hpp>
#include <boost/shared_ptr.hpp>
-namespace com { namespace sun { namespace star { namespace sheet {
+namespace com { namespace sun { namespace star {
- struct DataPilotTablePositionData;
- struct DataPilotTableHeaderData;
+ namespace container {
+ class XIndexAccess;
+ }
-}}}}
-
-namespace com { namespace sun { namespace star { namespace sheet {
- struct DataPilotFieldFilter;
-}}}}
+ namespace sheet {
+ struct DataPilotTablePositionData;
+ struct DataPilotTableHeaderData;
+ struct DataPilotFieldFilter;
+ }
+}}}
class Rectangle;
class SvStream;
@@ -112,6 +114,8 @@ private:
SC_DLLPRIVATE void CreateObjects();
SC_DLLPRIVATE void CreateOutput();
+ bool FillLabelDataForDimension(const com::sun::star::uno::Reference<com::sun::star::container::XIndexAccess>& xDims, sal_Int32 nDim, ScDPLabelData& rLabelData);
+
public:
ScDPObject(ScDocument* pD);
ScDPObject(const ScDPObject& r);
@@ -197,6 +201,7 @@ public:
void ToggleDetails(const ::com::sun::star::sheet::DataPilotTableHeaderData& rElemDesc, ScDPObject* pDestObj);
bool FillOldParam(ScPivotParam& rParam) const;
+ bool FillLabelData(sal_Int32 nDim, ScDPLabelData& Labels);
bool FillLabelData(ScPivotParam& rParam);
void InitFromOldPivot(const ScPivot& rOld, ScDocument* pDoc, sal_Bool bSetSource);