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;
 

Reply via email to