summaryrefslogtreecommitdiff
path: root/sc/inc/PivotChartDataProvider.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc/PivotChartDataProvider.hxx')
-rw-r--r--sc/inc/PivotChartDataProvider.hxx33
1 files changed, 22 insertions, 11 deletions
diff --git a/sc/inc/PivotChartDataProvider.hxx b/sc/inc/PivotChartDataProvider.hxx
index 80e37945f8b7..4f3859e74003 100644
--- a/sc/inc/PivotChartDataProvider.hxx
+++ b/sc/inc/PivotChartDataProvider.hxx
@@ -31,8 +31,6 @@
#include <rtl/ustring.hxx>
#include <svl/itemprop.hxx>
-#include "dpobject.hxx"
-
#include <memory>
#include <vector>
@@ -52,7 +50,7 @@ class PivotChartDataProvider : public PivotChartDataProvider_Base, public SfxLis
{
public:
- explicit PivotChartDataProvider(ScDocument* pDoc, OUString const& sPivotTableName);
+ explicit PivotChartDataProvider(ScDocument* pDoc);
virtual ~PivotChartDataProvider() override;
virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override;
@@ -91,6 +89,14 @@ public:
virtual OUString SAL_CALL getPivotTableName() override;
+ virtual void SAL_CALL setPivotTableName(const OUString& sPivotTableName) override;
+
+ virtual css::uno::Reference<css::chart2::data::XDataSequence> SAL_CALL
+ createDataSequenceOfValuesByIndex(sal_Int32 nIndex);
+ virtual css::uno::Reference<css::chart2::data::XDataSequence> SAL_CALL
+ createDataSequenceOfLabelsByIndex(sal_Int32 nIndex);
+ virtual css::uno::Reference<css::chart2::data::XDataSequence> SAL_CALL
+ createDataSequenceOfCategories();
// XPropertySet
virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override;
@@ -135,12 +141,11 @@ public:
private:
css::uno::Reference<css::chart2::data::XDataSource>
- createPivotChartDataSource(OUString const & aRangeRepresentation);
+ createPivotChartValuesDataSource(OUString const & aRangeRepresentation);
css::uno::Reference<css::chart2::data::XDataSource>
createPivotChartCategoriesDataSource(OUString const & aRangeRepresentation, bool bOrientCol);
- css::uno::Reference<css::chart2::data::XLabeledDataSequence>
- createLabeledDataSequence(css::uno::Reference<css::uno::XComponentContext>& rContext);
+ css::uno::Reference<css::chart2::data::XLabeledDataSequence> newLabeledDataSequence();
void setLabeledDataSequenceValues(css::uno::Reference<css::chart2::data::XLabeledDataSequence> & xResult,
OUString const & sRoleValues, OUString const & sIdValues,
@@ -151,12 +156,14 @@ private:
std::vector<PivotChartItem> const & rValues,
OUString const & sRoleLabel, OUString const & sIdLabel,
std::vector<PivotChartItem> const & rLabel);
- void createCategories(
- ScDPSaveData* pSaveData, bool bOrientCol,
- css::uno::Reference<css::uno::XComponentContext>& rContext,
- std::vector<css::uno::Reference<css::chart2::data::XLabeledDataSequence>>& rOutLabeledSequences);
- void collectPivotTableData(ScDPObject* pDPObject);
+ void assignLabelsToDataSequence(css::uno::Reference<css::chart2::data::XDataSequence> & rDataSequence,
+ size_t nIndex);
+
+ void assignValuesToDataSequence(css::uno::Reference<css::chart2::data::XDataSequence> & rDataSequence,
+ size_t nIndex);
+
+ void collectPivotTableData();
ScDocument* m_pDocument;
OUString m_sPivotTableName;
@@ -173,6 +180,10 @@ private:
std::vector<css::chart2::data::PivotTableFieldEntry> m_aPageFields;
std::vector<css::chart2::data::PivotTableFieldEntry> m_aDataFields;
+ bool m_bNeedsUpdate;
+
+ css::uno::Reference<css::uno::XComponentContext> m_xContext;
+
std::vector<css::uno::Reference<css::util::XModifyListener>> m_aValueListeners;
};