chart2/source/inc/AxisHelper.hxx              |   36 +++++++++---------
 chart2/source/tools/AxisHelper.cxx            |   52 +++++++++++---------------
 chart2/source/tools/ReferenceSizeProvider.cxx |    4 +-
 chart2/source/tools/TitleHelper.cxx           |    2 -
 chart2/source/view/main/ChartView.cxx         |    2 -
 5 files changed, 44 insertions(+), 52 deletions(-)

New commits:
commit b8cbb6930febadc9ae8839c9a21c4a20eb6fb609
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Tue Jan 25 21:32:52 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Jan 26 07:18:15 2022 +0100

    use more concrete types in chart2, Diagram
    
    Change-Id: I5a836ccfe3c3c071b42664ba340ef18ff0e4ba91
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128946
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/chart2/source/inc/AxisHelper.hxx b/chart2/source/inc/AxisHelper.hxx
index 61610b5c4b9d..8cb148f393a6 100644
--- a/chart2/source/inc/AxisHelper.hxx
+++ b/chart2/source/inc/AxisHelper.hxx
@@ -66,7 +66,7 @@ public:
     static css::uno::Reference<
            css::chart2::XAxis >
         createAxis( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+                , const rtl::Reference< ::chart::Diagram >& xDiagram
                 , const css::uno::Reference< css::uno::XComponentContext >& 
xContext
                 , ReferenceSizeProvider * pRefSizeProvider = nullptr );
 
