chart2/source/controller/dialogs/DialogModel.cxx        |    7 +----
 chart2/source/controller/main/ChartController_Tools.cxx |   20 ++++++----------
 chart2/source/controller/main/ChartDropTargetHelper.cxx |    3 +-
 chart2/source/model/main/ChartModel.cxx                 |    2 -
 chart2/source/model/template/ChartTypeTemplate.cxx      |   11 ++++----
 5 files changed, 18 insertions(+), 25 deletions(-)

New commits:
commit 63e8c2ccd39263b24f644c3d0394044a2613eb88
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sat Jan 29 21:21:27 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sun Jan 30 10:13:30 2022 +0100

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

diff --git a/chart2/source/controller/dialogs/DialogModel.cxx 
b/chart2/source/controller/dialogs/DialogModel.cxx
index ddf422dbb1f9..08b171f47f00 100644
--- a/chart2/source/controller/dialogs/DialogModel.cxx
+++ b/chart2/source/controller/dialogs/DialogModel.cxx
@@ -779,7 +779,7 @@ void DialogModel::applyInterpretedData(
         return;
 
     m_aTimerTriggeredControllerLock.startTimer();
-    Reference< XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
+    rtl::Reference< Diagram > xDiagram( 
m_xChartDocument->getFirstChartDiagram());
     if( !xDiagram.is())
         return;
 
@@ -850,10 +850,7 @@ sal_Int32 DialogModel::countSeries() const
 
 ChartModel& DialogModel::getModel() const
 {
-    uno::Reference< frame::XModel > xModel = getChartModel();
-    ChartModel* pModel = dynamic_cast<ChartModel*>(xModel.get());
-    assert(pModel);
-    return *pModel;
+    return *m_xChartDocument;
 }
 
 } //  namespace chart
diff --git a/chart2/source/controller/main/ChartController_Tools.cxx 
b/chart2/source/controller/main/ChartController_Tools.cxx
index bf8caa1b20bb..cf42d00c08fd 100644
--- a/chart2/source/controller/main/ChartController_Tools.cxx
+++ b/chart2/source/controller/main/ChartController_Tools.cxx
@@ -610,20 +610,16 @@ bool ChartController::executeDispatch_Delete()
             }
             case OBJECTTYPE_LEGEND:
             {
-                uno::Reference< chart2::XDiagram > xDiagram( 
xChartDoc->getFirstDiagram());
+                rtl::Reference< Diagram > xDiagram( 
xChartDoc->getFirstChartDiagram());
                 if( xDiagram.is())
                 {
-                    uno::Reference< beans::XPropertySet > xLegendProp( 
xDiagram->getLegend(), uno::UNO_QUERY );
-                    if( xLegendProp.is())
-                    {
-                        UndoGuard aUndoGuard(
-                            ActionDescriptionProvider::createDescription(
-                                ActionDescriptionProvider::ActionType::Delete, 
SchResId( STR_OBJECT_LEGEND )),
-                            m_xUndoManager );
-                        xLegendProp->setPropertyValue( "Show", uno::Any( false 
));
-                        bReturn = true;
-                        aUndoGuard.commit();
-                    }
+                    UndoGuard aUndoGuard(
+                        ActionDescriptionProvider::createDescription(
+                            ActionDescriptionProvider::ActionType::Delete, 
SchResId( STR_OBJECT_LEGEND )),
+                        m_xUndoManager );
+                    xDiagram->setPropertyValue( "Show", uno::Any( false ));
+                    bReturn = true;
+                    aUndoGuard.commit();
                 }
                 break;
             }
diff --git a/chart2/source/controller/main/ChartDropTargetHelper.cxx 
b/chart2/source/controller/main/ChartDropTargetHelper.cxx
index ceb599569e16..dd53e2cf73ea 100644
--- a/chart2/source/controller/main/ChartDropTargetHelper.cxx
+++ b/chart2/source/controller/main/ChartDropTargetHelper.cxx
@@ -20,6 +20,7 @@
 #include "ChartDropTargetHelper.hxx"
 #include <DataSourceHelper.hxx>
 #include <ChartModel.hxx>
