summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-02-10 11:24:07 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-02-10 11:42:58 +0100
commitc1c9071dd5f578c5773abc00553d2099cad30ced (patch)
treed0904ec190c31ff58b0c6460b36ba844b5fb7645 /chart2
parent967900354d36de50eff76e9622b0b4655d450f41 (diff)
crashtesting ooo#ooo83229-2
this reverts part of commit b314b5a0612c9dc7279039dae44a250d4d3ec6b1 use more concrete types in chart2, DataSeries since writer uses it's own implementation of the XLabeledDataSequence UNO interface Change-Id: I52154dcee104ca17bfa63a3a8b11ef739cef147f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129772 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'chart2')
-rw-r--r--chart2/source/controller/dialogs/DataBrowserModel.cxx4
-rw-r--r--chart2/source/inc/ExplicitCategoriesProvider.hxx8
-rw-r--r--chart2/source/tools/ExplicitCategoriesProvider.cxx23
-rw-r--r--chart2/source/tools/InternalDataProvider.cxx4
4 files changed, 13 insertions, 26 deletions
diff --git a/chart2/source/controller/dialogs/DataBrowserModel.cxx b/chart2/source/controller/dialogs/DataBrowserModel.cxx
index a0beacaa4955..f364bc8b8317 100644
--- a/chart2/source/controller/dialogs/DataBrowserModel.cxx
+++ b/chart2/source/controller/dialogs/DataBrowserModel.cxx
@@ -770,11 +770,11 @@ void DataBrowserModel::updateFromModel()
{
ExplicitCategoriesProvider aExplicitCategoriesProvider( ChartModelHelper::getFirstCoordinateSystem(m_xChartDocument), *m_xChartDocument );
- const std::vector< rtl::Reference< LabeledDataSequence> >& rSplitCategoriesList = aExplicitCategoriesProvider.getSplitCategoriesList();
+ const std::vector< Reference< chart2::data::XLabeledDataSequence> >& rSplitCategoriesList = aExplicitCategoriesProvider.getSplitCategoriesList();
sal_Int32 nLevelCount = rSplitCategoriesList.size();
for( sal_Int32 nL = 0; nL<nLevelCount; nL++ )
{
- rtl::Reference< LabeledDataSequence > xCategories( rSplitCategoriesList[nL] );
+ Reference< chart2::data::XLabeledDataSequence > xCategories( rSplitCategoriesList[nL] );
if( !xCategories.is() )
continue;
diff --git a/chart2/source/inc/ExplicitCategoriesProvider.hxx b/chart2/source/inc/ExplicitCategoriesProvider.hxx
index 56a637dbb91f..6b68f8d2dcc6 100644
--- a/chart2/source/inc/ExplicitCategoriesProvider.hxx
+++ b/chart2/source/inc/ExplicitCategoriesProvider.hxx
@@ -84,8 +84,8 @@ public:
bool hasComplexCategories() const;
sal_Int32 getCategoryLevelCount() const;
- const std::vector< rtl::Reference<
- ::chart::LabeledDataSequence> >& getSplitCategoriesList() const { return m_aSplitCategoriesList;}
+ const std::vector< css::uno::Reference< css::chart2::data::XLabeledDataSequence> >&
+ getSplitCategoriesList() const { return m_aSplitCategoriesList;}
bool isDateAxis();
const std::vector< double >& getDateCategories();
@@ -97,12 +97,12 @@ private:
bool volatile m_bDirty;
unotools::WeakReference< ::chart::BaseCoordinateSystem > m_xCooSysModel;
ChartModel& mrModel;
- rtl::Reference< ::chart::LabeledDataSequence> m_xOriginalCategories;
+ css::uno::Reference< css::chart2::data::XLabeledDataSequence> m_xOriginalCategories;
bool m_bIsExplicitCategoriesInited;
css::uno::Sequence< OUString > m_aExplicitCategories;
std::vector< std::vector< ComplexCategory > > m_aComplexCats;
- std::vector< rtl::Reference< ::chart::LabeledDataSequence> > m_aSplitCategoriesList;
+ std::vector< css::uno::Reference< css::chart2::data::XLabeledDataSequence> > m_aSplitCategoriesList;
bool m_bIsDateAxis;
bool m_bIsAutoDate;
diff --git a/chart2/source/tools/ExplicitCategoriesProvider.cxx b/chart2/source/tools/ExplicitCategoriesProvider.cxx
index 4f2a4aa35787..c89c91544e23 100644
--- a/chart2/source/tools/ExplicitCategoriesProvider.cxx
+++ b/chart2/source/tools/ExplicitCategoriesProvider.cxx
@@ -49,17 +49,6 @@ using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
using std::vector;
-static std::vector< rtl::Reference< LabeledDataSequence> > lcl_toLabeledDataSequence(const Sequence< Reference< data::XLabeledDataSequence> > & rSeq)
-{
- std::vector<rtl::Reference< LabeledDataSequence>> aRes(rSeq.getLength());
- for (sal_Int32 i=0; i<rSeq.getLength(); ++i)
- {
- aRes[i] = dynamic_cast<LabeledDataSequence*>(rSeq[i].get());
- assert(aRes[i]);
- }
- return aRes;
-}
-
ExplicitCategoriesProvider::ExplicitCategoriesProvider( const rtl::Reference< BaseCoordinateSystem >& xCooSysModel
, ChartModel& rModel )
: m_bDirty(true)
@@ -78,8 +67,7 @@ ExplicitCategoriesProvider::ExplicitCategoriesProvider( const rtl::Reference< Ba
if( xAxis.is() )
{
ScaleData aScale( xAxis->getScaleData() );
- m_xOriginalCategories = dynamic_cast<LabeledDataSequence*>(aScale.Categories.get());
- assert(m_xOriginalCategories || !aScale.Categories);
+ m_xOriginalCategories = aScale.Categories;
m_bIsAutoDate = (aScale.AutoDateAxis && aScale.AxisType==chart2::AxisType::CATEGORY);
m_bIsDateAxis = (aScale.AxisType == chart2::AxisType::DATE || m_bIsAutoDate);
}
@@ -128,9 +116,9 @@ ExplicitCategoriesProvider::ExplicitCategoriesProvider( const rtl::Reference< Ba
aStringDummy, aSeqDummy, bSeriesUsesColumns, bDummy, bDummy );
}
if( bSeriesUsesColumns )
- m_aSplitCategoriesList = lcl_toLabeledDataSequence(aColumns);
+ m_aSplitCategoriesList = comphelper::sequenceToContainer<std::vector<Reference<data::XLabeledDataSequence>>>(aColumns);
else
- m_aSplitCategoriesList = lcl_toLabeledDataSequence(aRows);
+ m_aSplitCategoriesList = comphelper::sequenceToContainer<std::vector<Reference<data::XLabeledDataSequence>>>(aRows);
}
}
}
@@ -237,8 +225,7 @@ class SplitCategoriesProvider_ForLabeledDataSequences : public SplitCategoriesPr
public:
explicit SplitCategoriesProvider_ForLabeledDataSequences(
- const std::vector<
- rtl::Reference< LabeledDataSequence> >& rSplitCategoriesList
+ const std::vector< Reference< data::XLabeledDataSequence> >& rSplitCategoriesList
, ChartModel& rModel )
: m_rSplitCategoriesList( rSplitCategoriesList )
, mrModel( rModel )
@@ -248,7 +235,7 @@ public:
virtual uno::Sequence< OUString > getStringsForLevel( sal_Int32 nIndex ) const override;
private:
- const std::vector< rtl::Reference< LabeledDataSequence> >& m_rSplitCategoriesList;
+ const std::vector< Reference< data::XLabeledDataSequence> >& m_rSplitCategoriesList;
ChartModel& mrModel;
};
diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx
index 9bab0b5ddd64..ffbfebe10522 100644
--- a/chart2/source/tools/InternalDataProvider.cxx
+++ b/chart2/source/tools/InternalDataProvider.cxx
@@ -339,11 +339,11 @@ InternalDataProvider::InternalDataProvider(
{
ExplicitCategoriesProvider aExplicitCategoriesProvider(ChartModelHelper::getFirstCoordinateSystem(xModel), *xModel);
- const std::vector< rtl::Reference< LabeledDataSequence> >& rSplitCategoriesList( aExplicitCategoriesProvider.getSplitCategoriesList() );
+ const std::vector< Reference< chart2::data::XLabeledDataSequence> >& rSplitCategoriesList( aExplicitCategoriesProvider.getSplitCategoriesList() );
sal_Int32 nLevelCount = rSplitCategoriesList.size();
for( sal_Int32 nL = 0; nL<nLevelCount; nL++ )
{
- rtl::Reference< LabeledDataSequence > xLDS( rSplitCategoriesList[nL] );
+ Reference< chart2::data::XLabeledDataSequence > xLDS( rSplitCategoriesList[nL] );
if( !xLDS.is() )
continue;
Sequence< uno::Any > aDataSeq;