diff options
author | Kohei Yoshida <kohei.yoshida@suse.com> | 2012-03-06 15:09:40 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-03-09 11:13:32 -0500 |
commit | abb5bc40caf58e32a05fb8e04e4f0de9c8de6489 (patch) | |
tree | 4f52dec96f24279b8c7d36c417d01d7987c0152c /sc/inc/dpobject.hxx | |
parent | 1957c22f6267cc3466c96fdfe4dfccb87e7873a9 (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.hxx | 21 |
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); |