chart2/source/controller/dialogs/ChartTypeDialogController.cxx | 3 ++- chart2/source/controller/dialogs/DataBrowserModel.cxx | 5 +++-- chart2/source/controller/dialogs/dlg_DataSource.cxx | 4 ++-- chart2/source/controller/dialogs/tp_ChartType.cxx | 3 ++- chart2/source/controller/sidebar/ChartTypePanel.cxx | 9 +++++---- chart2/source/inc/DiagramHelper.hxx | 4 +++- chart2/source/tools/DiagramHelper.cxx | 3 ++- 7 files changed, 19 insertions(+), 12 deletions(-)
New commits: commit f8a3ce5db8382a3769617c215cb0f7b1da611fe5 Author: Noel Grandin <[email protected]> AuthorDate: Tue Jan 18 15:59:03 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed Jan 19 07:05:00 2022 +0100 use more concrete types in chart2, ChartTypeTemplate Change-Id: I1bfbc81ca0d44efc669e5bc2b525cfa8b51be1ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128561 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx index 7286bccdc32f..861bf1d99692 100644 --- a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx +++ b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx @@ -18,6 +18,7 @@ */ #include <ChartTypeDialogController.hxx> +#include <ChartTypeManager.hxx> #include <ResId.hxx> #include <strings.hrc> #include <bitmaps.hlst> @@ -303,7 +304,7 @@ uno::Reference< XChartTypeTemplate > ChartTypeDialogController::getCurrentTempla void ChartTypeDialogController::commitToModel( const ChartTypeParameter& rParameter , const uno::Reference< XChartDocument >& xChartModel ) { - uno::Reference< lang::XMultiServiceFactory > xTemplateManager( xChartModel->getChartTypeManager(), uno::UNO_QUERY ); + rtl::Reference< ::chart::ChartTypeManager > xTemplateManager = dynamic_cast<::chart::ChartTypeManager*>( xChartModel->getChartTypeManager().get() ); uno::Reference< XChartTypeTemplate > xTemplate( getCurrentTemplate( rParameter, xTemplateManager ) ); if(!xTemplate.is()) return; diff --git a/chart2/source/controller/dialogs/DataBrowserModel.cxx b/chart2/source/controller/dialogs/DataBrowserModel.cxx index 8de5c31e32dc..6f40dac1b5a1 100644 --- a/chart2/source/controller/dialogs/DataBrowserModel.cxx +++ b/chart2/source/controller/dialogs/DataBrowserModel.cxx @@ -25,6 +25,7 @@ #include <ControllerLockGuard.hxx> #include <StatisticsHelper.hxx> #include <ChartTypeHelper.hxx> +#include <ChartTypeManager.hxx> #include <chartview/ExplicitValueProvider.hxx> #include <ExplicitCategoriesProvider.hxx> @@ -767,9 +768,9 @@ void DataBrowserModel::updateFromModel() return; // set template at DialogModel - uno::Reference< lang::XMultiServiceFactory > xFact( m_xChartDocument->getChartTypeManager(), uno::UNO_QUERY ); + rtl::Reference< ::chart::ChartTypeManager > xTemplateManager = dynamic_cast<::chart::ChartTypeManager*>( m_xChartDocument->getChartTypeManager().get() ); DiagramHelper::tTemplateWithServiceName aTemplateAndService = - DiagramHelper::getTemplateForDiagram( xDiagram, xFact ); + DiagramHelper::getTemplateForDiagram( xDiagram, xTemplateManager ); if( aTemplateAndService.first.is()) m_apDialogModel->setTemplate( aTemplateAndService.first ); diff --git a/chart2/source/controller/dialogs/dlg_DataSource.cxx b/chart2/source/controller/dialogs/dlg_DataSource.cxx index b196b24d98d8..224e16261046 100644 --- a/chart2/source/controller/dialogs/dlg_DataSource.cxx +++ b/chart2/source/controller/dialogs/dlg_DataSource.cxx @@ -22,6 +22,7 @@ #include <dlg_DataSource.hxx> #include <ChartTypeTemplateProvider.hxx> +#include <ChartTypeManager.hxx> #include <DiagramHelper.hxx> #include "DialogModel.hxx" @@ -66,8 +67,7 @@ DocumentChartTypeTemplateProvider::DocumentChartTypeTemplateProvider( DiagramHelper::tTemplateWithServiceName aResult( DiagramHelper::getTemplateForDiagram( xDia, - Reference< lang::XMultiServiceFactory >( - xDoc->getChartTypeManager(), uno::UNO_QUERY ) )); + dynamic_cast<::chart::ChartTypeManager*>(xDoc->getChartTypeManager().get()) )); m_xTemplate.set( aResult.first ); } } diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx index ce38e10511d1..7a18bf19d295 100644 --- a/chart2/source/controller/dialogs/tp_ChartType.cxx +++ b/chart2/source/controller/dialogs/tp_ChartType.cxx @@ -22,6 +22,7 @@ #include <strings.hrc> #include <ResId.hxx> #include <ChartModelHelper.hxx> +#include <ChartTypeManager.hxx> #include <DiagramHelper.hxx> #include <unonames.hxx> #include <com/sun/star/lang/XMultiServiceFactory.hpp> @@ -302,7 +303,7 @@ void ChartTypeTabPage::initializePage() { if( !m_xChartModel.is() ) return; - uno::Reference< lang::XMultiServiceFactory > xTemplateManager( m_xChartModel->getChartTypeManager(), uno::UNO_QUERY ); + rtl::Reference< ::chart::ChartTypeManager > xTemplateManager = dynamic_cast<::chart::ChartTypeManager*>( m_xChartModel->getChartTypeManager().get() ); uno::Reference< XDiagram > xDiagram( ChartModelHelper::findDiagram( m_xChartModel ) ); DiagramHelper::tTemplateWithServiceName aTemplate = DiagramHelper::getTemplateForDiagram( xDiagram, xTemplateManager ); diff --git a/chart2/source/controller/sidebar/ChartTypePanel.cxx b/chart2/source/controller/sidebar/ChartTypePanel.cxx index a05990a37f20..38306c349c44 100644 --- a/chart2/source/controller/sidebar/ChartTypePanel.cxx +++ b/chart2/source/controller/sidebar/ChartTypePanel.cxx @@ -24,6 +24,7 @@ #include <ChartModelHelper.hxx> #include <ChartResourceGroups.hxx> #include <ChartTypeDialogController.hxx> +#include <ChartTypeManager.hxx> #include <DiagramHelper.hxx> #include <unonames.hxx> @@ -156,8 +157,8 @@ void ChartTypePanel::Initialize() { if (!m_xChartModel.is()) return; - uno::Reference<lang::XMultiServiceFactory> xTemplateManager( - m_xChartModel->getChartTypeManager(), uno::UNO_QUERY); + rtl::Reference<::chart::ChartTypeManager> xTemplateManager + = dynamic_cast<::chart::ChartTypeManager*>(m_xChartModel->getChartTypeManager().get()); uno::Reference<css::chart2::XDiagram> xDiagram(ChartModelHelper::findDiagram(m_xChartModel)); DiagramHelper::tTemplateWithServiceName aTemplate = DiagramHelper::getTemplateForDiagram(xDiagram, xTemplateManager); @@ -220,8 +221,8 @@ void ChartTypePanel::updateData() // Chart Type related if (!m_xChartModel.is()) return; - uno::Reference<lang::XMultiServiceFactory> xTemplateManager( - m_xChartModel->getChartTypeManager(), uno::UNO_QUERY); + rtl::Reference<::chart::ChartTypeManager> xTemplateManager + = dynamic_cast<::chart::ChartTypeManager*>(m_xChartModel->getChartTypeManager().get()); uno::Reference<frame::XModel> xModel(m_xChartModel); uno::Reference<css::chart2::XDiagram> xDiagram(ChartModelHelper::findDiagram(xModel)); DiagramHelper::tTemplateWithServiceName aTemplate diff --git a/chart2/source/inc/DiagramHelper.hxx b/chart2/source/inc/DiagramHelper.hxx index d66775624775..e1a0fcdfa978 100644 --- a/chart2/source/inc/DiagramHelper.hxx +++ b/chart2/source/inc/DiagramHelper.hxx @@ -22,6 +22,7 @@ #include "charttoolsdllapi.hxx" #include <com/sun/star/awt/Rectangle.hpp> #include <com/sun/star/chart2/XChartTypeTemplate.hpp> +#include <rtl/ref.hxx> #include <utility> #include <vector> @@ -39,6 +40,7 @@ namespace com::sun::star::util { class XNumberFormatsSupplier; } namespace chart { +class ChartTypeManager; enum DiagramPositioningMode { @@ -66,7 +68,7 @@ public: static tTemplateWithServiceName getTemplateForDiagram( const css::uno::Reference< css::chart2::XDiagram > & xDiagram, - const css::uno::Reference< css::lang::XMultiServiceFactory > & xChartTypeManager); + const rtl::Reference< ::chart::ChartTypeManager > & xChartTypeManager); /** Sets the "SwapXAndYAxis" property at all coordinate systems found in the given diagram. diff --git a/chart2/source/tools/DiagramHelper.cxx b/chart2/source/tools/DiagramHelper.cxx index 0e7760d2711c..2b2b3c6e18da 100644 --- a/chart2/source/tools/DiagramHelper.cxx +++ b/chart2/source/tools/DiagramHelper.cxx @@ -21,6 +21,7 @@ #include <DataSeriesHelper.hxx> #include <AxisHelper.hxx> #include <ChartTypeHelper.hxx> +#include <ChartTypeManager.hxx> #include <ChartModel.hxx> #include <ChartModelHelper.hxx> #include <ExplicitCategoriesProvider.hxx> @@ -75,7 +76,7 @@ namespace chart DiagramHelper::tTemplateWithServiceName DiagramHelper::getTemplateForDiagram( const Reference< XDiagram > & xDiagram, - const Reference< lang::XMultiServiceFactory > & xChartTypeManager ) + const rtl::Reference< ::chart::ChartTypeManager > & xChartTypeManager ) { DiagramHelper::tTemplateWithServiceName aResult;