@@ -79,22 +79,22 @@ public:
             , ReferenceSizeProvider * pRefSizeProvider = nullptr );
 
     static void showAxis( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+                , const rtl::Reference< ::chart::Diagram >& xDiagram
                 , const css::uno::Reference< css::uno::XComponentContext >& 
xContext
                 , ReferenceSizeProvider * pRefSizeProvider = nullptr );
 
     static void showGrid( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex, 
bool bMainGrid
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram 
);
+                , const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static void hideAxis( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram 
);
+                , const rtl::Reference< ::chart::Diagram >& xDiagram );
     static void hideGrid( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex, 
bool bMainGrid
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram 
);
+                , const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static bool isAxisShown( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram 
);
+                , const rtl::Reference< ::chart::Diagram >& xDiagram );
     static bool isGridShown( sal_Int32 nDimensionIndex, sal_Int32 
nCooSysIndex, bool bMainGrid
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram 
);
+                , const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static void makeAxisVisible( const css::uno::Reference< css::chart2::XAxis 
>& xAxis );
     static void makeGridVisible( const css::uno::Reference< 
css::beans::XPropertySet >& xGridProperties );
@@ -111,17 +111,17 @@ public:
 
     static rtl::Reference< ::chart::BaseCoordinateSystem >
         getCoordinateSystemByIndex(
-            const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+            const rtl::Reference< ::chart::Diagram >& xDiagram
             , sal_Int32 nIndex );
 
     static rtl::Reference< ::chart::BaseCoordinateSystem >
         getCoordinateSystemOfAxis(
               const css::uno::Reference< css::chart2::XAxis >& xAxis
-            , const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+            , const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static css::uno::Reference< css::chart2::XAxis >
         getAxis( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const css::uno::Reference< css::chart2::XDiagram >& xDiagram 
);
+                , const rtl::Reference< ::chart::Diagram >& xDiagram );
     static css::uno::Reference< css::chart2::XAxis >
         getAxis( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex
             , const css::uno::Reference< css::chart2::XCoordinateSystem >& 
xCooSys );
@@ -132,7 +132,7 @@ public:
 
     static css::uno::Reference< css::chart2::XAxis >
         getParallelAxis( const css::uno::Reference< css::chart2::XAxis >& xAxis
-            , const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+            , const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static css::uno::Reference< css::beans::XPropertySet >
         getGridProperties( const css::uno::Reference< 
css::chart2::XCoordinateSystem >& xCooSys
@@ -143,7 +143,7 @@ public:
 
     static sal_Int32 getDimensionIndexOfAxis(
               const css::uno::Reference< css::chart2::XAxis >& xAxis
-            , const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+            , const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static bool getIndicesForAxis(
               const css::uno::Reference< css::chart2::XAxis >& xAxis
@@ -152,14 +152,14 @@ public:
 
     static bool getIndicesForAxis(
               const css::uno::Reference< css::chart2::XAxis >& xAxis
-            , const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+            , const rtl::Reference< ::chart::Diagram >& xDiagram
             , sal_Int32& rOutCooSysIndex, sal_Int32& rOutDimensionIndex, 
sal_Int32& rOutAxisIndex );
 
     /** @param bOnlyVisible if </TRUE>, only axes with property "Show" set to
                </sal_True> are returned
      */
     static css::uno::Sequence< css::uno::Reference< css::chart2::XAxis > >
-            getAllAxesOfDiagram( const css::uno::Reference< 
css::chart2::XDiagram >& xDiagram
+            getAllAxesOfDiagram( const rtl::Reference< ::chart::Diagram >& 
xDiagram
             , bool bOnlyVisible = false );
 
     /** @param bOnlyVisible if </TRUE>, only axes with property "Show" set to
@@ -170,19 +170,19 @@ public:
             , bool bOnlyVisible = false );
 
     static css::uno::Sequence< css::uno::Reference< css::beans::XPropertySet > 
>
-            getAllGrids( const css::uno::Reference< css::chart2::XDiagram >& 
xDiagram );
+            getAllGrids( const rtl::Reference< ::chart::Diagram >& xDiagram );
 
     static void getAxisOrGridPossibilities( css::uno::Sequence< sal_Bool >& 
rPossibilityList
         , const rtl::Reference< ::chart::Diagram>& xDiagram, bool bAxis=true );
 
     static void getAxisOrGridExistence( css::uno::Sequence< sal_Bool >& 
rExistenceList
-        , const css::uno::Reference< css::chart2::XDiagram>& xDiagram, bool 
bAxis=true );
+        , const rtl::Reference< ::chart::Diagram>& xDiagram, bool bAxis=true );
 
-    static bool changeVisibilityOfGrids( const css::uno::Reference< 
css::chart2::XDiagram>& xDiagram
+    static bool changeVisibilityOfGrids( const rtl::Reference< 
::chart::Diagram>& xDiagram
                         , const css::uno::Sequence< sal_Bool >& 
rOldExistenceList
                         , const css::uno::Sequence< sal_Bool >& 
rNewExistenceList );
 
-    static bool changeVisibilityOfAxes( const css::uno::Reference< 
css::chart2::XDiagram>& xDiagram
+    static bool changeVisibilityOfAxes( const rtl::Reference< 
::chart::Diagram>& xDiagram
                         , const css::uno::Sequence< sal_Bool >& 
rOldExistenceList
                         , const css::uno::Sequence< sal_Bool >& 
rNewExistenceList
                         , const css::uno::Reference< 
css::uno::XComponentContext >& xContext
diff --git a/chart2/source/tools/AxisHelper.cxx 
b/chart2/source/tools/AxisHelper.cxx
index 2e223831aa98..595c607eda1a 100644
--- a/chart2/source/tools/AxisHelper.cxx
+++ b/chart2/source/tools/AxisHelper.cxx
@@ -390,7 +390,7 @@ Reference< XAxis > AxisHelper::createAxis(
 }
 
 Reference< XAxis > AxisHelper::createAxis( sal_Int32 nDimensionIndex, bool 
bMainAxis
-                , const Reference< chart2::XDiagram >& xDiagram
+                , const rtl::Reference< Diagram >& xDiagram
                 , const Reference< uno::XComponentContext >& xContext
                 , ReferenceSizeProvider * pRefSizeProvider )
 {
@@ -407,7 +407,7 @@ Reference< XAxis > AxisHelper::createAxis( sal_Int32 
nDimensionIndex, bool bMain
 }
 
 void AxisHelper::showAxis( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const Reference< chart2::XDiagram >& xDiagram
+                , const rtl::Reference< Diagram >& xDiagram
                 , const Reference< uno::XComponentContext >& xContext
                 , ReferenceSizeProvider * pRefSizeProvider )
 {
@@ -429,7 +429,7 @@ void AxisHelper::showAxis( sal_Int32 nDimensionIndex, bool 
bMainAxis
 }
 
 void AxisHelper::showGrid( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex, 
bool bMainGrid
-                , const Reference< XDiagram >& xDiagram )
+                , const rtl::Reference< Diagram >& xDiagram )
 {
     if( !xDiagram.is() )
         return;
@@ -477,7 +477,7 @@ void AxisHelper::makeGridVisible( const Reference< 
beans::XPropertySet >& xGridP
 }
 
 void AxisHelper::hideAxis( sal_Int32 nDimensionIndex, bool bMainAxis
-                , const Reference< XDiagram >& xDiagram )
+                , const rtl::Reference< Diagram >& xDiagram )
 {
     AxisHelper::makeAxisInvisible( AxisHelper::getAxis( nDimensionIndex, 
bMainAxis, xDiagram ) );
 }
@@ -510,7 +510,7 @@ void AxisHelper::hideAxisIfNoDataIsAttached( const 
Reference< XAxis >& xAxis, co
 }
 
 void AxisHelper::hideGrid( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex, 
bool bMainGrid
-                , const Reference< XDiagram >& xDiagram )
+                , const rtl::Reference< Diagram >& xDiagram )
 {
     if( !xDiagram.is() )
         return;
@@ -542,7 +542,7 @@ void AxisHelper::makeGridInvisible( const Reference< 
beans::XPropertySet >& xGri
 }
 
 bool AxisHelper::isGridShown( sal_Int32 nDimensionIndex, sal_Int32 
nCooSysIndex, bool bMainGrid
-                , const Reference< css::chart2::XDiagram >& xDiagram )
+                , const rtl::Reference< Diagram >& xDiagram )
 {
     bool bRet = false;
 
@@ -567,20 +567,18 @@ bool AxisHelper::isGridShown( sal_Int32 nDimensionIndex, 
sal_Int32 nCooSysIndex,
 }
 
 rtl::Reference< ::chart::BaseCoordinateSystem > 
AxisHelper::getCoordinateSystemByIndex(
-    const Reference< XDiagram >& xDiagram, sal_Int32 nIndex )
+    const rtl::Reference< Diagram >& xDiagram, sal_Int32 nIndex )
 {
     if(!xDiagram.is())
         return nullptr;
-    ::chart::Diagram* pDiagram = 
dynamic_cast<::chart::Diagram*>(xDiagram.get());
-    assert(pDiagram);
-    auto & rCooSysList = pDiagram->getBaseCoordinateSystems();
+    auto & rCooSysList = xDiagram->getBaseCoordinateSystems();
     if(0<=nIndex && nIndex < static_cast<sal_Int32>(rCooSysList.size()))
         return rCooSysList[nIndex];
     return nullptr;
 }
 
 Reference< XAxis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, bool 
bMainAxis
-            , const Reference< XDiagram >& xDiagram )
+            , const rtl::Reference< Diagram >& xDiagram )
 {
     Reference< XAxis > xRet;
     try
@@ -635,7 +633,7 @@ Reference< XAxis > AxisHelper::getCrossingMainAxis( const 
Reference< XAxis >& xA
 }
 
 Reference< XAxis > AxisHelper::getParallelAxis( const Reference< XAxis >& xAxis
-            , const Reference< XDiagram >& xDiagram )
+            , const rtl::Reference< Diagram >& xDiagram )
 {
     try
     {
@@ -655,7 +653,7 @@ Reference< XAxis > AxisHelper::getParallelAxis( const 
Reference< XAxis >& xAxis
 }
 
 bool AxisHelper::isAxisShown( sal_Int32 nDimensionIndex, bool bMainAxis
-            , const Reference< XDiagram >& xDiagram )
+            , const rtl::Reference< Diagram >& xDiagram )
 {
     return AxisHelper::isAxisVisible( AxisHelper::getAxis( nDimensionIndex, 
bMainAxis, xDiagram ) );
 }
@@ -722,7 +720,7 @@ Reference< beans::XPropertySet > 
AxisHelper::getGridProperties(
 
 sal_Int32 AxisHelper::getDimensionIndexOfAxis(
               const Reference< XAxis >& xAxis
-            , const Reference< XDiagram >& xDiagram )
+            , const rtl::Reference< Diagram >& xDiagram )
 {
     sal_Int32 nDimensionIndex = -1;
     sal_Int32 nCooSysIndex = -1;
@@ -763,7 +761,7 @@ bool AxisHelper::getIndicesForAxis(
     return false;
 }
 
-bool AxisHelper::getIndicesForAxis( const Reference< XAxis >& xAxis, const 
Reference< XDiagram >& xDiagram
+bool AxisHelper::getIndicesForAxis( const Reference< XAxis >& xAxis, const 
rtl::Reference< Diagram >& xDiagram
             , sal_Int32& rOutCooSysIndex, sal_Int32& rOutDimensionIndex, 
sal_Int32& rOutAxisIndex )
 {
     //returns true if indices are found
@@ -772,9 +770,7 @@ bool AxisHelper::getIndicesForAxis( const Reference< XAxis 
>& xAxis, const Refer
     rOutDimensionIndex = -1;
     rOutAxisIndex = -1;
 
-    Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
-    assert(pDiagram);
-    const std::vector< rtl::Reference< BaseCoordinateSystem > > & aCooSysList 
= pDiagram->getBaseCoordinateSystems();
+    const std::vector< rtl::Reference< BaseCoordinateSystem > > & aCooSysList 
= xDiagram->getBaseCoordinateSystems();
     for( sal_Int32 nC=0; nC < static_cast<sal_Int32>(aCooSysList.size()); ++nC 
)
     {
         if( AxisHelper::getIndicesForAxis( xAxis, aCooSysList[nC], 
rOutDimensionIndex, rOutAxisIndex ) )
@@ -834,14 +830,12 @@ std::vector< Reference< XAxis > > 
AxisHelper::getAllAxesOfCoordinateSystem(
 }
 
 Sequence< Reference< XAxis > > AxisHelper::getAllAxesOfDiagram(
-      const Reference< XDiagram >& xDiagram
+      const rtl::Reference< Diagram >& xDiagram
     , bool bOnlyVisible )
 {
-    Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
-    assert(pDiagram);
     std::vector< Reference< XAxis > > aAxisVector;
 
-    for( rtl::Reference< BaseCoordinateSystem > const & coords : 
pDiagram->getBaseCoordinateSystems() )
+    for( rtl::Reference< BaseCoordinateSystem > const & coords : 
xDiagram->getBaseCoordinateSystems() )
     {
         std::vector< Reference< XAxis > > aAxesPerCooSys( 
AxisHelper::getAllAxesOfCoordinateSystem( coords, bOnlyVisible ) );
         aAxisVector.insert( aAxisVector.end(), aAxesPerCooSys.begin(), 
aAxesPerCooSys.end() );
@@ -850,7 +844,7 @@ Sequence< Reference< XAxis > > 
AxisHelper::getAllAxesOfDiagram(
     return comphelper::containerToSequence( aAxisVector );
 }
 
-Sequence< Reference< beans::XPropertySet > > AxisHelper::getAllGrids( const 
Reference< XDiagram >& xDiagram )
+Sequence< Reference< beans::XPropertySet > > AxisHelper::getAllGrids( const 
rtl::Reference< Diagram >& xDiagram )
 {
     const Sequence< Reference< XAxis > > aAllAxes( 
AxisHelper::getAllAxesOfDiagram( xDiagram ) );
     std::vector< Reference< beans::XPropertySet > > aGridVector;
@@ -948,7 +942,7 @@ bool AxisHelper::shouldAxisBeDisplayed( const Reference< 
XAxis >& xAxis
 }
 
 void AxisHelper::getAxisOrGridExistence( Sequence< sal_Bool >& rExistenceList
-        , const Reference< XDiagram>& xDiagram, bool bAxis )
+        , const rtl::Reference< Diagram>& xDiagram, bool bAxis )
 {
     rExistenceList.realloc(6);
     sal_Bool* pExistenceList = rExistenceList.getArray();
@@ -972,7 +966,7 @@ void AxisHelper::getAxisOrGridExistence( Sequence< sal_Bool 
>& rExistenceList
     }
 }
 
-bool AxisHelper::changeVisibilityOfAxes( const Reference< XDiagram >& xDiagram
+bool AxisHelper::changeVisibilityOfAxes( const rtl::Reference< Diagram >& 
xDiagram
                         , const Sequence< sal_Bool >& rOldExistenceList
                         , const Sequence< sal_Bool >& rNewExistenceList
                         , const Reference< uno::XComponentContext >& xContext
@@ -995,7 +989,7 @@ bool AxisHelper::changeVisibilityOfAxes( const Reference< 
XDiagram >& xDiagram
     return bChanged;
 }
 
-bool AxisHelper::changeVisibilityOfGrids( const Reference< XDiagram >& xDiagram
+bool AxisHelper::changeVisibilityOfGrids( const rtl::Reference< Diagram >& 
xDiagram
                         , const Sequence< sal_Bool >& rOldExistenceList
                         , const Sequence< sal_Bool >& rNewExistenceList )
 {
@@ -1016,15 +1010,13 @@ bool AxisHelper::changeVisibilityOfGrids( const 
Reference< XDiagram >& xDiagram
 
 rtl::Reference< BaseCoordinateSystem > AxisHelper::getCoordinateSystemOfAxis(
               const Reference< XAxis >& xAxis
-            , const Reference< XDiagram >& xDiagram )
+            , const rtl::Reference< Diagram >& xDiagram )
 {
     if (!xDiagram)
         return nullptr;
-    ::chart::Diagram* pDiagram = 
dynamic_cast<::chart::Diagram*>(xDiagram.get());
-    assert(pDiagram);
 
     rtl::Reference< BaseCoordinateSystem > xRet;
-    for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : 
pDiagram->getBaseCoordinateSystems() )
+    for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : 
xDiagram->getBaseCoordinateSystems() )
     {
         std::vector< Reference< XAxis > > aAllAxis( 
AxisHelper::getAllAxesOfCoordinateSystem( xCooSys ) );
 
diff --git a/chart2/source/tools/ReferenceSizeProvider.cxx 
b/chart2/source/tools/ReferenceSizeProvider.cxx
index 2df37be326a7..54fc31425ae9 100644
--- a/chart2/source/tools/ReferenceSizeProvider.cxx
+++ b/chart2/source/tools/ReferenceSizeProvider.cxx
@@ -317,12 +317,12 @@ void ReferenceSizeProvider::setAutoResizeState( 
ReferenceSizeProvider::AutoResiz
     impl_setValuesAtTitled( m_xChartDoc );
 
     // diagram is needed by the rest of the objects
-    Reference< XDiagram > xDiagram = ChartModelHelper::findDiagram( 
m_xChartDoc );
+    rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( 
m_xChartDoc );
     if( ! xDiagram.is())
         return;
 
     // Sub Title
-    impl_setValuesAtTitled( Reference< XTitled >( xDiagram, uno::UNO_QUERY ));
+    impl_setValuesAtTitled( xDiagram );
 
     // Legend
     Reference< beans::XPropertySet > xLegendProp( xDiagram->getLegend(), 
uno::UNO_QUERY );
diff --git a/chart2/source/tools/TitleHelper.cxx 
b/chart2/source/tools/TitleHelper.cxx
index 775b1241c65c..06ffe005d67f 100644
--- a/chart2/source/tools/TitleHelper.cxx
+++ b/chart2/source/tools/TitleHelper.cxx
@@ -202,7 +202,7 @@ uno::Reference< XTitle > TitleHelper::createTitle(
 
     if( !xTitled.is() )
     {
-        uno::Reference< XDiagram > xDiagram( ChartModelHelper::findDiagram( 
xModel ) );
+        rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram( 
xModel ) );
         uno::Reference< chart2::XAxis > xAxis;
         switch( eTitleType )
         {
diff --git a/chart2/source/view/main/ChartView.cxx 
b/chart2/source/view/main/ChartView.cxx
index 61276d2bb479..2c4fc46ef62b 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -1657,7 +1657,7 @@ bool ChartView::getExplicitValuesForAxis(
     if(!xAxis.is())
         return false;
 
-    rtl::Reference< BaseCoordinateSystem > xCooSys = 
AxisHelper::getCoordinateSystemOfAxis(xAxis, mrChartModel.getFirstDiagram() );
+    rtl::Reference< BaseCoordinateSystem > xCooSys = 
AxisHelper::getCoordinateSystemOfAxis(xAxis, 
mrChartModel.getFirstChartDiagram() );
     const VCoordinateSystem* pVCooSys = 
findInCooSysList(m_aVCooSysList,xCooSys);
     if(!pVCooSys)
         return false;

Reply via email to