+#include <Diagram.hxx>
 
 #include <com/sun/star/chart2/XChartDocument.hpp>
 #include <com/sun/star/chart2/data/XDataProvider.hpp>
@@ -119,7 +120,7 @@ sal_Int8 ChartDropTargetHelper::ExecuteDrop( const 
ExecuteDropEvent& rEvt )
                             // @todo: get the title somehow and compare it to
                             // aDocName if successful (the document is the
                             // parent)
-                            Reference< chart2::XDiagram > xDiagram( 
m_xChartDocument->getFirstDiagram() );
+                            rtl::Reference< Diagram > xDiagram = 
m_xChartDocument->getFirstChartDiagram();
                             Reference< chart2::data::XDataProvider > 
xDataProvider( m_xChartDocument->getDataProvider());
                             if( xDataProvider.is() && xDiagram.is() &&
                                 
DataSourceHelper::allArgumentsForRectRangeDetected( m_xChartDocument ))
diff --git a/chart2/source/model/main/ChartModel.cxx 
b/chart2/source/model/main/ChartModel.cxx
index d017bac24398..9f22619448f2 100644
--- a/chart2/source/model/main/ChartModel.cxx
+++ b/chart2/source/model/main/ChartModel.cxx
@@ -836,7 +836,7 @@ void SAL_CALL ChartModel::setArguments( const Sequence< 
beans::PropertyValue >&
             Reference< chart2::data::XDataSource > xDataSource( 
m_xDataProvider->createDataSource( aArguments ) );
             if( xDataSource.is() )
             {
-                Reference< chart2::XDiagram > xDia( getFirstDiagram() );
+                rtl::Reference< Diagram > xDia = getFirstChartDiagram();
                 if( !xDia.is() )
                 {
                     rtl::Reference< ::chart::ChartTypeTemplate > xTemplate( 
impl_createDefaultChartTypeTemplate() );
diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx 
b/chart2/source/model/template/ChartTypeTemplate.cxx
index 72e6fe64be16..79aab231d265 100644
--- a/chart2/source/model/template/ChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ChartTypeTemplate.cxx
@@ -56,7 +56,7 @@ namespace
 void lcl_applyDefaultStyle(
     const Reference< XDataSeries > & xSeries,
     sal_Int32 nIndex,
-    const Reference< XDiagram > & xDiagram )
+    const rtl::Reference< ::chart::Diagram > & xDiagram )
 {
     // @deprecated: correct default color should be found by view without
     // setting color as hard attribute
@@ -107,18 +107,17 @@ void lcl_resetLabelPlacementIfDefault( const Reference< 
beans::XPropertySet >& x
     }
 }
 
-void lcl_ensureCorrectMissingValueTreatment( const Reference< chart2::XDiagram 
>& xDiagram, const rtl::Reference< ::chart::ChartType >& xChartType )
+void lcl_ensureCorrectMissingValueTreatment( const rtl::Reference< 
::chart::Diagram >& xDiagram, const rtl::Reference< ::chart::ChartType >& 
xChartType )
 {
-    Reference< beans::XPropertySet > xDiaProp( xDiagram, uno::UNO_QUERY );
-    if( xDiaProp.is() )
+    if( xDiagram.is() )
     {
         uno::Sequence < sal_Int32 > aAvailableMissingValueTreatment(
             ::chart::ChartTypeHelper::getSupportedMissingValueTreatments( 
xChartType ) );
 
         if( aAvailableMissingValueTreatment.hasElements() )
-            xDiaProp->setPropertyValue( "MissingValueTreatment", uno::Any( 
aAvailableMissingValueTreatment[0] ) );
+            xDiagram->setPropertyValue( "MissingValueTreatment", uno::Any( 
aAvailableMissingValueTreatment[0] ) );
         else
-            xDiaProp->setPropertyValue( "MissingValueTreatment", uno::Any() );
+            xDiagram->setPropertyValue( "MissingValueTreatment", uno::Any() );
     }
 }
 

Reply via email to